# NOT RUN {
set.seed(1)
T = 100 #sample size
p = 20 # number of variables
b = 5 # number of variables with non-zero coefficients
beta0 = c(rep(10,b), rep(0,p-b))
rho = 0.1 #AR parameter
Cov = matrix(0,p,p)
for(i in 1:p){
for(j in 1:p){
Cov[i,j] = 0.5^(abs(i-j))
}
}
C <- chol(Cov)
X <- matrix(rnorm(T*p),T,p)%*%C
eps <- arima.sim(list(ar=rho), n = T+100)
eps <- eps[101:(T+100)]
Y = X%*%beta0 + eps
fit1 = rlasso(X, Y, penalty = list(homoscedastic = "none",
lambda.start = 2*0.5*sqrt(T)*qnorm(1-0.1/(2*p))), post=FALSE)
beta = fit1$beta
intercept = fit1$intercept
res = Y - X %*% beta - intercept * rep(1, length(Y))
load = rep(0,p)
for(i in 1:p){
load[i] = sqrt(lrvar(X[,i]*res)*T)
}
reg.lasso.load1 <- rlassoLoad(X,Y,load) #lambda is chosen independent of regressor
#matrix X by default.
bn = 10 # block length
reg.lasso.load2 <- rlassoLoad(X, Y,load, bns=bn, nboot=5000,
X.dependent.lambda = TRUE, c=2.7)
# }
Run the code above in your browser using DataLab