時系列予測のモデルやパラメータの決め方
リンクの時系列予測のサンプルプロジェクトにて、機械学習について専門的な知識が無い前提となるのですが、以下2点はどのように行うのが一般的でしょうか。
- モデルを決める場合の基準について、色々なモデルでやってみて精度が高いものを採用するのが一般的でしょうか。もしその場合は、こういった形のデータであればこのモデルを利用するなどの簡易的な指標などございますでしょうか。
- モデルの中の各パラメータを定める手順など一般的にどのような流れになるでしょうか。
https://downloads.dataiku.com/public/dss-samples/EX_TIMESERIE
Comments
-
LouisT Dataiker, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 3 Dataiker
機械学習ではよくあることですが、モデルとパラメータの選択はデータに依存し、どのモデルを選ぶかの明確なルールやフローチャートは存在しません。全てに当てはまるわけではありませんが、私のこれまでの経験に基づいたコツをお答えします。
モデルの選択
予測用のMLモデルには、大きく分けて2つのカテゴリーがあります。ここにはそれぞれの長所と短所を挙げます。
- 時系列モデル:
- 長所:
- 時系列データ専用:最小限のデータ準備で済みます(時系列データをDataikuのAutoMLに渡すだけ!)
- 通常、小規模なデータセットでより効果的です
- 短所:
- 外部特徴の扱いに限界があります(一部のモデルではまったく扱えません)
- “伝統的”なモデル:
- 長所:
- 外部特徴をより適切にサポートします:予測に役立つ追加情報、例えば天気などがある場合に有用です
- 特定のモデルは解釈可能性が高いです
- 短所:
- 高い精度を達成するためには、通常、特徴エンジニアリングが必要です(前日の値や前週の平均などのカラムを作成する)
- 通常、より多くのデータが必要です
結局のところ、これは多くの一般化です:どれを選ぶか不確かな場合、最良のアプローチは両方のオプションを試して最良のものを選ぶか、あるいは両方の組み合わせを持つことかもしれません。
パラメータの選択
細かい部分は選んだモデルとデータに依存しますが、毎回使える一つの方法は経験的なものです:さまざまなパラメータを試して、テストデータで最高の精度を出すものを選びます。Dataikuでは、異なるハイパーパラメータを試すことができ、AutoMLが自動的に最も性能の良いモデルを選択します。
樋口ルイ匠
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 137 Dataiker
@jun-suzuki
さん、ご質問ありがとうございました。 @LouisT
さん、ご回答ありがとうございます!ルイさんのコメントにあるように、予測対象やデータ内容によって、やはり個別に判断していく必要があると思います。検討にあたっては、以下のような情報も参考になると思いますので、外部情報とはなりますが、参考までにリンクを共有いたします。
> 1. モデルを決める場合の基準
・ARIMA、LightGBM、Prophetを使用した時系列解析
https://qiita.com/hasimotton/items/4fdc60b7305a582ce8f4
・時系列予測モデルの実践論4 -昔のKaggleを事例に-
https://datascience.nri.com/entry/2022/12/23/171432
・Multi-step Time Series Forecasting with ARIMA, LightGBM, and Prophet(英語)
https://towardsdatascience.com/multi-step-time-series-forecasting-with-arima-lightgbm-and-prophet-cc9e3f95dfb0> 2. モデルの中の各パラメータを定める手順
・ARIMAモデルで時系列データの予測をします〜Python
https://lunarwoffie.com/arima-timeseries-prediction-jp/ -
jun-suzuki PartnerApplicant, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 6 ✭✭✭
ご回答頂き誠にありがとうございます。
モデルの決め方について詳細にまとめていただきありがとうございます。
こちらを参考にしながら色々と試して経験値を積み、適したモデルの当たりを付けられるように勉強を進めます。
@TsuyoshiK
ご参考のリンクを頂きありがとうございます。こちらもご参考にさせていただきます。