[解決済み] Matlabでのリッジ回帰とOLS回帰
2022-02-16 12:13:58
質問
リッジ回帰は、OLS回帰とごくわずかに異なる。数学的には、OLS回帰は次の数式を使用します。
ここで、リッジ回帰は以下の式を使用します。
多重共線性を避けるためにリッジ回帰を使いたかったのですが、非常に奇妙な結果が返ってきて、単に regress() を使うよりもかなり悪くなってしまいました。理論的には、もしkがゼロに設定されれば、これらの方程式は同じになるはずです。しかし、私のコードでXとYの同じ値を使用して、両方を同時に呼び出すと、Bについて2つの非常に異なる行列を受け取ります(下図)。なぜこのようなことが起こるのか、どなたか説明してください。
b_ridge = ridge(Y_current,X, 0)
12.4525
9.0099
0.2808
-1.5426
-1.1107
b_regress = regress(Y_current,X)
3.5586
0.8805
0.1670
-0.3934
-0.8526
解決方法は?
によると
ridge
のドキュメントを参照してください。
をセンタリングおよびスケーリングした後に計算されます。
x
の列は平均0、標準偏差1である。
列ベクトルを使った例です。
>> x = randn(5,1);
>> y = randn(5,1);
>> ridge(y, x, 0)
ans =
-0.045681220595243
>> regress(y, x)
ans =
-0.028738686366027
>> regress(y, (x-mean(x))/std(x))
ans =
-0.045681220595243
関連
-
[解決済み] Matlabで列ベクトルを反復処理する方法は?[重複].
-
[解決済み] MATLABでカラーバーのスケールを制御する
-
[解決済み] 単純論理条件フラグ MATLAB
-
[解決済み] Matlabによる最急降下法の実装
-
[解決済み] MATLABでマシンイプシロンを計算する方法は?
-
[解決済み] MATLABで関数のパラメータにデフォルト値を設定するにはどうすればよいですか?
-
[解決済み] Matlabでのリッジ回帰とOLS回帰
-
[解決済み] 1変数に対するfzeroとfsolveの差分
-
[解決済み] Matlab: 小図形ウィンドウでYラベルが表示されない
-
[解決済み] Matlabでforward inputnames?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"配列のインデックスは正の整数または論理値でなければならない"
-
[解決済み] Matlabの角括弧と中括弧の違い?
-
[解決済み] MATLABで「連結される配列の次元が一致しない」というエラーをデバッグする。
-
[解決済み] matlabの*と.*の違いは何ですか?
-
[解決済み] Matlabでm-fileを実行するとき、コマンドビューでどのように改行を出力するのですか?
-
[解決済み] Matlabで固有ベクトルを正しくプロットする
-
[解決済み] Matlab Error: ポジション1のインデックスが配列の境界を越えています
-
[解決済み] Matlab の imrect を用いて,新しい矩形の座標を取得します.
-
[解決済み] ホールドオンでセミログプロット
-
[解決済み] MATLABでヒストグラムを正規化する方法は?