- 作成者:Srikokcharoen Phongwit (パイ)
- 作成日:2025年3月4日 修正第1回2025年3月13日
- 連絡先:GitHub (bamboo51), Email: [email protected]
不明な点があったら,以上の連絡までお願いします.
本プロジェクトに使用するデータセットは東北大学データ駆動科学・AI教育研究センターの酒井正夫先生と仙台市が収集したものである.このデータセットを共有したことについて謝辞を申し上げます.
東北大学の酒井正夫先生が仙台市の中にBluetooth Low Energy (BLEセンサー)を設置して,周囲に通ったBluetoothデバイスの情報を収集した.本研究はその収集したデータの一部である「第1広瀬ビルの駐車場」を用いて,いくつかの特徴を探索して,そのデータを統計学的モデルSARIMAと深層学習モデルLSTMを用いた予測を行った.
- 本研究における統計的分析や予測は,作成者が当時参考にした書籍の知識をもとに実施したものである.これらを参考にする際や,本分析をそのまま正しいものとして扱う前に,時系列分析の専門家などに確認することを推奨する.
- LSTMやTransformerは実行環境によって結果が異なる.卒業論文で書いた結果は,Windows 11 24H2, Cuda 12.8, Cudnn 9.7
多くの課題は統計学モデルSARIMAにある.
- オーダー(p,d,q)(P,D,Q)の決定
- 自己相関・偏自己相関から求めたパラメータは合っているかどうか?
- 論文上にAutoARIMAの最初に探るパラメータとして設定したが,後でAutoARIMAに任せるので,必要ないかもしれない.
- 階差(d, D)の決定
- 普段はADFとKPSS検定を確認する必要があるかもしれない.
- 残差分析
- 残差分析の結果,SARIMAモデルはデータの全てのパターンを完全には捉えられていないことが判明した.
- 計算時間短縮のためのパラメータ再利用 (add-onで修正した)
- 通常,SARIMAは新しいデータを追加するたびにパラメータを再推定する必要がある.
- しかし,本研究では計算時間を短縮するため,前回学習済みのパラメータを初期値として設定し,再び回帰した.
- Nixtla AutoARIMAとStatsmodels SARIMAの違い (add-onで修正した)
- Nixtla AutoARIMAを使用して最適なモデルパラメータを特定し,Statsmodels SARIMAを用いてローリングフォーキャストを実施した.
- AutoARIMAの結果からオーダー(1,0,3)(2,1,0)が確認され,Statsmodels SARIMAを同オーダーで予測した.しかし,異なるライブラリーであるため,AIC値を確認したところ,異なるモデルだとわかった(深層学習に例えると、「転移学習」ではなく「新規学習」).
- 白石博, 時系列データ解析, 森北出版社, 2022.
- 斉藤康豨毅, ゼロから作るDeep Learning 2 自然言語処理編, 2018.
- Rob J Hyndman, George Athanasopoulos, "Forecasting: principles and practice, 3rd edition," 17 December 2024. [Online]. Available: OTexts.com/fpp3.
- Peter J. Brockwell, Richard A. Davis, Time Series: Theory and Methods, New York: Springer, 1991.
- M. Peixeiro, Time Series Forecasting in Python, New York: Manning Publications Co., 2022.(コードの引用・参考、詳細は
research_paperの各ファイルまで) - Tarek A. Atwan, Time Series Analysis with Python Cookbook, Packt Publishing, 2022.(コードの引用・参考、詳細は
research_paperの各ファイルまで) - Aileen Nielsen, Practical Time Series Analysis: Prediction with Statistics and Machine Learning, 2019.