金融市場で最も注目度の高い経済指標の一つである米雇用統計を機械学習を用いて予測してみた。
#米雇用統計とは
非農業部門で働く就業者数を集計したもので、通常、毎月第一金曜日に発表される経済指標。
米連邦準備理事会(FRB)は「雇用の最大化とインフレの安定」というデュアルマンデートを持っていることもあり、雇用情勢を図る上で非常に注目度は高いものとなっている。
#データ
2002年1月から2021年2月までのデータから、パンデミックによる外れ値(2020年3月から9月)を除いた223個を使用。非農業部門雇用者数変化(前月比)を目的変数とし、ADP雇用統計や新規失業保険申請件数、消費者信頼感指数の雇用見通し等、21個を特徴量として採用した。
#特徴量エンジニアリング
消費者信頼感の雇用見通しについて、"positive - negative, positive/negative"等、四則演算を用いてさらに特徴量を生成。日付データに三角関数を適用することで、月毎のシーズナリティも考慮した。
また、偽の特徴量を追加し、検定により特徴量を15個まで削減した(Boruta)。
#アルゴリズム
ランダムフォレストを採用。LightGBMやXGBoostも試したが、データ数が少ないためか収束せず。
#ハイパーパラメータチューニング
optunaを用いて以下のハイパーパラメータをチューニングした。
rf_max_depth = trial.suggest_int('rf_max_depth', 2, 32)
n_estimators = trial.suggest_int('n_estimators', 10, 100, 10)
max_features = trial.suggest_loguniform('max_features', 1e-1, 1)
#結果
絶対平均誤差(MAE)と決定係数(R2)を用いてモデルを評価した。誤差の単位は[千人]。
データ処理前 | 特徴量エンジニアリング後 | ハイパーパラメータチューニング後 | |
---|---|---|---|
MAE | 86.6 | 76.8 | 73.7 |
R2 | 0.778 | 0.850 | 0.869 |
#終わりに
毎月金曜日発表の非農業部門雇用者数は速報値であり、発表後二ヶ月に渡り遡及改定される。速報値と改定値の誤差と決定係数は以下の通りであり、このブレが雇用統計予測モデルの限界である。
速報値と改定値 | |
---|---|
MAE | 56.1 |
R2 | 0.886 |
また、説明変数に用いたADP雇用統計は、雇用統計に合わせた年次改定を行っているため、上記のモデルではLeakageの影響が入ってしまっている。とはいえ、ADP雇用統計は、非農業部門雇用者数の予測をするために開発されたものであり、説明変数としては外せなかった。