Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
二項分布 $B(n, p)$ に $Z$ が従うとき, $n$ が大きい場合, 分布関数は, $$P(Z \leq x) \approx \Phi \bigg( \frac{x - np}{\sqrt{np(1-p)}}\bigg)$$ と近似できる($\Phi(\cdot)$ は正規分布 $N(0, 1)$ の分布関数). これを二項分布の正規近似という. ところで, 二項分布は離散分布であるから, $x$ が整数値であれば, 任意の $x' \in (x, x+1)$ に対して, $P(Z \leq x') = P(Z \leq x)$ であり, $$P(Z \leq x) \approx \Phi \bigg( \frac{x' - np}{\sqrt{np(1-p)}}\bigg)$$ とも近似できる. そこで, 中間をとって, $$P(Z \leq x) \approx \Phi
各モデルの詳細はWikipedia等を参照していただくとして,基本的にARMAは,AR , MAを含有するモデルであり, ARIMA は,ARMA を含むモデルなので,ライブラリとしては ARIMA がサポートされていれば,上記4つのモデルはすべて対応可能となる.但し,StatsModelsではAPIとしてAR, ARMA, ARIMA が用意されている. 今回,分析を行うデータとして,"Nile" を取り上げた. Nile River flows at Ashwan 1871-1970 This dataset contains measurements on the annual flow of the Nile as measured at Ashwan for 100 years from 1871-1970. There is an apparent changepoint ne
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? リスト(順次追加) 基本 非線形方程式: 二分法 Newton法 常微分方程式: Euler法 2次のRunge-Kutta法(中点法、Heun法) 4次のRunge-Kutta法 scipy.integrate.odeint 数値積分: 台形則 Simpson則 モンテカルロ法 線型連立方程式(直接法): Gauss-Jordanの消去法 Gaussの消去法 LU分解法 線型連立方程式(反復法): Jacobi法 Gauss-Seidel法 補間と近似: Lagrangeの補間法 Newtonの補間法 スプライン補間 最小二乗法 有限
はじめに 複数の特徴量を含むデータセットを分析する際,ランダムフォレストに代表される決定木ベースのアンサンブル分析器では,特徴量の重要度を算出することができます.これまで,私はブラックボックスとしてこの機能を使ってきましたが,使うツールが増えてきたので,少し使い方を整理したいと思います. まず重要度算出のアルゴリズムですが,"はじめてのパターン認識"(11章)から引用させていただきます. Out-Of-Bag(OOB) 誤り率は次のように計算する.ランダムフォレストは,一つの木を作るときにブートストラップにより使用する学習データを選んでいる.その結果,約1/3のデータは学習に使われない.ある学習について,その学習データが使われなかった決定木のみを集めて部分森を構成し,その学習データをテストデータにして誤りを評価することができる. 決定木ベースのアンサンブルを行う際,上記の方法でOOB誤り率
2.7.5. Scipyでの実践的な最適化のためのガイド 2.7.5.1. 手法の選択 すべての手法はscipy.optimize.minimize()のmethod引数として利用できます。 勾配が未知の場合: 一般的には、数値的に勾配を近似する必要がある場合でも、BFGSやL-BFGS が好ましいです。 これらはどちらもmethod引数を省略した場合のデフォルトで、問題に拘束条件や境界があるかによって選ばれます。 良条件下ではPowellやNelder-Meadの両者は勾配を必要とせず高次元でもうまく動きますが悪条件の問題ではこれらは挫折します。 勾配が既知の場合: BFGSまたはL-BFGS。 BFGSの計算オーバーヘッドはL-BFGSより大きく、L-BFGSは共役勾配法よりも大きくなります。一方で BFGSはたいていの場合でCGと比べて少ない関数評価で済みます。なので共役勾配法は関数
1.はじめに 最近,自作の3次元骨組構造解析プログラムで計算を行っているが,自由度が大きくなると計算に時間がかかるのが気になりだしました. 6000自由度(行列サイズは 6000 x 6000)となると,numpy.linalg.solve では計算時間は10秒近くかかります.これを何十ケースもやるとなると,コンピュータの前で待っているのは手持ち無沙汰です.そこで何か早くする方法はないものかと探っていて見つけた方法が,scipyの疎行列計算の活用です. 結果からいうと,下表の通り,疎行列処理の導入により,十分に早くなります.自由度が小さく1秒以下の計算での違いなどは気になりませんが,自由度が大きい場合に1ケース9秒が3秒になる時間短縮は大きい!そこで,この記事では,疎行列計算ライブラリを用いた連立一次方程式解法の簡単な例と,実際のFEMプログラムへの実装を説明します.実装と行っても,プログ
In the previous 2 articles, we detailed the steps on how to build a trading strategy on SmartTrade from scratch, and one using ta-lib and one using our own custom functions. If you have not read it yet, please click here. Below assumes you already know the basics on how to build and run a strategy on SmartTrade. Today, we would like to show an example implementing a strategy using the statsmodel l
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import scipy.spatial as ssp def point_in_hull(point, hull, tolerance=1e-6): return all( (np.dot(eq[:-1], point) + eq[-1] <= tolerance) for eq in hull.equations) def main(): N = 100 points = np.random.rand(N, 2) idx_bases = np.random.choice(range(N), 5, replace=False) bases = points[idx_bases, :] # hull hull = ssp.ConvexHull
データ 平日では下記のような傾向が見られる。 1日のデータ推移 季節によって上下にシフト 夜間少なく昼間に多いデータ 6時に急激に増え、18時に急激に減る 11時、14時頃に急激に少なくなる 検証 このあたりで作成した、力業でp,d,qの準最適なパラメータを求める。 予測期間2day(1hour更新)の場合 特殊条件 30分ごとに学習期間を30分シフトさせモデル構築 ハイパーパラメータの更新の有無で分岐 30分毎に学習時間をシフトさせて、モデルを更新する関数 下記の関数で、ぐるぐる回して最新の値だけDataframeにする。 本当に意味があるのだろうか? def TrainSarima(df,Start,End,Order,SOrder,ShiftM = 0): TrainResultsSARIMA = sm.tsa.statespace.SARIMAX(df.loc[pd.to_date
概要 SARIMAモデルを用いた、時系列データ分析におけるプログラミング中に起きたエラー プログラム初心者の私に起きたので、同じ初心者の方の解決になれば… SARIMAモデルには、(p,d,q)(P,D,Q,S)といったハイパーパラメータを入れてあげなければならない。総当り法でp,d,q,P,D,Q(Sは24で固定)を求め、最もaicが低いパラメータを採用するプログラムを作った。 問題 len()使えないからだめだよ。長さないよ。って怒られました。 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-12-997d8c7cdfa2> in <module>() 5 SARIM
最小二乗法による最適化をしたい場面に使えるscipyの関数を一部まとめています。原理的にはscikit-learnで回帰分析やscipyのカーブフィットを行うことと変わりないですが、扱う係数行列が巨大であったり、スパースであったり、もしくは明示的に最小二乗法をときたい場合には以下の関数が使えます。 なお、この記事では全て重みなし最小二乗法を扱っています。 最小二乗法の原理 いま、最小二乗法における目的関数を以下のように定義します。 ここで、$x$と$y$はそれぞれ説明変数と被説明変数の関係にあり、モデル$f(x;\beta)$はパラメータ$\beta$に関して線形です。モデルの未知パラメータ$\beta$を求めるため、残差$e$の二乗和を最小化することが目的です。web記事には基本的にこの線形回帰モデルのカーブフィット問題として説明されていることが多い印象です。 一方、上式後半は行列形式に
class SMWrapper(): def __init__(self, base_cls, fit_intercept=True, **params): self.base_cls = base_cls self.fit_intercept = fit_intercept self.params = params def fit(self, x, y, sample_weights=None): _x = sm.add_constant(x) if self.fit_intercept else x self.base_instance = self.base_cls(y, _x, freq_weights=sample_weights, **self.params) self.results = self.base_instance.fit() return self def sco
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く