

交差検証[ 2 ] [ 3 ] [ 4 ]は、回転推定[ 5 ] [ 6 ] [ 7 ]またはサンプル外テストとも呼ばれ、統計分析の結果が独立したデータセットにどの程度一般化されるかを評価するための、さまざまな類似したモデル検証手法のいずれかです。交差検証には、異なる反復でモデルのテストとトレーニングにデータの異なる部分を使用するリサンプリングとサンプル分割法が含まれます。これは、予測を目的とし、予測モデルが実際にどの程度正確に機能するかを推定したい場合によく使用されます。また、適合したモデルの品質とパラメータの安定性を評価するためにも使用できます。
予測問題では、通常、モデルには、トレーニングを実行するための既知のデータセット(トレーニングデータセット)と、モデルをテストするための未知のデータ(または初めて見るデータ)のデータセット(検証データセットまたはテストセットと呼ばれる)が与えられます。[ 8 ] [ 9 ]クロスバリデーションの目的は、モデルの推定に使用されなかった新しいデータを予測するモデルの能力をテストし、過学習や選択バイアスなどの問題を特定し[ 10 ]、モデルが独立したデータセット(たとえば、実際の問題からの未知のデータセット)にどのように一般化されるかについての洞察を与えることです。
クロスバリデーションの1ラウンドでは、データサンプルを相補的なサブセットに分割し、一方のサブセット(トレーニングセットと呼ばれる)で分析を行い、もう一方のサブセット(検証セットまたはテストセットと呼ばれる)で分析結果を検証します。変動性を低減するため、ほとんどの手法では、異なる分割を用いて複数回のクロスバリデーションを実行し、各ラウンドの検証結果を統合(平均化など)して、モデルの予測性能の推定値を得ます。
要約すると、交差検証は予測における適合度の尺度を組み合わせ(平均化)して、モデル予測性能のより正確な推定値を導き出します。[ 11 ]
1つ以上の未知のパラメータを持つモデルと、そのモデルを適合させることができるデータセット(トレーニングデータセット)があると仮定します。適合プロセスでは、モデルがトレーニングデータにできるだけよく適合するように、モデルパラメータを最適化します。トレーニングデータと同じ母集団から独立した検証データサンプルを抽出すると、一般的に、モデルはトレーニングデータほど検証データには適合しないことがわかります。この差は、トレーニングデータセットのサイズが小さい場合、またはモデルのパラメータ数が多い場合に特に大きくなる可能性があります。交差検証は、この影響の大きさを推定する方法です。
線形回帰では、実際の応答値が存在する。、そしてn 個のp次元ベクトル共変量x 1、 ...、x nがあります。ベクトルx iの成分はx i 1、 ...、x ipと表記されます。最小二乗法を用いて、超平面ŷ = a + β T xの形の関数をデータ ( x i、y i ) 1 ≤ i ≤ n に適合させる場合、適合度は平均二乗誤差(MSE)を使用して評価できます。トレーニングセット ( x i、y i ) 1 ≤ i ≤ nにおける推定パラメータ値aおよびβに対する MSE は、次のように定義されます。
モデルが正しく指定されている場合、緩やかな仮定の下で、訓練セットの MSE の期待値は、検証セットの MSE の期待値の ( n − p − 1)/( n + p + 1) < 1 倍であることが示されます (期待値は訓練セットの分布に基づいて計算されます)。したがって、訓練セットに適合させたモデルと計算された MSE は、モデルが独立したデータセットにどれだけ適合するかについて、楽観的に偏った評価をもたらします。この偏った推定値は、適合度のサンプル内推定値と呼ばれ、交差検証推定値はサンプル外推定値と呼ばれます。
線形回帰では、モデル仕様が妥当であるという仮定の下で、訓練MSEが検証MSEを過小評価する係数( n - p - 1)/( n + p + 1)を直接計算できるため、交差検証を用いてモデルが過学習していないかを確認できます。過学習している場合は、検証セットのMSEが予想値を大幅に上回ります。(線形回帰における交差検証は、最適な正則化コスト関数を選択するためにも有用です。)
他のほとんどの回帰分析手法(例えばロジスティック回帰)では、サンプル外データに対する適合度を計算するための単純な公式は存在しません。そのため、交差検証は、理論的な分析の代わりに数値計算を用いて、入手できないデータに対するモデルの性能を予測するための、一般的に適用可能な方法と言えます。
交差検証には、網羅的交差検証と非網羅的交差検証の2種類がある。
網羅的な交差検証法とは、元のサンプルを訓練セットと検証セットに分割するあらゆる可能な方法について学習およびテストを行う交差検証法のことです。
リーブ-p-アウト交差検証(LpO CV )では、 p個の観測値を検証セットとして使用し、残りの観測値をトレーニングセットとして使用します。これは、元のサンプルをp個の観測値からなる検証セットとトレーニングセットに分割するすべての方法について繰り返されます。[ 12 ]
LpOのクロスバリデーションでは、モデルのトレーニングと検証が必要です。回、ここでnは元のサンプルの観測数であり、は二項係数です。p > 1 の場合、またn が中程度に大きい場合でも、LpO CV は計算上実行不可能になる可能性があります。たとえば、n = 100、p = 30 の場合、
二値分類器のROC 曲線下面積を推定するためのほぼ偏りのない方法として、p=2 の LpO 交差検証の変種であるリーブペアアウト交差検証が推奨されている。[ 13 ]

リーブワンアウト交差検証(LOOCV )は、 p = 1の場合のリーブpアウト交差検証の特殊なケースです。このプロセスはジャックナイフ法に似ていますが、交差検証では除外されたサンプルに基づいて統計量を計算するのに対し、ジャックナイフ法では保持されたサンプルのみに基づいて統計量を計算します。
LOO交差検証はLpO交差検証よりも計算時間が短い。なぜなら、パスではなく。 しかし、パスには依然としてかなりの計算時間が必要になる場合があり、その場合はk分割交差検証などの他のアプローチの方が適切かもしれません。[ 14 ]
擬似コードアルゴリズム:
入力:
xN、{入力点のx値を含む長さのベクトル}
yN、{期待される結果のy値を含む長さのベクトル}
interpolate( x_in, y_in, x_out )、{ -ペアx_outでモデルをトレーニングした後のポイントの推定値を返します}x_iny_in
出力:
err、{予測誤差の推定値}
手順:
エラー ← 0 i ← 1, ..., N について、 // クロスバリデーションのサブセットを定義する x_in ← (x[1], ..., x[i − 1], x[i + 1], ..., x[N]) y_in ← (y[1], ..., y[i − 1], y[i + 1], ..., y[N]) x_out ← x[i] y_out ← interpolate(x_in, y_in, x_out) エラー ← エラー + (y[i] − y_out)^2 終了 エラー ← エラー/N
非網羅的な交差検証法は、元のサンプルを分割するすべての方法を計算するわけではありません。これらの方法は、p を除外する交差検証法の近似値です。

k分割交差検証では、元のサンプルがk 個の等しいサイズのサブサンプル(「フォールド」と呼ばれることが多い)にランダムに分割されます。k個のサブサンプルのうち、1 つのサブサンプルがモデルのテスト用の検証データとして保持され、残りのk − 1 個のサブサンプルがトレーニングデータとして使用されます。次に、交差検証プロセスがk回繰り返され、 k 個のサブサンプルのそれぞれが検証データとして正確に 1 回使用されます。k 個の結果を平均して、単一の推定値を得ることができます。この方法の繰り返しランダムサブサンプリング (下記参照) に対する利点は、すべての観測値がトレーニングと検証の両方に使用され、各観測値が検証に正確に 1 回使用されることです。10 分割交差検証がよく使用されますが、[ 15 ]一般にk は固定されていないパラメータのままです。
例えば、k = 2と設定すると、2 分割交差検証になります。2 分割交差検証では、データセットはランダムにd 0とd 1の 2 つのセットにシャッフルされ、両方のセットのサイズが同じになります (これは通常、データ配列をシャッフルしてから 2 つに分割することで実現されます)。次に、d 0でトレーニングし、 d 1で検証し、続いてd 1でトレーニングし、 d 0で検証します。
k = n (観測数)の場合、 k分割交差検証はリーブワンアウト交差検証と同等である。[ 16 ]
層化k分割交差検証では、すべての分割において平均応答値がほぼ等しくなるように分割が選択されます。二値分類の場合、これは各分割に2種類のクラスラベルがほぼ同じ割合で含まれることを意味します。
繰り返し交差検証では、データはランダムにk 個のパーティションに複数回分割されます。これにより、モデルのパフォーマンスを複数回の実行にわたって平均化できますが、これは実際にはほとんど望ましくありません。[ 17 ]
さまざまな統計モデルや機械学習モデルを検討する場合、貪欲なk分割交差検証を使用して、最も有望な候補モデルを迅速に特定できます。[ 18 ]
ホールドアウト法では、データポイントをランダムに2つのセットd0とd1 (それぞれトレーニングセットとテストセットと呼ばれる)に割り当てます。各セットのサイズは任意ですが、一般的にはテストセットの方がトレーニングセットよりも小さくなります。その後、 d0でトレーニング(モデルの構築)を行い、 d1でテスト(性能評価)を行います。
一般的な交差検証では、モデルテストの複数回の実行結果を平均化しますが、ホールドアウト法は単独では単一の実行のみを行います。複数回の実行結果を平均化しないと、非常に誤解を招く結果になる可能性があるため、この方法は慎重に使用する必要があります。予測精度の指標(F *)は、複数回の反復によって平滑化されないため、不安定になりがちです(後述参照)。同様に、さまざまな予測変数が果たす具体的な役割を示す指標(例えば、回帰係数の値)も不安定になりがちです。
ホールドアウト法は「最も単純な交差検証」と位置づけられることがあるが、[ 19 ]多くの情報源では、ホールドアウト法を単純な交差検証や退化した形式ではなく、単純な検証の一種として分類している。[ 20 ] [ 21 ]
この方法はモンテカルロ交差検証とも呼ばれ、 [ 22 ] [ 23 ]データセットをトレーニングデータと検証データにランダムに複数分割します。[ 24 ]このような分割ごとに、モデルをトレーニングデータに適合させ、検証データを使用して予測精度を評価します。結果は分割ごとに平均化されます。この方法の利点(k分割交差検証と比較した場合)は、トレーニング/検証分割の割合が反復回数(つまり、分割数)に依存しないことです。この方法の欠点は、検証サブサンプルで選択されない観測値がある一方で、複数回選択される観測値がある可能性があることです。言い換えれば、検証サブセットが重複する可能性があります。この方法はモンテカルロ変動も示しており、異なるランダム分割で分析を繰り返すと結果が変わります。
ランダム分割の回数が無限大に近づくにつれて、繰り返しランダムサブサンプリング検証の結果は、リーブpアウト交差検証の結果に近づく傾向がある。
この手法の層別抽出法では、訓練セットとテストセットで平均応答値(すなわち回帰分析における従属変数)が等しくなるようにランダムサンプルが生成されます。これは、応答が二値変数であり、データにおける2つの応答値の分布が不均衡な場合に特に有効です。
最適なハイパーパラメータセットの選択と誤差推定(および汎化能力の評価)に交差検証を同時に用いる場合、ネストされた交差検証が必要となる。多くのバリエーションが存在するが、少なくとも2つのバリエーションを区別することができる。
これは、 kセットの外側ループとlセットの内側ループを含む、真にネストされたバリアントです。データセット全体をkセットに分割します。1 つのセットを (外側) テスト セットとして選択し、k - 1 つの他のセットを対応する外側トレーニング セットに結合します。これをk セットそれぞれについて繰り返します。各外側トレーニング セットをさらにlセットに細分化します。1 つのセットを内側テスト (検証) セットとして選択し、l - 1 つの他のセットを対応する内側トレーニング セットに結合します。これをlセットそれぞれについて繰り返します。内側トレーニング セットはモデル パラメータの適合に使用され、内側テスト セットは検証セットとして使用され、モデル適合の偏りのない評価を提供します。通常、これは多くの異なるハイパー パラメータ (または異なるモデル タイプ) に対して繰り返され、検証セットを使用して、この内側トレーニング セットに最適なハイパー パラメータ セット (およびモデル タイプ) を決定します。その後、内側の交差検証から得られた最適なハイパー パラメータ セットを使用して、外側トレーニング セット全体に新しいモデルを適合させます。次に、このモデルの性能を外部テストセットを用いて評価する。
これは、 l = k - 1の場合の k*l 分割交差検証の一種です。単一の k 分割交差検証は、検証セットとテストセットの両方で使用されます。データセット全体がkセットに分割されます。1 つのセットがテストセットとして選択されます。次に、残りのセットの 1 つが検証セットとして使用され、他のk - 2 セットがトレーニングセットとして使用され、すべての可能な組み合わせが評価されるまで続きます。k*l 分割交差検証と同様に、トレーニングセットはモデルの適合に使用され、検証セットは各ハイパーパラメータセットのモデル評価に使用されます。最後に、選択されたパラメータセットに対して、テストセットを使用して、最適なパラメータセットを持つモデルを評価します。ここでは、2 つのバリアントが可能です。トレーニングセットでトレーニングされたモデルを評価するか、トレーニングセットと検証セットの組み合わせに適合された新しいモデルを評価するかのいずれかです。
交差検証の目的は、モデルの学習に使用したデータとは独立したデータセットに対して、モデルの適合度を推定することです。データとモデルに適したあらゆる定量的適合度指標を推定するために使用できます。たとえば、二値分類問題の場合、検証セットの各ケースは正しく予測されるか、誤って予測されるかのいずれかです。この場合、誤分類率を使用して適合度を要約できますが、分割表や混同行列に含まれる情報(カウント、頻度など)から得られる他の指標も使用できます。予測対象の値が連続的に分布している場合は、平均二乗誤差、二乗平均平方根誤差、または中央絶対偏差を使用して誤差を要約できます。
ユーザーがクロスバリデーションを適用して適切な構成を選択する場合そうすれば、交差検証された選択と構成に関する独自の推定値とのバランスを取ることができるでしょう。このようにして、サンプルサイズが小さい場合の交差検証の変動性に対抗し、過去の研究からの関連情報を含めることができます。たとえば、予測の組み合わせ演習では、交差検証を適用して、各予測に割り当てられる重みを推定できます。単純に等重み付けされた予測を上回ることは難しいため、等重みから逸脱した場合にペナルティを追加できます。[ 26 ]または、交差検証を適用して個々の観測値に重みを割り当てる場合、等重みからの逸脱にペナルティを課して、潜在的に関連のある情報を無駄にしないようにすることができます。 [ 26 ] Hoornweg (2018) は、チューニングパラメータがどのように機能するかを示しています 。クロスバリデーションの精度と参照パラメータに固執する簡便さのバランスをユーザーが直感的に取れるように定義できる。それはユーザーによって定義されます。
もしは選択される可能性のある候補構成の場合、最小化すべき損失関数は次のように定義できます。
相対精度は次のように定量化できる。候補の平均二乗誤差 ユーザー指定のものとの比較で作成されます相対的単純性項は、から逸脱する最大偏差量に対してしたがって、相対的単純性は次のように指定できる。、 どこ対応する許容される最大偏差を持つ値。 とユーザーは、参照パラメータが交差検証に対してどの程度影響力を持つかを決定します。
複数の構成に対して相対的な単純性という用語を追加することができる損失関数を次のように指定する
Hoornweg (2018) は、このような精度と単純さのトレードオフを持つ損失関数は、(適応型) lasso やベイズ/リッジ回帰のような収縮推定量を直感的に定義するためにも使用できることを示しています。[ 26 ]例についてはlassoをクリックしてください。
適合度指標Fを選択し、交差検証を用いて、訓練データと同じ母集団から抽出した独立したデータセットに対するモデルの期待適合度EFの推定値F *を算出するとします。同じ分布に従う複数の独立した訓練セットをサンプリングすると仮定すると、得られるF *の値は変動します。F *の統計的性質は、この変動によって決まります。
F *の分散は大きくなる可能性があります。[ 27 ] [ 28 ]このため、交差検証の結果に基づいて 2 つの統計的手法を比較する場合、推定パフォーマンスが優れている手法が、実際には 2 つの手法のうち優れているとは限りません (つまり、EFの値が優れているとは限りません)。交差検証推定値の信頼区間の構築についてはある程度の進展が見られましたが、 [ 27 ]これは難しい問題と考えられています。
交差検証のほとんどの形式は、研究対象の予測方法の実装が利用可能であれば、簡単に実装できます。特に、予測方法は「ブラックボックス」であってもよく、その実装の内部にアクセスする必要はありません。予測方法のトレーニングにコストがかかる場合、トレーニングを繰り返し実行する必要があるため、交差検証は非常に遅くなる可能性があります。最小二乗法やカーネル回帰などの一部のケースでは、トレーニングで繰り返し必要となる特定の値を事前に計算したり、シャーマン・モリソン式などの高速な「更新ルール」を使用したりすることで、交差検証を大幅に高速化できます。ただし、検証セットをトレーニング手順から「完全に盲検化」するように注意する必要があります。そうしないと、バイアスが生じる可能性があります。交差検証を高速化する極端な例は線形回帰にあり、交差検証の結果は予測残差誤差の二乗和(PRESS )と呼ばれる閉形式の式で表されます。
交差検証は、検証セットとトレーニングセットが同じ母集団から抽出され、かつ人間のバイアスが制御されている場合にのみ、有意義な結果をもたらす。
予測モデリングの多くの応用において、研究対象システムの構造は時間とともに変化します(つまり、「非定常」です)。[ 29 ] これらのどちらも、トレーニングセットと検証セットの間に体系的な差異をもたらす可能性があります。たとえば、金融相場のトレンド変化を予測するモデルが特定の5年間のデータでトレーニングされている場合、次の5年間を同じ母集団からの抽出として扱うのは非現実的です。別の例として、個人が今後1年以内に特定の病気と診断されるリスクを予測するモデルが開発されたとします。モデルが特定の集団グループ(たとえば、若者や男性)のみを対象とした研究のデータを使用してトレーニングされ、その後一般集団に適用された場合、トレーニングセットからの交差検証の結果は、実際の予測性能と大きく異なる可能性があります。
多くのアプリケーションでは、モデルが誤って指定され、モデラーのバイアスや恣意的な選択によって変化することもあります。このような場合、外部サンプルでシステムが変化したという錯覚が生じる可能性がありますが、その理由は、モデルが重要な予測因子を見落としているか、交絡因子が含まれているためです。新しい証拠によると、クロスバリデーションだけでは外部妥当性をあまり予測できませんが、人間のバイアスを制御するスワップサンプリングと呼ばれる実験的検証形式は、外部妥当性をはるかに予測できます。[ 30 ] 30,000個のモデルを対象としたこの大規模なMAQC-II研究で定義されているように、スワップサンプリングは、予測が独立したトレーニングサンプルと検証サンプルでテストされるという意味でクロスバリデーションを取り入れています。しかし、モデルはこれらの独立したサンプルで開発され、互いに盲検化されたモデラーによって開発されます。これらのスワップされたトレーニングサンプルと検証サンプルで開発されたモデルに不一致がある場合(これは非常に頻繁に発生します)、MAQC-IIは、これが従来のクロスバリデーションよりも外部予測妥当性が低いことをはるかに予測できることを示しています。
スワップサンプリングが成功した理由は、モデル構築における人間のバイアスを制御できる仕組みが組み込まれている点にある。モデル作成者によって予測結果が異なり、こうしたモデル作成者の影響によって外部妥当性が低下する可能性があるという点に加え、クロスバリデーションの誤用例としては、以下のようなものがある。
相関関係があるため、ランダム分割による交差検証は時系列モデルには問題となる可能性があります(補間よりも外挿の評価に関心がある場合)。[ 34 ]より適切なアプローチは、ローリング交差検証を使用することかもしれません。[ 35 ]
しかし、パフォーマンスが単一の要約統計量で記述される場合、PolitisとRomanoが定常ブートストラップ[ 36 ]として説明したアプローチが有効である可能性があります。ブートストラップの統計量は、時系列の区間を受け取り、その区間の要約統計量を返す必要があります。定常ブートストラップの呼び出しでは、適切な平均区間長を指定する必要があります。
空間データと時空間データでも同様の課題があり、ランダム分割を使用すると空間自己相関によって誤差推定値が過度に楽観的になることがあります。[ 37 ] 空間ブロッキング法はデータを地理的に異なるブロックに分割しますが、バッファ付き空間交差検証では、トレーニングセットとテストセットの間に分離ゾーンを追加して空間リークを減らします。[ 38 ]関連する手法として、クラスタリングアルゴリズムを使用して環境的に異なるクラスターを作成し、空間モデルが1つの環境コンテキストから別の環境コンテキストにどれだけうまく一般化できるかを具体的にテストする方法があります。時空間モデルの場合、空間ブロッキングは、空間的および時間的依存性の両方を考慮するために、ローリングまたはフォワードチェイニングの時間分割と組み合わせることができます。最近のレビューでは、時空間統計の交差検証戦略をまとめ、その理論的基礎、計算上の課題、環境および計量経済学のコンテキスト全体にわたる応用について概説しています。[ 39 ]
交差検証は、異なる予測モデリング手順の性能を比較するために使用できます。たとえば、光学文字認識に関心があり、手書き文字の画像から正しい文字を予測するためにサポートベクターマシン(SVM)またはk近傍法(KNN)のいずれかを使用することを検討しているとします。交差検証を使用すると、誤分類された文字の割合に関して、これら2つの方法を比較する経験的推定値を取得できます。対照的に、サンプル内推定値は、関心のある量(つまり、汎化誤差)を表しません。[ 16 ]
交差検証は変数選択にも使用できます。[ 40 ]がん患者が薬に反応するかどうかを予測するために、 20 種類のタンパク質の発現レベルを使用するとします。実際的な目標は、20 種類の特徴のうちどのサブセットを使用して最適な予測モデルを作成するかを決定することです。ほとんどのモデリング手順では、サンプル内エラー率を使用して特徴のサブセットを比較すると、20 種類の特徴すべてを使用したときに最高のパフォーマンスが得られます。しかし、交差検証では、最も適合するモデルには、一般的に、真に情報があるとみなされる特徴のサブセットのみが含まれます。
医療統計学における最近の発展の一つは、メタアナリシスにおけるその利用である。これは、メタアナリシスの要約推定値の統計的妥当性を検証するために使用される検証統計量Vnの基礎を形成する。[ 41 ] また、メタアナリシスの結果の予測誤差を推定するために、メタアナリシスにおいてより従来的な意味でも使用されている。[ 42 ]
簡単に言うと、CVは、異なるデータ分割に対応するリスクの複数のホールドアウト推定値を平均化することによって成り立っています。