Step 3 確認クイズ
需要予測モデルの構築に関する確認クイズである。5問中4問以上の正解で合格となる。
Q1. SARIMA
SARIMA(1,1,1)(0,1,1,7)の「7」が意味するものとして正しいのはどれか?
- A) 過去7期間の自己回帰
- B) 7回の差分
- C) 季節周期が7(週次)
- D) 7次の移動平均
正解: C) 季節周期が7(週次)
解説: SARIMA(p,d,q)(P,D,Q,s)のsは季節周期を表す。s=7は日次データにおける週次季節性を意味し、7日前のデータとの関係をモデル化する。
Q2. 特徴量エンジニアリング
時系列MLにおけるラグ特徴量の作成で、情報漏洩を防ぐために正しい方法はどれか?
- A) shift(0)で当日のデータを使う
- B) shift(1)以上で過去のデータのみを使う
- C) shift(-1)で翌日のデータを使う
- D) ランダムにシフト量を決める
正解: B) shift(1)以上で過去のデータのみを使う
解説: 予測時点で利用可能な情報のみを特徴量にする必要がある。shift(0)は当日(まだ観測されていない)、shift(-1)は未来のデータを使うため情報漏洩となる。shift(1)以上で過去の確定したデータのみを使う。
Q3. Prophet
Facebook Prophetの主要な3つの成分として正しい組み合わせはどれか?
- A) 自己回帰、移動平均、ノイズ
- B) トレンド、季節性、祝日効果
- C) レベル、スロープ、曲率
- D) 平均、分散、共分散
正解: B) トレンド、季節性、祝日効果
解説: Prophetは y(t) = g(t) + s(t) + h(t) + ε(t) で構成される。g(t)はトレンド(区分線形またはロジスティック成長)、s(t)は季節性(フーリエ級数)、h(t)は祝日・イベント効果を表す。
Q4. LightGBMのtweedie損失
LightGBMでtweedie損失関数を使用する理由として最も適切なのはどれか?
- A) 計算速度が最も速いため
- B) ゼロ値が多い売上データに適しているため
- C) 分類問題に適しているため
- D) 正則化が不要になるため
正解: B) ゼロ値が多い売上データに適しているため
解説: Store Salesデータでは売上がゼロのレコードが多く存在する(ゼロ膨張データ)。Tweedie分布はゼロを含む非負の連続値をモデル化でき、このようなデータに適した損失関数である。
Q5. アンサンブル予測
加重平均アンサンブルの重みを決定する方法として最も適切なのはどれか?
- A) モデルの学習速度に基づいて決める
- B) モデルの複雑さ(パラメータ数)に基づいて決める
- C) バリデーションデータでの性能に基づいて最適化する
- D) 常に均等配分(1/N)にする
正解: C) バリデーションデータでの性能に基づいて最適化する
解説: 加重平均の重みは、バリデーションデータで目的関数(RMSLE等)を最小化するように最適化する。単純な均等配分よりも高い精度が期待でき、scipy.optimizeのminimize関数などで求められる。
結果
- 4問以上正解: 合格。Step 4に進もう。
- 3問以下: Step 3のレッスンを復習してから再挑戦しよう。
推定所要時間: 30分