Skip to content

Commit 1115635

Browse files
author
Jelena Markovic
committed
subgrad condition option added
1 parent 07b6bb7 commit 1115635

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

selectiveInference/R/funs.randomized.R

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,15 +258,20 @@ conditional_density = function(noise_scale, lasso_soln) {
258258
return(lasso_soln)
259259
}
260260

261-
randomized_inference = function(X, y, sigma, lam, noise_scale, ridge_term, level=0.9){
261+
randomized_inference = function(X, y, sigma, lam, noise_scale, ridge_term,
262+
condition_subgrad=FALSE, level=0.9){
262263

263264
n = nrow(X)
264265
p = ncol(X)
265266
lasso_soln = selectiveInference:::randomizedLASSO(X, y, lam, noise_scale, ridge_term)
266267
active_set = lasso_soln$active_set
267268
inactive_set = lasso_soln$inactive_set
268269
nactive = length(active_set)
269-
270+
271+
if (condition_subgrad==TRUE){
272+
lasso_soln=conditional_density(noise_scale,lasso_soln)
273+
}
274+
270275
dim = length(lasso_soln$observed_opt_state)
271276
print(paste("chain dim", dim))
272277
S = selectiveInference:::sample_opt_variables(lasso_soln, jump_scale=rep(1/sqrt(n), dim), nsample=10000)

tests/randomized/test_instances.R

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ 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=10, level=0.9){
29-
rho=0.
28+
collect_results = function(n,p,s, nsim=100, level=0.9){
29+
rho=0.3
3030
lam=1.
3131
sigma=1
3232
sample_pvalues = c()
@@ -38,7 +38,7 @@ collect_results = function(n,p,s, nsim=10, level=0.9){
3838
beta=data$beta
3939
ridge_term=sd(y)/sqrt(n)
4040
noise_scale = sd(y)/2
41-
result = selectiveInference:::randomized_inference(X,y,sigma,lam,noise_scale,ridge_term, level)
41+
result = selectiveInference:::randomized_inference(X,y,sigma,lam,noise_scale,ridge_term, TRUE, level)
4242
true_beta = beta[result$active_set]
4343
coverage = rep(0, nrow(result$ci))
4444
for (i in 1:nrow(result$ci)){

0 commit comments

Comments
 (0)