我对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归一化
答案 0 :(得分:4)
输出必须相同,岭回归只能使计算在数值上更稳定(对多重共线性不太敏感)。
==更新==
现在我更了解你的问题:) documentation说:
b = ridge(y,X,k,scaled)使用缩放的{0,1}值标记来确定 如果b中的系数估计值恢复到 原始数据。 ridge(y,X,k,0)执行此额外转换。
您已将第三个和第四个参数都设置为0,这意味着ridge参数为零,结果将不会缩放,因此它应与{{1}的结果相同(如果岭参数inv(x'*x)*x'y
设置为0,则这就是岭回归公式。)