Программирование на R: адаптивное лассо для авторегрессивной модели временных рядов - PullRequest
0 голосов
/ 06 октября 2018

Мне нужен кто-то, чтобы дать мне подсказку о программировании на R для адаптивного лассо для модели авторегрессивного временного ряда:

Y_{t}=\phi_{1}Y_{t-1}+\epsilon_{t}, where \phi_{1}=0.5  and \epsilon_{t } \sim N(0,1) 

Я знаю, как это сделать в случае регрессионной модели.

Я опубликовал то, что сделал для регрессии.

library(glmnet)

set.seed(100)

beta_{1} = 2

beta_{2}=3

n=50

epsilon =rnorm(n,0,1) 

x = (rnorm(n,0,9))

y =(beta_{1 }+ beta_{2} * x + epsilon)

d=data.frame(x,y)

Выполните регрессию ols

ols<-lm(y\sim x, data=d)

best.ols.coef=coef(ols)

Выполните адаптивное LASSO с 10-кратным CV

alasso1.cv <- cv.glmnet(x = cbind(0,x), y = y,
                    type.measure = "mse",
                    nfold = 10,
                    alpha = 1,
                    penalty.factor = 1 / abs(best.ols.coef),
                    keep = TRUE)

alasso1.cv$lambda.min

best.alasso.coef <- coef(alasso1.cv, s = alasso1.cv$lambda.min)

best.alasso.coef
...