- 問題
- 答え
- 解説
- AutoReg(自動回帰)モデルとは?
Python コード:
from statsmodels.tsa.ar_model import AutoReg import numpy as np np.random.seed(15) data = np.random.randn(50) model = AutoReg(data, lags=1).fit() print(model.params)
回答の選択肢:
(A) ARモデルのAIC
(B) ARモデルの係数
(C) ARモデルの残差
(D) ARモデルの予測値
[-0.10275387 0.14171812]
正解: (B)
回答の選択肢:
(A) ARモデルのAIC
(B) ARモデルの係数
(C) ARモデルの残差
(D) ARモデルの予測値
statsmodels
ライブラリのAutoReg
(自動回帰)クラスを使用して自動回帰モデルを学習するものです。
from statsmodels.tsa.ar_model import AutoReg import numpy as np np.random.seed(15) data = np.random.randn(50) model = AutoReg(data, lags=1).fit() print(model.params)
詳しく説明します。
statsmodels.tsa.ar_model
からAutoReg
をインポートします。これにより、自動回帰モデルのフィッティングを行うためのクラスが利用できます。
from statsmodels.tsa.ar_model import AutoReg
numpy
のrandom.randn
関数を利用して50個の標準正規分布に従う乱数を生成し、data
に格納します。
data = np.random.randn(50)
data
に格納されているデータは次のようになっています。
[-3.12328482e-01 3.39284706e-01 -1.55908534e-01 -5.01789673e-01 2.35568892e-01 -1.76360526e+00 -1.09586204e+00 -1.08776574e+00 -3.05170052e-01 -4.73748372e-01 -2.00594539e-01 3.55196773e-01 6.89517723e-01 4.10589675e-01 -5.64978437e-01 5.99390690e-01 -1.62936305e-01 1.60021450e+00 6.81627204e-01 1.48801013e-02 -8.77796322e-02 -9.82117840e-01 1.21690479e-01 -1.13743729e+00 3.49002578e-01 -1.85851316e+00 -1.16718189e+00 1.42489683e+00 1.49656536e+00 1.28993206e+00 -1.81174527e+00 -1.49830721e+00 -1.45014322e+00 -1.69390696e+00 2.27264028e-01 -4.89734711e-01 -5.28506514e-04 -4.90252617e-01 -7.93209422e-01 2.04889876e+00 6.03185439e-01 -9.98202078e-01 1.21504155e+00 -6.67516491e-01 -2.72505777e-01 1.41677448e+00 -7.82608958e-01 -2.50320697e-01 -3.08314461e-01 1.72968803e+00]
AutoReg
のfit
メソッドを呼び出してモデルの学習を行います。利用するデータはdata
、lags
パラメータに1を指定して、1ステップ前のデータに依存したモデル(AR(1)モデル)を想定しています。
model = AutoReg(data, lags=1).fit()
モデルのパラメータ(自己回帰の係数と定数項)をprint関数を用いて出力しています。
print(model.params)
[-0.10275387 0.14171812]
model.params
は、フィットした自動回帰モデルのパラメータを返します。これは、モデルの予測変数(自己回帰の係数)と定数項(切片)を示しています。
このコードでは、AR(1)モデルがフィットされ、そのパラメータは`[-0.10275387 0.14171812]`と出力されています。これは、最初の値(-0.10275387)がモデルの切片(定数項)、そして次の値(0.14171812)がモデルの自己回帰の係数(AR(1)の係数)を表しています。
自動回帰モデリングでは、自己回帰の係数は過去の値が現在にどれだけ影響を与えるかを示します。例えば、AR(1)のモデルでは、1時点前(ラグ1)の値が現在の値にどのくらいの影響を与えるかを示します。ここでは、その係数が約0.14となっています。
ちなみに、以下はparams
を含めたこのmodel
オブジェクト(ARモデルの学習結果)の属性とメソッドです。
_ar_lags
: 使用されたラグの数を返します。_df_model
: モデルの自由度(予測変数の数)を返します。_nobs
: 使用された観測値の数を返します。aic
: モデルのAkaike情報量規準(AIC)を返します。これは、モデルの適合度と複雑さを考慮しています。bic
: モデルのベイジアン情報量指標(BIC)を返します。これはモデルの適合度よりも複雑さである自由度に重きを置いています。bse
: モデルのパラメータの標準誤差を返します。conf_int
: モデルのパラメータの信頼区間を返します。fittedvalues
: フィットしたモデルによって予測された値を返します。fpe
: 最終的な予測誤差の対数値を返します。hqic
: モデルのHannan-Quinn情報量基準(HQIC)を返します。これは、モデルの複雑さと観測値の数を考慮しています。params
: モデルのパラメータ(自己回帰の係数)を返します。predict
: 新規の観測地点のモデルの出力を予測します。pvalues
: モデルのパラメータの各検定のp値を返します。resid
: モデルの残差(実際の観測値と予測値の差)を返します。summary
: モデルの要約統計量を出力します。
これらはAutoReg
モデルのフィットから得られる情報を提供し、モデルの適用性を評価し、予測を生成するために使用
AutoReg(自動回帰)モデルは、統計学および時系列分析において使用される一種のモデルです。このモデルは、過去のデータポイントを使用して将来のデータポイントを予測することに重点を置いています。自動回帰モデルは、特に時系列データを分析する際に有用です。
Contents
自動回帰モデルの数式表現
自動回帰(AR)モデルを数式で表現すると、以下のようになります。
AR(p) モデルの場合:
\displaystyle X_t=c+\phi_{1}X_{t−1}+\phi_{2}X_{t−2}+\cdots +\phi_{p}X_{t−p}+\varepsilon_tここで、
- X_tは時刻tでの時系列の値
- cは定数(切片)
- \varphi_{2}はモデルの係数(p個の遅延に対する係数)
- \phi_{1},\phi_{2},\cdots ,\phi_{p}はモデルの遅延の数(自動回帰の項の数)
- \varepsilon_tは時刻tでの誤差項(ホワイトノイズ)
このモデルでは、時系列X_tの現在の値は、過去t期間の値の線形結合として表されます。各遅延の値X_{t-1},X_{t-2},\cdots ,X_{t-p}はそれぞれに対応する係数\phi_{1},\phi_{2},\cdots ,\phi_{p}で重み付けされます。また、誤差項\varepsilon_tは通常、平均が0で一定の分散を持つランダムな変動を表します。
この数式は、時系列データが過去の自身の値にどのように依存しているかをモデル化するための基礎となります。モデルのパラメータ(c,\phi_{1},\phi_{2},\cdots ,\phi_{p})は、通常、最小二乗法や最尤法などの統計的手法を用いて時系列データから推定されます。
自動回帰モデルの特徴
- 過去の値の依存性: 自動回帰モデルでは、ある時点での変数の値が、その前の一つまたは複数の時点での値に依存していると仮定します。
- 遅延(Lag): 「遅延」とは、過去の値が現在の値にどの程度影響を与えるかを表す指標です。たとえば、遅延が2の場合、モデルは2期前の値を使用して現在の値を予測します。
- 線形性: 自動回帰モデルは通常、線形です。つまり、過去の値と現在の値の関係は線形の方程式で表されます。
- 定常性: このモデルは、分析される時系列データが定常的であるという仮定のもとで最適に機能します。定常性とは、時系列の統計的特性(平均、分散など)が時間とともに一定であることを意味します。
- パラメータの推定: 自動回帰モデルでは、過去のデータを基にパラメータ(例えば、遅延の係数)を推定します。
用途
- 予測: 経済データ、株価、気象データなどの将来の値を予測するのに使用されます。
- 時系列分析: 時系列データの構造やパターンを理解するために使用されます。
モデルの限界
- 非線形性や周期性の対応: 自動回帰モデルは基本的に線形であるため、非線形や周期性を持つデータには適用が難しい場合があります。
- 定常性の必要性: 非定常なデータには適切に対応できないことがあります。
自動回帰モデルは、AR(p)モデルとも呼ばれ、ここで「p」はモデルが遡及する遅延の数を表します。例えば、AR(1)モデルは1期前のデータのみを使用し、AR(2)モデルは2期前のデータまでを使用します。