0

Generalized Cross Validation を使用して、リッジ回帰の最適なリッジ パラメーターを計算したいと考えています。

Golub et al (1979) による式は、

GCV(k)=(1/n Sum_i=1^n e_i(k)^2)/(1/n Sum_i=1^n(1-h_ii(k)))^2

ここでe_1(k)....e_n(k)、与えられた k に対してリッジ回帰を適用することによる残差です。

H(K)=X(X'X+kI)^{-1}X'.

ここで、X は計画行列です。

h_ii(k)は の双角要素ですH(k)

リッジ回帰式があるので、分子を簡単に計算できます。

しかし、分母の計算方法がわかりません。

関数 gcv() を備えたこのツール セットを見つけましたが、G 関数の計算方法がわかりません。

実際、計算で x を使用しているようには見えませんか? この機能は私が上で望んでいることですか?もしそうなら、誰かが私にそれがどのように機能するか説明してもらえますか?

4

2 に答える 2

2

特定の問題については、実際に相互検証を行わずに一般化された相互検証を計算することができます。単純な (正規化されていない) 通常の最小二乗法 (OLS、検索ボットの場合) の場合、X'X が実際に可逆であると仮定すると、trace(H_ols) は = trace(Xinv(X'X)X') = trace(X'X *inv(X'X)) = trace(I) = p は、OLS モデルのパラメーターの数です。これは、同じサイズの問題に対して一定です。

私はリッジ回帰の専門家ではありませんが、gcv.m が同様のことを行っているのではないでしょうか? やっぱり trace(H_ridge) = trace(X*inv(X.'*X+k*ones(size(X)))*X.') = trace(X'X * inv(X'X + k*ones) )))

ASCII数学でごめんなさい。

于 2014-03-04T04:00:27.797 に答える
1
(1/n Sum_i=1^n(1-h_ii(k)))^2=(sum(1-diag(H))/n)^2
于 2013-11-10T22:23:04.837 に答える