3

我对matlab中的岭回归有这个疑问。他们在http://www.mathworks.com/help/stats/ridge.html提到,岭回归实际上意味着中心并使预测变量的标准值等于 1。但是,我可以看到它没有。例如

让我的 x 成为

 1     1     2
 1     3     5
 1     9    12
 1    12    50

让我的你

1
2
3
4

它不会将 xs 归一化为 0 均值和单位方差。任何澄清发生了什么?我的意思是岭应该对数据进行归一化,即 x 到 0 均值和单位方差,然后计算系数。我期待 Ridge(y,x,0,0) 给我 R=inv(x'*x)*x'y 的结果,其中 R 取 x 和 y 归一化

4

1 回答 1

4

输出必须相同,岭回归只会使计算在数值上更稳定(对多重共线性不太敏感)。

== 更新 ==

现在我更好地理解了你的要求:)文档说:

b = ridge(y,X,k,scaled) 使用 {0,1} 值标志 scaled 来确定 b 中的系数估计是否恢复到原始数据的比例。ridge(y,X,k,0) 执行此附加转换。

你已经将第三个和第四个参数都设置为0,也就是说岭参数为零,结果不会被缩放,所以应该和你得到的一样inv(x'*x)*x'y(这就是岭回归如果岭参数k设置为 0,则公式变为)。

于 2013-08-23T20:57:58.570 回答