Ape Creation 論文募集|定常時系列予測アルゴリズムのための時系列解析アルゴリズムと自己回帰モデル(AR)詳細解説+Pythonコード実装

目次

序文

1.定常時系列予測アルゴリズム

1. 時系列の分布関数、平均関数、共分散関数

確率分布

平均関数

自己共分散関数

自己相関関数

2. 定常級数の自己共分散と自己相関関数

自己共分散関数

自己相関関数

定常シーケンスの自己共分散シーケンスと自己相関関数シーケンスのプロパティ

3. 厳密に定常的な時系列

4. ワイド定常時系列

5. 接触と区別

接続

違い

6. ホワイト ノイズ シーケンス

意味

7. IID シーケンス

意味

2. 自己回帰モデル (AR)

意味

モデリング手順

最初の一歩:

ステップ2:

3 番目のステップ:

4番目のステップ:

モデル決定

ケース実現

注意してください、迷子にならないようにしてください。間違いがある場合は、メッセージを残してアドバイスをお願いします。どうもありがとうございました

見る



序文

平滑化方法の説明とアルゴリズムのシミュレーションに約 1 か月かかりましたが、私の意見では、説明は非常に詳細であり、コードと原理は比較的理解しやすく、コードの実装はほとんど難しくありません。時系列分析アルゴリズムを詳細に理解または習得するための提案がない場合は、私のコラムを購読できます: One Text Quick Learning - Common Models for Mathematical Modeling . 各シーンに含まれる分析および予測モデルは基本的に利用可能であり、平滑化方法のすべての方法は次のとおりです。

含まれています。次に、定常時系列予測アルゴリズムを調べて導き出します。ただし、定常時系列予測アルゴリズムの基本理論は非常に複雑であり、アルゴリズムをより簡単にマスターするには、基本理論をある程度理解する必要があります。したがって、オープニングの最初の章では、まずすべての理論的知識を理解します。

読者が読んだ後、コメント欄で間違いや意見を書き込めるようにして、ブロガーがブログを長期間維持し、適時に更新することを願っています。


1.定常時系列予測アルゴリズム

ここでの定常性とは、広い定常性を指します。これは、シーケンスの統計的特性が時間の変換によって変化しない、つまり、平均と共分散が時間の変換によって変化しないという事実によって特徴付けられます。時系列とは、特定の現象の特定の統計指標の値を異なる時点で時系列に並べたものを指します。定常時系列 大まかに言えば、平均に系統的な変化がなく (傾向がない)、分散に系統的な変化がなく、周期的な変化が厳密に排除されている場合、時系列は定常的であると言われます。

定常時系列は、時系列分析の最も重要な特殊なタイプです。これまで、時系列分析は基本的に定常時系列に基づいており、その方法と理論は非定常時系列の統計分析に限定されていました。

ここでは、時系列と対応するポイントの分布に関する基本的なプロパティを理解する必要があります。

1. 時系列の分布関数、平均関数、共分散関数

確率分布

時系列の分布関数を決定することは一般に不可能であるため、平均関数、共分散関数、自己相関関数、偏自己相関関数など、時系列のさまざまな特徴量の記述に注意が払われます。これらの特徴量は、多くの場合、ランダム変数の主な特性を表します。

平均関数

時系列\left \{ X_{t},t=0,t=(-1,1),t=(-2,2),..., \right \}の平均関数は次のとおりです。

 \mu _{t}\左 \{ X_{t} \右 \}平均関数であり、本質的に一連の実数であり、平均は各瞬間におけるランダム プロセスのスイング センターを表します。

自己共分散関数

 対称:\gamma (t,s)=\gamma (s,t)

自己相関関数

 自己相関関数は\左 \{ X_{t} \右 \}、時系列自体の相関構造を表します。時系列の自己相関関数は対称であり、p(t,t)=1

2. 定常級数の自己共分散と自己相関関数

自己共分散関数

それが定常シーケンスである場合\左 \{ X_{t} \右 \}、 と仮定EX_{t}=0すると、次の表記法を使用して定常シーケンスの自己共分散関数を表すことができます。

自己相関関数

 これに対応して、厳密に定常な系列の自己相関関数は次のように記述されます。

定常シーケンスの自己共分散シーケンスと自己相関関数シーケンスのプロパティ

定常時系列は、厳密定常時系列と広定常時系列に分けることができます。

3. 厳密に定常的な時系列

時間 t の任意の n 値の場合t_{1}<t_{2}<...<t_{n}、シーケンス内の確率変数のX_{t_{1}+S},X_{t_{2}+S}...,X_{t_{n}+S}結合分布は整数 S とは無関係です。つまり、次のようになります。

X_{t}厳密定常/狭定常/強定常時系列と呼ばれます。厳密に定常な確率分布は、時間に依存しません。

4. ワイド定常時系列

たとえば、時系列に有限​​の 2 次行列がありX_{t}、次の 2 つの条件が満たされているとします。

時系列は広義定常過程と呼ばれます。
広く定常的なプロセスにおける各確率変数の平均は一定であり、任意の 2 つの変数の共分散は時間間隔にのみ関係します(ts)

5. 接触と区別

接続

  • シーケンスが厳密に定常で、有限の 2 次行列をもつ場合、シーケンスも広義に定常でなければなりません。
  • 時系列が正規系列である場合(つまり、その有限次元分布が正規分布である場合)、その系列は厳密に定常なシーケンスであり、広範に定常的なシーケンスは互いに等価です。

違い

  • 厳密に定常な確率分布は時間の経過とともに不変であり、広義の系列の平均と自己共分散は時間の経過とともに不変です。
  • 厳密に定常なシーケンスは必ずしも広範に定常なシーケンスではなく、広範に定常なシーケンスは必ずしも厳密に定常的ではありません。

実際に議論される定常時系列は、広い定常時系列です。つまり、常に、シーケンスの平均と分散が存在し、一定であり、自己共分散関数と自己相関係数は時間間隔 k にのみ関連します。定常性により、時系列データがすべて同じ分布に由来することが保証されるため、統計分析に使用できるのは定常時系列のみです。単位根検定を使用して、時系列の定常性を検定できます。

定常時系列の系列値に相関がない場合は、前後のデータに規則性がなく、有効な情報をマイニングできないことを意味し、このような系列を純粋乱数系列と呼びます。純粋なランダム系列の中に、ホワイト ノイズ系列と呼ばれるランダムな系列があり、各周期の分散は一定です。定常時系列分析は、時系列間の関係を完全にマイニングすることにあり、時系列の関係が抽出された後、残りのシーケンスはホワイト ノイズ シーケンスになります。

6. ホワイト ノイズ シーケンス

意味

時系列\左 \{ X_{t} \右 \}が次のプロパティを満たす場合:

 次に、このシーケンスはホワイト ノイズ シーケンスと呼ばれます。
ホワイト ノイズ シーケンスは、特別な種類の広い定常シーケンスであり、最も単純な定常シーケンスでもあります。

7. IID シーケンス

意味

\左 \{ X_{t} \右 \}時系列の確率X_{t}変数が独立した確率変数でX_{t}あり、同じ分布を持つ場合 (最初X_{t}のモーメントがある場合は と見なされることがよくありますEX_{t}=0)、それは独立同分布シーケンスと\左 \{ X_{t} \右 \}呼ばれます。

 IID シーケンス\左 \{ X_{t} \右 \}は厳密に定常的なシーケンス
です. 一般的に言えば、ホワイト ノイズ シーケンスと IID シーケンスは 2 つの異なるシーケンスです。
しかしホワイト ノイズ シーケンスが通常のシーケンスである場合、それは独立した同一分布のシーケンスでもあります。このとき、通常のホワイト ノイズ シーケンスと呼びます。

第二に、自己回帰モデル ( ARと呼ばれる自己回帰モデル)

意味

自己回帰モデルは、時系列を処理する統計的手法です. x の前の期間などの同じ変数を使用して、現在の期間のパフォーマンスx_{1}x_{t-1}予測x_{t}し、それらの間の線形関係を想定します. これは回帰分析の線形回帰から発展したものですが、x から y を予測するのではなく、x を使用して x (自己) を予測するため、自己回帰と呼ばれます。

p 次の自己回帰モデルの自己相関係数はテーリングされ、p 次の偏自己相関係数は切り捨てられます。

 ここで、 c は定数項です。は\varepsilon _{t}、平均が 0 で標準偏差が に等しい\シグマランダム誤差値であると\シグマ想定されます。任意の t に対して定数であると想定されます。

 テキストの説明は次のとおりです。X の期待値は、1 つ以上のラグ期間と定数項とランダム エラーの線形結合に等しいです。

モデリング手順

最初の一歩:

ホワイトノイズ検出は時間の累積で行いますが、検査の結果、シーケンスがホワイトノイズであると判断された場合、前後のデータに規則性がなく、有効な情報をマイニングできません。検出がホワイト ノイズ シーケンスでない場合にのみ続行します。

ステップ2:

シーケンスの定常性をチェックし、テストで非定常と判断された場合はシーケンスの定常処理を実行し、最初のステップに進み、そうでない場合は 3 番目のステップに進みます。

3 番目のステップ:

モデルを特定し、そのパラメーターを推定して、4 番目のステップに進みます。

4番目のステップ:

モデルの適用可能性をテストします. テストに合格した場合, 適合したモデルを取得してシーケンスを予測できます. そうでない場合は, 3番目のステップに進みます.

モデル決定

観測された時系列について、白色雑音検出により非白色雑音であると判定され、定常性検定の後に定常であると判定された場合、相関係数と偏相関係数に従ってモデルが識別されることがよくあります。問題が AR モデルのモデリングに適しているかどうかを判断し、次数 p を大まかに決定します。

自己相関係数 SAF偏相関係数PACFを計算します。

時系列が次の 2 つの条件を満たしている場合:

  • ACF はテーリングです。つまり、k が定数よりも大きくなると、ACF(k) は 0 になりません。
  • つまり、k>p の場合、PACF(k) は 0 になります。(次数を決定するために使用されます。PACF は p 次遅延の後で厳密に 0 ではなく、0 付近の小さな範囲で変動します)

次に、AR モデルを試すことができます。

ケース実現

自己回帰は、statsmodels.tsa.ar_model パッケージの AutoReg を使用して Python で実装されます。

from statsmodels.tsa.ar_model import AutoReg

 この関数のパラメーターは次のとおりです。

ar_model = AutoReg(endog,
                   lags,
                   trend='c',
                   seasonal=False,
                   exog=None,
                   hold_back=None,
                   period=None,
                   missing='none',
                   *,
                   deterministic=None,
                   old_names=False)

ここでは一つ一つ説明しませんが、詳しく知りたい方は公式の説明をご覧ください。

statesmodels.tsa.ar_model.AutoReg — 状態モデル

通常、シーケンス エンドグとオーダー ラグのみを入力する必要があります。

endog: 1 次元の時系列である配列型を受け入れます。

ラグ: モデルの順序。整数の場合は、モデルに含めるラグの数、または含めるラグ インデックスのリスト。たとえば、[1, 4] にはラグ 1 と 4 のみが含まれ、ラグ =4 にはラグ 1、2、3、4 が含まれます。

from statsmodels.tsa.ar_model import AutoReg
import numpy as np
 
# 生成N(0,1)随机正态分布(白噪声)
noise = np.random.randn(200)
wnoise = (noise-np.mean(noise))/np.std(noise)
 
# 生成AR(2)线性序列 X(t)=0.5X(t-1)+0.1X(t-2)
X = [20,10]  # 初值
for i in range(200):
    x2 = 0.5*X[i+1]+0.1*X[i]+wnoise[i]
    X.append(x2)
 
# 2阶AR模型拟合(OLS)
AR2_model = AutoReg(X, 2).fit()  
# 模型预测第3到第202个时间点的数据
predict = AR2_model.predict(2,201)  
# 计算残差
residual = X[2:]-predict

AR 線形電荷をシミュレートして生成した後、AR2 次フィッティングを実行して予測値を取得し、matplotlib を使用して表示します。

import matplotlib.pyplot as plt
plt.figure()
plt.subplot(311)
plt.plot(X[2:])
plt.subplot(312)
plt.plot(predict)
plt.subplot(313)
plt.plot(residual)

 


注意してください、迷子にならないようにしてください。間違いがある場合は、メッセージを残してアドバイスをお願いします。どうもありがとうございました

この問題は以上です。私はファンスタックです. ご不明な点がございましたら, お気軽にメッセージを残してください. 次号でお会いしましょう.

見る

定常時系列の関連概念

(51) 時系列分析 II: 定常時系列分析 (ARMA)
モデル

自己回帰モデル AR(p) の Python 実装 [case]_Noema_pku のブログ - CSDN blog_python 自己回帰モデル

時系列分析 - 自己回帰 (AR)

おすすめ

転載: blog.csdn.net/master_hunter/article/details/126619423