XGBoostを用いた時系列データ予測における特徴量エンジニアリングについて

前提

機械学習初学者です。
時系列性を考慮した回帰問題の勉強のため、中国で収集されたデータを用いてPM2.5の濃度を環境データから予測する課題に取り組んでいます。
【与えられたデータ】
中国北京市順義区で収集されたデータ。収集期間は2013/3/1~2016/2/29で収集間隔は1時間です。

  • PM2.5濃度(μg/m^3)
  • SO2濃度(μg/m^3)
  • NO2濃度(μg/m^3)
  • CO濃度(μg/m^3)
  • O3濃度(μg/m^3)
  • 気温(℃)
  • 気圧(hPa)
  • 露点温度(℃)
  • 降水量(mm)
  • 風向
  • 風速(m/s)

行ったこと

・2013/3/1~2015/2/28を訓練データ、2105/3/1~2016/2/29をテストデータに分割し、訓練データに対してのみ欠損値補完を行いました。(テストデータには極力干渉しないほうが良いと考えたため)

・これらのデータに対し、XGBoostを用いて学習しました。(参考にしたサイト:https://www.salesanalytics.co.jp/datascience/datascience102/)

・optunaを使ってXGBoostのパラメータ探索を行いました。

質問したいこと

特徴量重要度をグラフ化してみた結果以下のようになりました。
※clusterは気温(temp)、気圧(pres)、露点温度(dewp)をクラスタリングした特徴量です。
※temp_diffは気温の一次階差で(現在の気温)-(一時間前の気温)の計算結果です。
※woyはは年始からの経過週です。
イメージ説明
また、与えられたデータに含まれる特徴量のヒートマップを以下に示します。
イメージ説明

以上二点の画像を踏まえて4つの質問があります。

①特徴量重要度において値の低い風向(wind_dire)、気温の一次階差(temp_diff)、風速(wd)を削除しようと考えているんですが特徴量重要度が低いことを理由に特徴量を減らして良いのかどうかについて。

②特徴量重要度においてCO一強状態になっていますがこれに対策を講じたほうが良いのかどうかについて。COの特徴量が欠損した場合や外れ値であった場合に精度が落ちるのではないかなどと危惧しています。

③ヒートマップに示された特徴量どうしの相関係数をもとに特徴量を取捨選択しても良いのかどうかについて。相関係数は二つの変数が正規分布に従うという仮定のもと計算しているものだと私は認識しています。COとtempのQQプロットを示すと、
イメージ説明
イメージ説明
となっており、特徴量の分布が正規分布ではなさそうです。このような場合のヒートマップの相関係数を信用していいのかどうかについて知りたいです。

④精度向上について。
精度向上についてのアドバイスが欲しいです。
例)
「そもそもXGBoostより○○のほうが良さそう」
「欠損値補完では線形補完ではなく○○のほうが良さそう」
「○○のクラスタリング特徴量が良さそう」
「○○という記述統計量を追加してもいいかもしれない」
等でお願いします。

コメントを投稿

0 コメント