ベンチマークモデル
概要
ベンチマークモデルは、Numeraiチームが構築した一連の標準モデルです。その予測は、毎ラウンド配布されるため、誰でも簡単にそれらを提出し、望むならステークすることができます。
モデルのリストとその最近のパフォーマンスはこちらです:
予測のダウンロード
検証およびライブの予測はNumerai APIを介して利用できます。
!pip install numerapi
from numerapi import NumerAPI
napi = NumerAPI()
napi.download_dataset("v5.0/train_benchmark_models.parquet", "train_benchmark_models.parquet")
napi.download_dataset("v5.0/validation_benchmark_models.parquet", "validation_benchmark_models.parquet")
napi.download_dataset("v5.0/live_benchmark_models.parquet", "live_benchmark_models.parquet")ベンチマークモデルの作成方法
ウォークフォワード交差検証
すべての予測はウォークフォワードフレームワークを使用して行われます。これは、すべての予測が、予測が行われる日付より前に利用可能なデータのみを使用してトレーニングされたモデルを使用して行われることを意味します。
具体的には、データは156Eraのチャンクに分割されます。それから、各Eraチャンクごとに、最初のEraチャンクからパージEraまでトレーニングされたモデルによって予測が行われます。パージEraの数は、20Dターゲットの場合は8であり、60Dターゲットの場合は16です。
したがって、モデルはEra1〜148でトレーニング、Era149〜156がパージ、Era157〜312で評価します。 次のモデルはEra1〜304でトレーニング、Era305〜312がパージ、Era313〜468で評価します。 ウォークフォワード交差検証のウィンドウは以下のようになります。
1
1
148
157
312
2
1
304
313
468
3
1
460
469
624
4
1
616
625
780
...
...
...
...
...
標準的な大規模なLGBMパラメータ
すべてのモデルは、以下のLGBMパラメータを使用します:
より多くの木を持つことが役立つことがわかりましたし、より深い木を持つことでより少ない木でも同様の結果が得られることもわかりました。詳細はこちらをご覧ください:https://forum.numer.ai/t/super-massive-lgbm-grid-search/6463
アンサンブル
すべてのアンサンブルは、以下の手順を使用します:
各Eraごとに予測をガウス化する
標準偏差が1になるように標準化する
予測を、各モデルごとに望ましい重みを表す重みベクトルとドット積する
結果の予測ベクトルをガウス化し、中和する特徴がある場合は中和する
ステップ1、2、および3は次のようになります:
中和
一部のモデルには中和(neutralize)が含まれています。これは、各特徴への予測の露出度を求めるために回帰を行い、その露出度を予測ベクトルから差し引いて、その結果がすべてのその特徴に直交するベクトルになるようにすることです。
以下は、いくつかの予測列(columns)をいくつかの特徴(ニュートラライザー)で中和するコードです。
ベンチマークモデルの命名規則
{data_version}_LGBM_{target}
これらは、データバージョン(V2、V3、V4、V41、V42、V43、V5)とターゲットの組み合わせを持つ多くのモデルがあります。
これらは、標準のウォークフォワード方法でトレーニングされたモデルであり、標準的なLGBMパラメータを使用し、指定されたデータバージョンとターゲットを使用しています。それだけです!
https://numer.ai/~benchmark_modelsから最新のデータバージョンのモデルを確認することができます。
Last updated
Was this helpful?