根据我的研究,您可以通过在正常OLS回归结尾添加“虚假数据”来模拟岭回归。
https://stats.stackexchange.com/questions/137057/phoney-data-and-ridge-regression-are-the-same ^证实这一概念的许多地方之一。
然而在R中我没有复制结果。
> test_0
12 34 24 64 746 24 23 42 7 8 3 4 45 675 3 4 34 43 56 674 3 4 54 34 23 34 435 56 56 234 657 89 980 8 76 65 45564 67 76 789
> test_1
34 24 64 746 24 23 42 7 8 3 4 45 675 3 4 34 43 56 674 3 4 54 34 23 34 435 56 56 234 657 89 980 8 76 65 45564 67 76 789 6
> test_2
24 64 746 24 23 42 7 8 3 4 45 675 3 4 34 43 56 674 3 4 54 34 23 34 435 56 56 234 657 89 980 8 76 65 45564 67 76 789 6 5
我的三个变数。然后我追加2个新行(对于独立变量的数量)。为了test_0,我追加两个零。对于test_1,我追加一个sqrt(.5)和0.对于test_2,我追加一个0和sqrt(.5)
> a = c(test_0,0,0)
>
> b = c(test_1,(sqrt(.5)),0)
>
> c = c(test_2,0,(sqrt(.5)))
>
然后我运行两个模型。 lm和lm.ridge
>reg = lm(a~b+c)
>
>ridge = lm.ridge(test_0~test_1+test_2, lambda = .5)
>
> reg
>
>Call:
>lm(formula = a ~ b + c)
>
>Coefficients:
>(Intercept) b c
> 1305.42310 -0.02926 -0.02862
> ridge
>
> test_1 test_2
>1374.16801379 -0.03059968 -0.02996396
系数不同但它们应该相同。为什么会这样? 任何帮助将不胜感激!