【時系列分析】八村塁選手のWikipedia閲覧数を予測したい【ARIMAモデル】
こんにちは、らんそうるいです。遂に時系列分析に手を出してしまったので、勉強の成果をアウトプット&実験をしたいと思います。使用するデータは八村塁選手のWikipediaの閲覧数データです。伝統的な時系列分析にはボックス・ジェンキンス法というフレームワークがあるので、それに従って分析を行ってみました。
データの確認
Wikipediaの閲覧数データは1日単位で入手できます。2021年8月13日~2022年8月2日までのデータを用いました。
まず、縦軸を閲覧数・横軸に日付をとって折れ線グラフで閲覧数の推移を可視化しました。それが↓です。閲覧数は大体500〜1000の間にありますが、2000を超えるスパイクが散見されますね。
試行錯誤して気づいたのですが、生の閲覧数(原系列)や前日の閲覧数を引いたデータ(差分系列)よりも「対数をとってから前日の閲覧数を引いたデータ」(対数差分系列)をとった方が予測の精度が上がったので、その折れ線グラフも示します。スパイクが目立たなくなって、確かに扱いやすそうです。
精度の検証を行うために、2022年7月27日〜8月2日までの閲覧数をテストデータとして避けておきます。
モデルの選択
Rのforecastライブラリのauto.arima()関数を用いて、AICを使ったモデル選択を行いました。その結果、原系列・対数系列のいずれでもARIMA(3,1,3)が選ばれました。(*auto.arima()関数は自動でデータの定常性を判定してくれます)。
残差のチェック
残差のチェックでは、残差に自己相関があるかどうか、残差が正規分布しているかどうか、を確認しました。
差分系列
残差の自己相関が残っているし、残差は正規分布していないことが分かりました。
対数差分系列
残差に自己相関はほとんどないようです。残差の正規性はマシになったとはいえ、イマイチです。
(残差のチェックはどれくらい厳しく行うものなのか、有識者様からご意見伺いたいです……)
予測
ARIMAモデルによって2022年7月27日〜8月2日の閲覧数を予測しました。その結果を示します。
実際の値(赤)との「差の絶対値の平均値」(MAE) は、差分系列への予測(青)では93.74、対数差分系列への予測(緑)では76.36でした。したがって、今回のデータでは対数をとった方が予測の精度は高かったです。変数の変換って大事なんだなぁ……
終わりに
以上、ボックス・ジェンキンス法に基づく時系列分析でした。時系列分析は初めてなので、有識者様のアドバイスいただきたいです。よろしくお願いします。