[R] lm.ridge again

daniel@sintesys.com.ar daniel at sintesys.com.ar
Mon Aug 22 19:03:29 CEST 2005


Hello, I have posted this mail a few days ago without any answer:

I have the following doubts related with lm.ridge, from MASS package. To
show the problem using the Longley example, I have the following doubts:

First: I think coefficients from lm(Employed~.,data=longley) should be
equal coefficients from lm.ridge(Employed~.,data=longley, lambda=0) why
it does not happen?
Second: if I have for example
Ridge<-lm.ridge(Employed~., data=longley, lambda = seq(0,0.1,0.001)), I
suppose intercept coefficient is defined implicit, why it does not
appear in Ridge$coef?

Third: I suppose that if I define
1) y<-longley$Employed
2) X<-as.matrix(cbind(1,Longley[,1:6])
3) I as the identity
the following should be true:
         Coef=(X'X+kI)^(-1) X'y
and if a take k=Ridge$kHKV, the coefficients should be approx equal to
Ridge$Coef[near value of kHKV] and it does not seem to happen, why?

Values:
> Ridge$kHKB
[1] 0.004275357

Using the calculation above (third question, third point):
Coef=
                      [,1]
  1            -0.095492310
  GNP.deflator -0.052759002
  GNP           0.070993540
  Unemployed   -0.004244391
  Armed.Forces -0.005725582
  Population   -0.413341544
  Year          0.048420107

And if I take from Ridge&coef:

Ridge$coef[0.004]
GNP.deflator -0.03098507
GNP -1.32553151
Unemployed -1.53237769
Armed.Forces -0.63334911
Population -0.88690241
Year 6.82105049

Any help, suggestion or orientation?
Thanks in advance
Daniel Rozengardt




More information about the R-help mailing list