見出し画像

時系列データをpython【#2.6】ARモデルとラグ

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

前回「ARモデル(Autoregressive model)」を理解できた気になりました。ラグの違いと結果の違いを確認します。

ラグを1から8まで変化させて予測値の違いを確認しました。

ARモデルのラグを変化させてグラフ化するコード

グラフが↓です。

ARモデルのラグを変化させたグラフ

"期"と呼ぶことに慣れていませんのでラグでいきます。ラグが1なら1つ前しか影響しない、ラグが2なら2つ前まで合計2つの影響あり、、、いっぱい見れば、予測精度は上がりそうですかね。。。

ラグが2つなら、予測値に使うのは2つ前まで

じゃあラグは増やしてみようと思って、データ数144個に対していろいろ試すと、ラグが71(データ数の半分-1)まで使えませんでした。定数項を抜いて半分までしか使えないのかな??

ARモデルのラグを変化させたグラフ2

google colabのデバッグだと↓、翻訳すると「エラー メッセージは、データ ポイントよりも多くのリグレッサー (ラグ) があるため、モデルを推定できないことを示します。これを修正するには、モデルで使用されるラグの数を減らします。」とのことです。やっぱり設定できるラグには限りがあるようです。理由は、少し調べましたが、chatGPT曰くデータ数-1までは設定できそうなのですが、、、なんで半分-1なんだろう。。。ちゃんとデータは144個というのは確認したのですが、、、
結果の考察してなかった。今回はデータ数が144個に対して、18個、すなわち1/8の割合を使えば、それっぽい予測ができました。(勝手に形を見て、それっぽいって言ってますが)どんな周期をもつかにもよると思いますので、いろいろ試したほうがよさそうですね。18個で1周期なのかなぁ。いや、そしたら、グラフのとげとげは144/18=8個のハズだけど、8個以上あるからなぁ。グラフのとげとげは12個くらいあるので、1.5周期分のデータを使って予測したのか。何かあったら、この数値(1.5周期分)を目安にARモデルを使ってみよう。

デバッグ時のメッセージ

次回、MAモデル(Moving Average model)を勉強します。


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

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