-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathtab.lm.R
95 lines (84 loc) · 3.25 KB
/
tab.lm.R
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# Print linear model simulations, low-dimensional
library(conformalInference)
dim = "lo"
method.nums = 1:4
metric.nums = c(1,2,5)
method.names = c("Conformal","Jackknife","Split","Parametric")
metric.names = c("Coverage", "Length","Time")
lets = c("A","B","C")
tun = rep(1,4) # Which tuning parameter value for each method?
for (j in 1:length(lets)) {
name = paste0("lm.",dim,".sim",lets[j])
x = readRDS(paste0("rds/",name,".rds"))
tab = tab.se = matrix(0,5,length(method.nums))
colnames(tab) = method.names
for (i in 1:length(method.nums)) {
num = method.nums[i]
tab[,i] = c(x$ave.cov[[num]][tun[i]],x$ave.len[[num]][tun[i]],
x$ave.err[[num]][tun[i]],x$ave.opt[[num]][tun[i]],
x$ave.tim[[num]])
tab.se[,i] = c(x$sd.cov[[num]][tun[i]],x$sd.len[[num]][tun[i]],
x$sd.err[[num]][tun[i]],x$sd.opt[[num]][tun[i]],
x$sd.tim[[num]])/sqrt(nrow(x$err[[num]]))
}
tab = tab[metric.nums,]; tab.se = tab.se[metric.nums,]
rownames(tab) = metric.names
print.tex(tab, tab.se, file=paste0("tab/",name,".tex"))
cat(paste0("tab/",name,".tex\n"))
}
#####
# Print linear model simulations, high-dimensional, no ridge
dim = "hi"
method.nums = c(1,2,4)
metric.nums = c(1,2,5)
method.names = c("Conformal","Jackknife","Parametric")
metric.names = c("Coverage", "Length","Time")
lets = c("A","B","C")
tun = rep(1,3) # Which tuning parameter value for each method?
for (j in 1:length(lets)) {
name = paste0("lm.",dim,".sim",lets[j])
x = readRDS(paste0("rds/",name,".rds"))
tab = tab.se = matrix(0,5,length(method.nums))
colnames(tab) = method.names
for (i in 1:length(method.nums)) {
num = method.nums[i]
tab[,i] = c(x$ave.cov[[num]][tun[i]],x$ave.len[[num]][tun[i]],
x$ave.err[[num]][tun[i]],x$ave.opt[[num]][tun[i]],
x$ave.tim[[num]])
tab.se[,i] = c(x$sd.cov[[num]][tun[i]],x$sd.len[[num]][tun[i]],
x$sd.err[[num]][tun[i]],x$sd.opt[[num]][tun[i]],
x$sd.tim[[num]])/sqrt(nrow(x$err[[num]]))
}
tab = tab[metric.nums,]; tab.se = tab.se[metric.nums,]
rownames(tab) = metric.names
print.tex(tab, tab.se, file=paste0("tab/",name,".tex"))
cat(paste0("tab/",name,".tex\n"))
}
#####
# Print linear model simulations, high-dimensional, ridge
dim = "hi"
method.nums = c(1,2,3,4)
metric.nums = c(1,2,3,5)
method.names = c("Conformal","Jackknife","Split","Parametric")
metric.names = c("Coverage","Length","Test error","Time")
lets = c("A","B","C")
tun = rep(3,4) # Which tuning parameter value for each method?
for (j in 1:length(lets)) {
name = paste0("lm.",dim,".sim",lets[j])
x = readRDS(paste0("rds/",name,".rds"))
tab = tab.se = matrix(0,5,length(method.nums))
colnames(tab) = method.names
for (i in 1:length(method.nums)) {
num = method.nums[i]
tab[,i] = c(x$ave.cov[[num]][tun[i]],x$ave.len[[num]][tun[i]],
x$ave.err[[num]][tun[i]],x$ave.opt[[num]][tun[i]],
x$ave.tim[[num]])
tab.se[,i] = c(x$sd.cov[[num]][tun[i]],x$sd.len[[num]][tun[i]],
x$sd.err[[num]][tun[i]],x$sd.opt[[num]][tun[i]],
x$sd.tim[[num]])/sqrt(nrow(x$err[[num]]))
}
tab = tab[metric.nums,]; tab.se = tab.se[metric.nums,]
rownames(tab) = metric.names
print.tex(tab, tab.se, file=paste0("tab/ridge.",name,".tex"))
cat(paste0("tab/ridge.",name,".tex\n"))
}