data(longley) # not the same a...">

How to calculate P values ​​in ridge regression in R?

Below is an example from the "lm.ridge MASS" package:

> data(longley) # not the same as the S-PLUS dataset
> names(longley)[1] <- "y"
> lm.ridge(y ~ ., longley)
                        GNP    Unemployed  Armed.Forces    Population          Year      Employed 
2946.85636017    0.26352725    0.03648291    0.01116105   -1.73702984   -1.41879853    0.23128785 
> plot(lm.ridge(y ~ ., longley,
+               lambda = seq(0,0.1,0.001)))
> select(lm.ridge(y ~ ., longley,
+                lambda = seq(0,0.1,0.0001)))
modified HKB estimator is 0.006836982 
modified L-W estimator is 0.05267247 
smallest value of GCV  at 0.0057 

      

enter image description here

How can I calculate the P values ​​or confidence intervals, how can I get in a normal linear regression summary.

(PS: If you find this question interesting / important, please vote for it;)

+4


source to share


1 answer


MASS::lm.ridge

Doesn't calculate p-values ​​for your coefficients as far as I know . However, you can use a function linearRidge

from a package ridge

, which it does. See next example:

data(longley) 
names(longley)[1] <- "y"

library(ridge)
mymod <- linearRidge(y ~ ., longley)

> summary(mymod)

Call:
linearRidge(formula = y ~ ., data = longley)


Coefficients:
               Estimate Scaled estimate Std. Error (scaled) t value (scaled) Pr(>|t|)    
(Intercept)  -1.247e+03              NA                  NA               NA       NA    
GNP           4.338e-02       1.670e+01           3.689e+00            4.526  6.0e-06 ***
Unemployed    1.184e-02       4.286e+00           2.507e+00            1.710   0.0873 .  
Armed.Forces  1.381e-02       3.721e+00           1.905e+00            1.953   0.0508 .  
Population   -2.831e-02      -7.627e-01           5.285e+00            0.144   0.8853    
Year          6.566e-01       1.211e+01           2.691e+00            4.500  6.8e-06 ***
Employed      6.745e-01       9.175e+00           4.996e+00            1.836   0.0663 .  
---
Signif. codes:  0 β€˜***’ 0.001 β€˜**’ 0.01 β€˜*’ 0.05 β€˜.’ 0.1 β€˜ ’ 1

Ridge parameter: 0.01046912, chosen automatically, computed using 2 PCs

Degrees of freedom: model 3.67 , variance 3.218 , residual 4.123 

      



And using summary

, you get a familiar table with your meanings and significance!

+5


source







All Articles