Регрессия Лассо делает ошибку постоянной
Я пытаюсь применить регрессию лассо для моих данных. Я использую пакет 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')
UPD
getFuncByParam <- function(x, a){
n <- length(a)
res <- 0
for(i in 1 : n ){
res <- res + a[i]*x^(i - 1)
}
return(res)
}