我正在尝试在我的情况下比较 OLR、山脊和套索。我可以计算 OLR 和 lasso 的 SE,但不能计算 ridge。以下是包中的Prostrate数据lasso2。
require(lasso2)
require(MASS)
data(Prostate)
fit.lm = lm(lpsa~.,data=Prostate)
summary(fit.lm)$coefficients
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.669399027 1.296381277 0.5163597 6.068984e-01
lcavol 0.587022881 0.087920374 6.6767560 2.110634e-09
lweight 0.454460641 0.170012071 2.6731081 8.956206e-03
age -0.019637208 0.011172743 -1.7575995 8.229321e-02
lbph 0.107054351 0.058449332 1.8315753 7.039819e-02
svi 0.766155885 0.244309492 3.1360054 2.328823e-03
lcp -0.105473570 0.091013484 -1.1588785 2.496408e-01
gleason 0.045135964 0.157464467 0.2866422 7.750601e-01
pgg45 0.004525324 0.004421185 1.0235545 3.088513e-01
fit.rd = lm.ridge(lpsa~.,data=Prostate, lamda = 6.0012)
#summary(fit.rd)$coefficients, doesnot provide SE
lfit = l1ce(lpsa~.,data=Prostate,bound=(1:500)/500)
summary(lfit[[10]])$coefficients
Value Std. Error Z score Pr(>|Z|)
(Intercept) 2.43614448 2.130515543 1.1434530 0.2528505
lcavol 0.03129045 0.125288320 0.2497475 0.8027826
lweight 0.00000000 0.274549270 0.0000000 1.0000000
age 0.00000000 0.018287840 0.0000000 1.0000000
lbph 0.00000000 0.095587974 0.0000000 1.0000000
svi 0.00000000 0.390936045 0.0000000 1.0000000
lcp 0.00000000 0.149824868 0.0000000 1.0000000
gleason 0.00000000 0.260274039 0.0000000 1.0000000
pgg45 0.00000000 0.007285054 0.0000000 1.0000000
我有一些问题:
(1) 我们如何计算 Std。岭回归的错误?
(2) 比较标准是否有效。决定使用哪个 ( ridge,lasso或OLS) 方法时出错?还是有其他方法?如果是这样,我怎样才能得到它们?