套索回归通过常数

时间:2016-04-24 15:46:18

标签: r linear-regression lars

我正在尝试为我的数据应用套索回归。我正在使用lars包为R.使用coef函数,我得到套索模型的系数并使用它们,我绘制了这个模型。但是这个模型总是错误的(蓝色)。

FX <- cbind(1, X, X^2, X^3, X^4, X^5,X^6, X^7)
lasso <- lars(FX, Y, type='lasso')
alpha <- coef(lasso, s=1, mode='lambda')
tr_x <- (1:100)/100
y0 <- getFuncByParam(tr_x, alpha)
lines(x,y0, col='blue', lwd=2)

但是当我使用predict函数时,我得到了正确的模型(粉红色)

Ftest <- cbind(1, tr_x , tr_x^2, tr_x^3, tr_x^4, tr_x^5, tr_x^6, tr_x^7)
y0 <- predict(lasso, Ftest, 1, type='fit', mode='lambda')

enter image description here enter image description here

UPD

getFuncByParam <- function(x, a){
    n <- length(a)
    res <- 0
    for(i in 1 : n ){
        res <- res + a[i]*x^(i - 1)
    }
    return(res)
}

0 个答案:

没有答案