我一直在使用Matlab来计算使用最小二乘和脊的模型的系数。我很确定我的所有编码都是正确的。
但对于一个数据集(波士顿住房),岭系数大于最小二乘系数。这有可能吗?这是什么意思? 或者我编码错误了吗?.....
答案 0 :(得分:1)
它似乎根本不是问题......
1)在典型的最小二乘问题中,您必须选择最小化
的β向量||的y X *的β|| ^ 2
2)另一个相关问题(称为Lasso问题)是找到最小化的β矢量
|| y-X * beta || ^ 2 + lambda * || beta ||
3)最后,在岭回归中,你的问题是找到最小化的β矢量
|| y-X * beta || ^ 2 + lambda * || beta || ^ 2
请注意,在上面的问题(2)中,很明显你是在特别惩罚[beta_i]的大小。
另一方面,在上面的问题(3)中,你正在惩罚betas_i的大小差异。我的意思是,如果你有矢量beta,小beta_i和大beta_i s,你的成本仍然会很大。想象一下,问题(1)中的向量β= [0.1; 0.0001]。虽然为了“按比例”减少问题(2)中的两个beta_is似乎是一个很好的解决方案,但在问题(3)中不会发生同样的情况,其中最好的是增加一点beta_2 = 0.0001的大小以减少更多beta_1的大小= 0.1。
因此,如果问题(3)的matlab解决方案提供的beta_i s大小更相似,那么您似乎表现得很好。
我希望我能提供帮助,但我之前从未进行过这种回归,而且我也没有这里的matlab。