見出し画像

時系列データをpython【#2.5】ARモデル→もう1回だけ

以下の本から時系列データの部分を勉強しましたので、少しここに書こうと思います。※アフェリエイトはしていません。でもこの本はすごくいい本なので、これで知識を増やす、勉強するのはいいことだと思います。(アフェリエイトではなく、自分の一生ものの能力をつけるために約3000円でこの本を買って、月給3000円上げようというモチベーションです。)

前回「ARモデル(Autoregressive model)」を理解できた気になりました。上記の11章が参考になりました。あと、オライリーのScikit-learn、Keras、TensorFlowによる実践機械学習の閉形式解を使っていました。

なんかまだわかってないことがありまして、、、結局ラグってなにで、あの係数はどのように作用するのだろうか、、、

最後のy_3の式あたりがよくわからない

ということで、具体的にラグを使って予測の仕方をChatGPT3.5に教えてもらいました。

自己回帰モデルの予測方法

わかった気がします。ラグ2のときは、2つ前までのデータを使って、予測値を計算する。では、前回出した係数を↓に貼ります。

閉形式解で係数を算出

13.1(定数項)、-1.1がy.L1、-0.8がy.L2の係数です。

では、はじめに疑問を持った、航空機乗客数のトレンドの予測に戻ります。ARモデルを適用した結果が↓です。

航空機乗客数のトレンドにARモデルを適用した結果
ARモデルの予測モデルのサマリ

はじめの予測値を手計算してみます。したい計算は↓です。

これを計算すれば、予測値になるはず
予測値を手計算

7、8、9行目あたりが↑の予測値の計算です。予測の値と同じ値になっています。自己相関と遅延項の関係は理解していないですが、いったんこれですっきりしました。

lags=1だと、1つ前のデータを使って予測、lags=2だと、2つ前と1つ前のデータを使って予測、lags=nだとn、n-1、…1つ前のデータを使って予測するということなので、上昇トレンドでも、直近のデータが低かったら、予測が下降することもありそうです。L1などの係数にもよりますが、、、

はぁ、これで次はARMAにいけそう、、、理解するって大変。

#python
#ChatGPT
#プログラミング初心者
#生成AI
#プログラミング教育
#GoogleColab
#時系列

この記事が気に入ったらサポートをしてみませんか?