R Squaredを評価するのに必要なデータは?
データ収集の前にR Squaredを定義する
R Squared(多くの場合R²と表記)は、モデルの予測が観測された結果とどれだけ一致しているかを比較する要約数値です。一般的な考え方は、観測された従属変数の変動のうち、平均のようなベースラインに対してモデルがどれだけ説明できているか、というものです。
R Squaredを評価するには、まず使用されている厳密な定義を知る必要があります(たとえば、標準的な方法で全平方和と残差平方和から計算されるのか、あるいは「調整済み」バリアントが使われるのか、など)。基礎となるデータが似ていても、実装によって異なる数値が報告されることがあります。
必要なデータ入力
少なくとも、計算の従属側(dependent side)を再現するのに必要なすべての情報が要ります。
- 観測された従属変数の系列
- y値を構成する、時間インデックス付きの観測。
- サンプリング頻度(例:ティックごと、1分ごと、日次など)と、その単位。
- 時間アラインメントのルール(各y値が、どの予測子に「対応する」とみなされるか)。
- 予測値、または当てはめ済みモデル 選択肢は2つです。
- 予測値:同じ時間点に対する、モデルの予測y-hat値(同じ順序で)。
- もしくは、y-hatを生成するために必要なモデル入力:予測子系列(x値)、推定方法、そして当てはめによって得られたパラメータ。
- 分母で使われるベースライン ほとんどのR²の数式は、観測された従属変数の平均の周りの変動を反映するベースラインを使います。R²を正しく評価するには、どのベースラインが使われているのか、そして平均が残差と同じデータ分割(split)で計算されるのかどうかを知る必要があります。
出所(provenance)と前処理の確認
R²は単なる数式ではありません。系列に何が入っているかに依存します。
次を確認し、記録してください:
- データの出所:データがどこから来たのか(フィードまたはソース)、そしてどのように取得されたか。
- データのフィルタリングルール:エラー、祝日、外れ値、低い流動性などの理由で観測が削除されたかどうか。
- 欠損値の扱い:欠損が落とされたのか、フォワードフィルされたのか、補間されたのか、あるいは別の方法で処理されたのか。
- 変換:スケーリング、対数変換、差分、正規化などが適用されたかどうか、そしてそれが学習期間と評価期間で一貫しているかどうか。
重要なリスク:xとyが異なる前処理をされている場合、またはタイムスタンプがずれている場合、R²は真の説明力とは無関係な理由で高く見えたり低く見えたりすることがあります。
タイムリーさと分割(split)の前提
R²の値が意味を持つかどうかを評価するには、時間がどのように使われたかを知る必要があります。
次を文書化してください:
- R²が、モデルの当てはめに使った同じデータで計算されたのか、それとも保持データ(held-out data)で計算されたのか。
- 当てはめに使った時間窓と、評価に使った時間窓の具体的な範囲。
- ローリング(rolling)または拡張(expanding)ウィンドウのアプローチが使われたかどうか(このアプローチによって、報告される結果の意味が変わります)。
よくある失敗パターンは、in-sampleのR²を、将来の関係を表すかのように扱うことです。市場の振る舞いが変われば、過去の関係は変化し得るため、同じ手法でも後のデータでは異なるR²が得られる可能性があります。
証拠または例:独立して確認できること
独立した検証チェックリストには、少なくとも次が含まれるべきです:
- 使用された厳密なy系列を確認する(タイムスタンプ、単位、フィルタリング)。
- 報告された値が、y-hat予測を使っているのか、それとも保存されたモデルパラメータから再計算した予測を使っているのかを確認する。
- 厳密なR²の定義を確認する(調整済みR²が使われているかどうかも含む)。
- 提示された数値(y、y-hat、残差)から、明示された数式と同じデータ分割を用いてR²を再計算する。
これらのいずれかが欠けている場合、R²は完全には監査できません。多くの実装詳細が結果を変えるためです。
制限とリスク(重大な失敗モード)
少なくとも1つの制限として注意すべき点:
- モデル依存:R²は、特定のモデル形式のもとでの適合を反映します。関係が非線形であったり、時間とともに変化したりする場合、同じR²が誤解を招く可能性があります。
その他の重要な制限:
- 非定常性:データ生成プロセスが進化するなら、ある期間で高いR²が得られても後では成り立たないかもしれません。
- 過学習:モデルが柔軟すぎるとノイズに合わせてしまい、in-sampleのR²が膨らむことがあります。
- ノイズと稀な出来事への感度:ノイズの多い計測は、時間窓ごとに不安定なR²を引き起こし得ます。
- 誤解を招く比較:前処理、特徴量セット、評価分割が異なる場合、R²の値はモデル間で比較しにくくなります。