Matlab Ridge回归维度

时间:2016-06-20 20:50:34

标签: matlab regression

有人可以在Matlab的岭回归函数中解释缩放因子吗?我找到了一个与用于扩展数值的公式相关的帖子,但我不确定为什么我不确定它是如何工作的。当我将它设置为0时,我得到了典型的数字,但我被迫输入X矩阵而没有1s的列用于拦截。如果我包含1列,则返回的b矩阵有一个太多的行,并且它不能相乘。另一方面,当我将比例因子设置为1时,我得到完全不合理的值。有人可以解释发生了什么以及如何解决这个问题吗?

b = ridge(Y,X,lambda,0);
size(Y) = 
          444205     1
size(X) = 
          444205     4
size(b) = 
               5     1

1 个答案:

答案 0 :(得分:1)

ridge()自动居中和缩放X(对于每个要素,减去均值,除以标准偏差)和中心y。让Xs表示X的居中/缩放版本,ys表示y的居中版本,b表示ridge()返回的权重}。

scaled标记设置为1时,b会为ys提供预测Xs的权重。 ys的预测值由Xs * b给出。由于Xsys居中,因此不需要使用常数字。

scaled标记设置为0时,b会为y提供预测X的权重。 b的第一个元素包含一个常量项(因为Xy具有非零均值,因此需要)。 y的预测值由X * b(2:end) + b(1)给出。

有关此行为的更多信息,请参见documentation