LASSO ペナルティと最小二乗を使用する最適な線形回帰モデルから応答を予測します。
検定標本の応答の予測 で説明されているように 10000 個の観測値をシミュレートします。
~ の範囲で対数間隔で配置された 15 個の正則化強度を作成します。
モデルを交差検証します。実行速度を向上させるため、予測子データを転置し、観測値が列単位であることを指定します。SpaRSA を使用して目的関数を最適化します。
CVMdl
は RegressionPartitionedLinear
モデルです。fitrlinear
は 5 分割の交差検証を実装するので、各分割について学習させる 5 つの RegressionLinear
モデルが CVMdl
に格納されます。
1 番目の学習済み線形回帰モデルを表示します。
Mdl1 =
RegressionLinear
ResponseName: 'Y'
ResponseTransform: 'none'
Beta: [1000x15 double]
Bias: [1x15 double]
Lambda: [1x15 double]
Learner: 'leastsquares'
Properties, Methods
Mdl1
は RegressionLinear
モデル オブジェクトです。fitrlinear
は最初の 4 つの分割に対して学習を行うことにより Mdl1
を構築しました。Lambda
は正則化強度のシーケンスなので、Mdl1
はそれぞれが Lambda
の各正則化強度に対応する 11 個のモデルであると考えることができます。
交差検証された MSE を推定します。
Lambda
の値が大きくなると、予測子変数がスパースになります。これは回帰モデルの品質として優れています。データセット全体を使用し、モデルの交差検証を行ったときと同じオプションを指定して、各正則化強度について線形回帰モデルに学習をさせます。モデルごとに非ゼロの係数を特定します。
同じ図に、各正則化強度についての交差検証された MSE と非ゼロ係数の頻度をプロットします。すべての変数を対数スケールでプロットします。
予測子変数のスパース性と MSE の低さのバランスがとれている正則化強度 (Lambda(10)
など) のインデックスを選択します。
最小の MSE に対応するモデルを抽出します。
MdlFinal =
RegressionLinear
ResponseName: 'Y'
ResponseTransform: 'none'
Beta: [1000x1 double]
Bias: -0.0050
Lambda: 0.0037
Learner: 'leastsquares'
Properties, Methods
EstCoeff = 2×1
1.0051
1.9965
MdlFinal
は、1 つの正則化強度がある RegressionLinear
モデルです。非ゼロ係数 EstCoeff
は、データをシミュレートした係数に近くなっています。
10 個の新しい観測値をシミュレートし、最適なモデルを使用して対応する応答を予測します。