機械学習の特徴が出なくて困っています
株価リアルタイム予測を行うモデルで1分毎に集約したデータをモデルに渡して5分後に上がる場合は1、そうでない場合は0を予想するモデルです。
トレーニングデータには現在値と比較割合を算出したり人間が判断して影響がありそうなデータはfactorにして特徴を出そうとしてトレーニングデータに渡しています
機械学習のライブラリはH2oを使用でnfoldsは5を設定し交差検定させています。
発生している問題
AUCが9割近く出るのですが実際のデータを渡すと全くのでたらめな結果となります。恐らくトレーニングデータの前後のレコードをテストデータとして使用している為、あたかも予想できたように振舞うのだと思い、fold_columnを設定すると予想通り全くAUCが6割で全く予想できていないことが判明しました。
該当のソースコード
使用するレコードの一部
現在値、高値、安値、5分足、25分足、50分足、出来高、VWAP、・・・その他200項目程
automl_models_h2o <- h2o.automl(
x = x,
y = y,
training_frame = train_h2o,
balance_classes = TRUE,
max_runtime_secs = 0,
nfolds = 5,
fold_column = "Day",
exclude_algos = c("DeepLearning","XGBoost"),
seed = 123
)
試したこと
・fold_column を変更
・時系列情報を5分遡って横展開して現在値と比較
・色々な組み合わせでfactorを作成
知りたい内容
パラメタ単体をグラフで確認しても人間の目では特徴が出ているようには見えない。
どうすれば特徴を出すことが出来るかが知りたい。例えば下記のようなことが出来るか。
・時系列データ横展開部分をAutoMLに時系列データとして渡すことは可能か。もしはロジスティック回帰のモデルを別に作成して予想結果した結果をAutoMLに渡すパラメタに含める工夫が必要か。
・必要なパラメタ、不要なパラメタをどのように判断すればよいか。上記したようにパラメタ単体で見ると特徴が見えにくい。
あなたの回答
tips
プレビュー