-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathorderedLasso Package - Examples.R
More file actions
72 lines (62 loc) · 1.72 KB
/
orderedLasso Package - Examples.R
File metadata and controls
72 lines (62 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
rm(list=ls())
#library(knitr)
#purl("TimeSeriesAnalysisWithOrdinalLASSO.rmd")
library(orderedLasso)
##timeLagLasso
#generate simulated data
set.seed(3)
n = 50
maxlag = 5
num_rows_needed = n + maxlag + 1
sigma = 4
x = matrix(rnorm(num_rows_needed * 4), nrow = num_rows_needed)
#create matrix of all possible lags for each variable
x_new = time_lag_matrix(x, maxlag)
b = c(3,1,1,0,0,
4,1,0,0,0,
3,2,1,0,0,
1,0,0,0,0)
y = x_new %*% b + sigma* rnorm(nrow(x_new))
y = as.vector(y)
y = c(y, rnorm(maxlag + 1))
model1 = timeLagLasso(x = x, y = y, lambda = 1, maxlag = maxlag,
method = "Solve.QP", strongly.ordered = TRUE)
##timeLagLasso.cv
#generate simulated data
set.seed(3)
n = 50
maxlag = 5
num_rows_needed = n + maxlag + 1
sigma = 4
x = matrix(rnorm(num_rows_needed * 4), nrow = num_rows_needed)
#create matrix of all possible lags for each variable
x_new = time_lag_matrix(x, maxlag)
b = c(3,1,1,0,0,
4,1,0,0,0,
3,2,1,0,0,
1,0,0,0,0)
y = x_new %*% b + sigma* rnorm(nrow(x_new))
y = as.vector(y)
y = c(y, rnorm(maxlag + 1))
cvmodel = timeLagLasso.cv(x= x, y = y, maxlag = 5, method = "Solve.QP")
##timeLagLasso.path
##Fit a path of time-lasso models
#generate simulated data
set.seed(3)
n = 50
maxlag = 5
num_rows_needed = n + maxlag + 1
sigma = 4
x = matrix(rnorm(num_rows_needed * 4), nrow = num_rows_needed)
#create matrix of all possible lags for each variable
x_new = time_lag_matrix(x, maxlag)
b = c(3,1,1,0,0,
4,1,0,0,0,
3,2,1,0,0,
1,0,0,0,0)
y = x_new %*% b + sigma* rnorm(nrow(x_new))
y = as.vector(y)
y = c(y, rnorm(maxlag + 1))
#time lag lasso path discovery
path1 = timeLagLasso.path(x= x, y = y, maxlag = 5, method = "Solve.QP", strongly.ordered = TRUE)
plot(path1)