Skip to content

Commit 8f99570

Browse files
author
Jelena Markovic
committed
added ci
1 parent 0fa7c4e commit 8f99570

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

tests/randomized/test_instances.R

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ conditional_density = function(noise_scale, lasso_soln){
6565
}
6666

6767

68-
run_instance = function(X,y,sigma, lam, noise_scale, ridge_term){
68+
randomized_inference = function(X,y,sigma, lam, noise_scale, ridge_term){
6969
n=nrow(X)
7070
p=ncol(X)
7171
lasso_soln=selectiveInference:::randomizedLASSO(X, y, lam, noise_scale, ridge_term)
@@ -74,7 +74,7 @@ run_instance = function(X,y,sigma, lam, noise_scale, ridge_term){
7474
nactive = length(active_set)
7575
print(paste("nactive", nactive))
7676

77-
lasso_soln = conditional_density(noise_scale, lasso_soln)
77+
#lasso_soln = conditional_density(noise_scale, lasso_soln)
7878

7979
dim=length(lasso_soln$observed_opt_state)
8080
print(paste("chain dim", dim))
@@ -93,6 +93,7 @@ run_instance = function(X,y,sigma, lam, noise_scale, ridge_term){
9393
observed_raw = lasso_soln$observed_raw
9494

9595
pivots = rep(0, nactive)
96+
ci = matrix(0, nactive, 2)
9697
for (i in 1:nactive){
9798
target_transform = selectiveInference:::linear_decomposition(observed_target[i],
9899
observed_internal,
@@ -110,11 +111,24 @@ run_instance = function(X,y,sigma, lam, noise_scale, ridge_term){
110111
observed_raw)
111112
return(mean((target_sample<observed_target[i])*weights)/mean(weights))
112113
}
113-
114+
level = 0.9
115+
rootU = function(candidate){
116+
return (pivot(observed_target[i]+candidate)-(1-level)/2)
117+
}
118+
rootL = function(candidate){
119+
return (pivot(observed_target[i]+candidate)-(1+level)/2)
120+
}
114121
pivots[i] = pivot(0)
122+
line_min = -10*sd(target_sample)
123+
line_max = 10*sd(target_sample)
124+
ci[i,1] = uniroot(rootU, c(line_min, line_max))$root+observed_target[i]
125+
ci[i,2] = uniroot(rootL,c(line_min, line_max))$root+observed_target[i]
115126
}
116127
print(paste("pivots", toString(pivots)))
117-
return(pivots)
128+
for (i in 1:nactive){
129+
print(paste("CIs", toString(ci[i,])))
130+
}
131+
return(list(pivots=pivots, ci=ci))
118132
}
119133

120134
collect_results = function(n,p,s, nsim=1){
@@ -129,8 +143,13 @@ collect_results = function(n,p,s, nsim=1){
129143
y=data$y
130144
ridge_term=sd(y)/sqrt(n)
131145
noise_scale = sd(y)/2
132-
result = run_instance(X,y,sigma, lam, noise_scale, ridge_term)
133-
sample_pivots = c(sample_pivots, result)
146+
#X = matrix(rnorm(n * p), n, p)
147+
#y = rnorm(n)
148+
#lam = 20 / sqrt(n)
149+
#noise_scale = 0.01 * sqrt(n)
150+
#ridge_term = .1 / sqrt(n)
151+
result = randomized_inference(X,y,sigma,lam,noise_scale,ridge_term)
152+
sample_pivots = c(sample_pivots, result$pivots)
134153
}
135154

136155
jpeg('pivots.jpg')

tests/randomized/test_randomized.R

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
library(selectiveInference)
22

33
smoke_test = function() {
4-
54
n = 100; p = 50
65
X = matrix(rnorm(n * p), n, p)
76
y = rnorm(n)

0 commit comments

Comments
 (0)