Dear list,

I have been trying to apply a simple lasso regression on a 10-element
vector, just to see how this method works so as to later implement it on
larger datasets. I thus create an input vector x:
*         x=rnorm(10)*
I add some noise
*        noise=runif(n=10, min=-0.1, max=0.1)*
and I create a simple linear model which calculates my output vector y
*        y=2*x+1+noise*

I then do
       * my_data <- data.matrix(x)
        model = lars(my_data, y, type = 'lasso')*

I then calculate the coefficients (type="coefficients") based on the created
*model **
        preds=predict.lars(model)
        for(i in 1:10){
            est[i]=preds$coef[2]*x[i]
            }

        y.estimated=est+1+noise


*Then, I apply the same function, predict.lars, but this time with
type="fit".
*        preds2=predict.lars(model,my_data)*

When I compare the *y.estimated *to *preds2$fit[,2] *I see that they are not
equal...
I provide you with the returned results:

*y.estimated:*
[2.855597  1.259374  1.673388  1.625999  0.337993 -1.672998
-1.055416 2.423278  4.092116 -1.595545]

*preds2$fit[,2]:*
[2.9120115  1.1790466  1.7452670  1.7239429  0.2893512 -1.6682459
-1.1500982  2.4364527  4.1511509 -1.6098748]

I think they should be equal...Does anyone have an explanation about that?

Thanks a lot for your time!
Eleni C.

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to