Skip to content

Commit 2b49b94

Browse files
author
Jelena Markovic
committed
working instance
1 parent 6dae27c commit 2b49b94

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

selectiveInference/R/funs.randomized.R

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ randomizedLASSO = function(X,
9595
L_E = t(X) %*% X[,E]
9696

9797
coef_term = L_E
98+
print(active_set)
9899
coef_term = coef_term %*% diag(c(rep(1, sum(unpenalized)), sign_soln[active])) # coefficients are non-negative
99100
coef_term[active,] = coef_term[active,] + ridge_term * diag(rep(1, sum(active))) # ridge term
100101

@@ -274,8 +275,9 @@ randomized_inference = function(X, y, sigma, lam, noise_scale, ridge_term, level
274275

275276
dim = length(lasso_soln$observed_opt_state)
276277
print(paste("chain dim", dim))
277-
S = selectiveInference:::sample_opt_variables(lasso_soln, jump_scale=rep(1/sqrt(n), dim), nsample=10000)
278-
opt_samples = S$samples[2001:10000,]
278+
nsample=4000
279+
S = selectiveInference:::sample_opt_variables(lasso_soln, jump_scale=rep(1/sqrt(n), dim), nsample=nsample)
280+
opt_samples = S$samples[2001:nsample,]
279281
print(paste("dim opt samples", toString(dim(opt_samples))))
280282

281283
X_E = X[, active_set]
@@ -290,6 +292,7 @@ randomized_inference = function(X, y, sigma, lam, noise_scale, ridge_term, level
290292

291293
pvalues = rep(0, nactive)
292294
ci = matrix(0, nactive, 2)
295+
293296
for (i in 1:nactive){
294297
target_transform = selectiveInference:::linear_decomposition(observed_target[i],
295298
observed_internal,
@@ -303,7 +306,6 @@ randomized_inference = function(X, y, sigma, lam, noise_scale, ridge_term, level
303306
temp = solve(t(reduced_target_opt_linear)) %*% t(target_opt_linear)
304307
target_offset = temp %*% target_transform$offset_term
305308
target_transform = list(linear_term = as.matrix(target_linear), offset_term = target_offset)
306-
print(dim(reduced_target_opt_linear))
307309
opt_linear = reduced_target_opt_linear[,2:ncol(reduced_target_opt_linear)]
308310
opt_offset = temp %*% opt_transform$offset_term
309311
opt_transform_reduced = list(linear_term = as.matrix(opt_linear), offset_term = opt_offset)
@@ -324,11 +326,13 @@ randomized_inference = function(X, y, sigma, lam, noise_scale, ridge_term, level
324326
return (pivot(observed_target[i]+candidate)-(1-level)/2)
325327
}
326328
rootL = function(candidate){
327-
return (pivot(observed_target[i]+candidate)-(1+level)/2)
329+
return(pivot(observed_target[i]+candidate)-(1+level)/2)
328330
}
329331
pvalues[i] = pivot(0)
330-
line_min = -20*sd(target_sample)
331-
line_max = 20*sd(target_sample)
332+
line_min = -10*sd(target_sample)
333+
line_max = 10*sd(target_sample)
334+
print(rootU(line_min))
335+
print(rootU(line_max))
332336
if (rootU(line_min)*rootU(line_max)<0){
333337
ci[i,2] = uniroot(rootU, c(line_min, line_max))$root+observed_target[i]
334338
} else{

tests/randomized/test_instances.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ gaussian_instance = function(n, p, s, sigma=1, rho=0, signal=6, X=NA,
2525
}
2626

2727

28-
collect_results = function(n,p,s, nsim=100, level=0.9){
28+
collect_results = function(n,p,s, nsim=20, level=0.9){
2929
rho=0.3
30-
lam=1.
30+
lam=1.2
3131
sigma=1
3232
sample_pvalues = c()
3333
sample_coverage = c()

0 commit comments

Comments
 (0)