0

我想使用广义交叉验证来计算岭回归的最佳岭参数。

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,用于搜索机器人),trace(H_ols),假设 X'X 实际上是可逆的,是 = 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 回答