我对matlab中的岭回归有这个疑问。他们在http://www.mathworks.com/help/stats/ridge.html上提到过,岭回归实际上是指中心,并使预测因子的std值等于1。然而,我可以看出,它不是。
让我的x
1 1 2
1 3 5
1 9 12
1 12 50让我的你
1
2
3
4它不对xs进行任何归一化,使其为0均值和单位方差。有什么澄清吗怎么回事?我的意思是脊线应该对数据进行归一化,即x到0,均值和单位方差,然后计算系数。我期待着岭(y,x,0,0)给我R=inv(x'*x)*x'y的结果,其中R取x,y归一化。
发布于 2013-08-23 20:57:58
输出必须相同,脊回归只会使计算在数值上更稳定(对多重共线性不太敏感)。
==更新==
现在我更好地理解了你的要求:) 文档说:
B=脊(y,X,k,scaled)使用缩放的{0,1}-valued标志来确定b中的系数估计是否恢复到原始数据的尺度。ridge(y,X,k,0)执行这个附加转换。
您已经将第三个和第四个参数设置为0,这意味着脊参数为零,并且结果不会缩放,因此它应该与使用inv(x'*x)*x'y得到的结果相同(如果岭参数k设置为0时,岭回归公式就是这样的)。
https://stackoverflow.com/questions/18411682
复制相似问题