Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

kfoldPredict

交差検証済み回帰モデル内の観測値に対する応答の予測

    説明

    yFit = kfoldPredict(CVMdl) は、交差検証済みの回帰モデル CVMdl によって予測された応答を返します。kfoldPredict は、すべての分割について、学習分割観測値に対して学習をさせたモデルを使用して、検証分割観測値の応答を予測します。CVMdl.X および CVMdl.Y には、両方の観測値のセットが含まれます。

    yFit = kfoldPredict(CVMdl,Name,Value) では、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、'IncludeInteractions',true は、計算に交互作用項を含めるために指定します。この構文は一般化加法モデルにのみ適用されます。

    [yFit,ySD,yInt] = kfoldPredict(___) は、前の構文におけるいずれかの入力引数の組み合わせを使用して、予測子データ CVMdl.X 内の各観測値で評価した応答変数の標準偏差と予測区間も返します。この構文は、CVMdlIsStandardDeviationFit プロパティが true である一般化加法モデルにのみ適用されます。

    すべて折りたたむ

    交差検証済みの回帰モデルを作成する際に、オブジェクト関数 kfoldLoss を使用して平均二乗誤差 (MSE) を計算できます。あるいは、kfoldPredict を使用して検証分割観測値の応答を予測し、MSE を手動で計算できます。

    carsmall データセットを読み込みます。予測子データ X と応答データ Y を指定します。

    load carsmall
    X = [Cylinders Displacement Horsepower Weight];
    Y = MPG;

    交差検証済みの回帰木モデルの学習を行います。既定では、10 分割交差検証が実行されます。

    rng('default') % For reproducibility
    CVMdl = fitrtree(X,Y,'CrossVal','on');

    kfoldLoss を使用して 10 分割交差検証の MSE を計算します。

    L = kfoldLoss(CVMdl)
    L = 29.4963
    

    交差検証済みの回帰モデルを使用して、応答 yfit を予測します。yfit と真の応答 CVMdl.Y の間の平均二乗誤差を計算します。計算された MSE は、kfoldLoss で返された損失値と一致します。

    yfit = kfoldPredict(CVMdl);
    mse = mean((yfit - CVMdl.Y).^2)
    mse = 29.4963
    

    入力引数

    すべて折りたたむ

    交差検証された分割済みの回帰モデル。RegressionPartitionedModel オブジェクト、RegressionPartitionedEnsemble オブジェクト、RegressionPartitionedGAM オブジェクトまたは RegressionPartitionedSVM オブジェクトを指定します。オブジェクトは 2 つの方法で作成できます。

    • 次の表に記載されている学習済み回帰モデルをそのオブジェクト関数 crossval に渡す。

    • 次の表に記載されている関数を使用して回帰モデルに学習をさせ、その関数の交差検証に関する名前と値の引数のいずれかを指定する。

    名前と値の引数

    オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

    R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

    例: 'Alpha',0.01,'IncludeInteractions',false は信頼度を 99% として指定し、一般化加法モデルの計算から交互作用項を除外します。

    予測区間 yInt の信頼度の有意水準。範囲 [0,1] の数値スカラーとして指定します。yInt の信頼度は 100(1 – Alpha)% と等しくなります。

    この引数は、標準偏差当てはめを含む一般化加法モデル オブジェクトの場合のみ有効です。つまり、この引数を指定できるのは、CVMdlRegressionPartitionedGAM であり、かつ CVMdlIsStandardDeviationFit プロパティが true である場合だけです。

    例: 'Alpha',0.01

    データ型: single | double

    モデルの交互作用項を含むというフラグ。true または false として指定します。この引数は、一般化加法モデル (GAM) の場合のみ有効です。つまり、この引数を指定できるのは、CVMdlRegressionPartitionedGAM である場合だけです。

    CVMdl のモデル (CVMdl.Trained) に交互作用項が含まれる場合、既定値は true です。モデルに交互作用項が含まれない場合、値は false でなければなりません。

    データ型: logical

    出力引数

    すべて折りたたむ

    予測応答。n 行 1 列の数値ベクトルとして返されます。n は観測値の個数です (観測値が行に含まれる場合、n は size(CVMdl.X,1) です)。yFit の各エントリは、CVMdl.X に対応する行で予測応答と一致します。

    ホールドアウト検証の手法を使用して CVMdl を作成する (つまり、CVMdl.KFold1 である) 場合、yFit には学習分割観測値について NaN 値が含まれます。

    予測子データ CVMdl.X 内の各観測値で評価した応答変数の標準偏差。長さが n の列ベクトルとして返されます。n は、予測子データ CVMdl.X に含まれている観測値の個数です。i 番目の要素 ySD(i) に、CVMdl の学習済みの標準偏差モデルを使用して評価した i 番目の観測値 CVMdl.X(i,:) に対する i 番目の応答の標準偏差が格納されます。

    この引数は、標準偏差当てはめを含む一般化加法モデル オブジェクトの場合のみ有効です。つまり、kfoldPredict がこの引数を返せるのは、CVMdlRegressionPartitionedGAM であり、かつ CVMdlIsStandardDeviationFit プロパティが true である場合だけです。

    予測子データ CVMdl.X 内の各観測値で評価した応答変数の予測区間。n 行 2 列の行列として返されます。n は、予測子データ CVMdl.X に含まれている観測値の個数です。i 番目の行 yInt(i,:) に、ySD(i) を使用している i 番目の観測値 CVMdl.X(i,:) に対する i 番目の応答の推定された 100(1 – Alpha)% の予測区間が格納されます。Alpha 値は、予測区間に真の応答値 CVMdl.Y(i) が含まれない確率です。yInt の 1 列目には予測区間の下限が、2 列目には上限が格納されます。

    この引数は、標準偏差当てはめを含む一般化加法モデル オブジェクトの場合のみ有効です。つまり、kfoldPredict がこの引数を返せるのは、CVMdlRegressionPartitionedGAM であり、かつ CVMdlIsStandardDeviationFit プロパティが true である場合だけです。

    拡張機能

    バージョン履歴

    R2011a で導入