機械学習

株でも使える?テクニカル指標(特徴量)選択方法まとめ

今日は特徴量の選択方法に関して忘れないように簡単にまとめていきます。

自動特徴量選択

株でもそうですが特徴量をどう選ぶかでストラテジーの性能が大きく変化します。

機械学習のモデリングでも株のストラテジー作成でも掛け合わせたりすれば無限に特徴量を作れます。

 

ただ、特徴量を追加すればするほどモデルが複雑になり凡化性能(新しいデータに対するパフォーマンス)が落ちます。

 

なので特徴量を選択する方法はモデル構築のためには必須になります。

今日まとめていくのは下の3点になります。

・単変量統計

・モデルベース選択

・反復選択

単変量統計

個々の特徴量を個別に考慮して(他の特徴量と組み合わさって意味を持つような特徴量は捨てられる)ターゲットへ影響するかを調べる方法で、統計学で用いられる分散分析として知られている手法となります。

分散分析とはA,B,Cというグループがあった時に、全て同じ母平均を持つ集団からサンプリングしたのか、もしくは違うのかを分析する手法となります。

どのグループが違うのか(A or B or C)を特定するには多重比較を行う必要があります。

yaaku

統計学もっと勉強しとけばよかった…

で後はselectで説明変数を変換することで使用できます。

モデルベース選択

教師ありデータ(事前に目的変数と独立変数がわかっているデータ)を用いて個々の特徴量の重要性を判断し、大事なものだけを残す手法となります。

 

例えば80個の特徴量があった場合、全てを用いてモデルを作成した後に特徴量の重要性を指定した数(例えば40個)だけランク付けをすると、40個の特徴量が抽出されます。

 

単変量と違い全ての特徴量を同時に考慮するので変数間の交互作用を捉えられます(捉えられるモデルを選べば)

後はselectを用いて変数を変換することで使用できます。

 

またL1ペナルティ(Lasso)を用いた特徴量の選択もこの方法となるそうです。

前処理としてLassoを用いてその後別のモデルで使う特徴量を選択する方法はストラテジー開発でも使えそうですね。

反復特徴量(再帰的特徴量削減)

全ての特徴量でモデルを作成してモデルを作り、そのモデルで最も重要度が低い特徴量を削除する。そしてまたモデルを作り最も重要じゃないものを削除します。これを指定の特徴量の数になるまで繰り返します。

 

やーく

上でまとめたモデルベース特徴量選択を反復して1個ずつ特徴量を削っていく方法だね

後はselectを用いて変数を変換することで使用できます。

まとめ

ライブラリーを用いれば数行で変換ができて便利ですね。

株でもあらゆる外部指標を入れて何が大事かを判断することは可能なのでやってみたいと思います。

もしこれでモデリングができるなら将来的には板情報など今簡単に取得できないデータ(蓄積できないデータ)を用いていかないとダメかもしれませんね。

yaaku

勉強がんばりましょう~