Skip to content

Commit 0fa7c4e

Browse files
author
Jelena Markovic
committed
condl bug fixed
1 parent 68e27f4 commit 0fa7c4e

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed

selectiveInference/R/funs.randomized.R

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,11 +145,10 @@ randomizedLASSO = function(X,
145145
(sum(opt_state[(active_start+1):inactive_start] < 0) > 0)) {
146146
return(-Inf)
147147
}
148-
149148
D = log_density_gaussian_conditional_(noise_scale,
150149
opt_transform$linear_term,
151150
as.matrix(opt_state),
152-
observed_raw)
151+
observed_raw+opt_transform$offset_term)
153152
return(D)
154153
}
155154

tests/randomized/test_instances.R

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,15 @@ conditional_density = function(noise_scale, lasso_soln){
3737

3838
nactive = length(active_set)
3939
B = opt_linear[,1:nactive]
40-
beta_offset = observed_raw+opt_offset
40+
beta_offset = opt_offset
4141
p=length(observed_opt_state)
4242
if (nactive<p){
4343
beta_offset = beta_offset+(opt_linear[,(nactive+1):p] %*% observed_opt_state[(nactive+1):p])
4444
}
4545
opt_transform = list(linear_term=B,
4646
offset_term = beta_offset)
4747
reduced_B = chol(t(B) %*% B)
48+
beta_offset = beta_offset+observed_raw
4849
reduced_beta_offset = solve(t(reduced_B)) %*% (t(B) %*% beta_offset)
4950

5051
log_condl_optimization_density = function(opt_state) {
@@ -53,7 +54,7 @@ conditional_density = function(noise_scale, lasso_soln){
5354
}
5455
D = selectiveInference:::log_density_gaussian_conditional_(noise_scale,
5556
reduced_B,
56-
as.matrix(observed_opt_state[1:nactive]),
57+
as.matrix(opt_state),
5758
reduced_beta_offset)
5859
return(D)
5960
}
@@ -73,7 +74,7 @@ run_instance = function(X,y,sigma, lam, noise_scale, ridge_term){
7374
nactive = length(active_set)
7475
print(paste("nactive", nactive))
7576

76-
#lasso_soln = conditional_density(noise_scale, lasso_soln)
77+
lasso_soln = conditional_density(noise_scale, lasso_soln)
7778

7879
dim=length(lasso_soln$observed_opt_state)
7980
print(paste("chain dim", dim))
@@ -88,8 +89,6 @@ run_instance = function(X,y,sigma, lam, noise_scale, ridge_term){
8889
observed_target = solve(t(X_E) %*% X_E) %*% t(X_E) %*% y
8990
observed_internal = c(observed_target, t(X_minusE) %*% (y-X_E%*% observed_target))
9091
internal_transform = lasso_soln$internal_transform
91-
92-
observed_opt_state = lasso_soln$observed_opt_state
9392
opt_transform = lasso_soln$optimization_transform
9493
observed_raw = lasso_soln$observed_raw
9594

@@ -100,7 +99,6 @@ run_instance = function(X,y,sigma, lam, noise_scale, ridge_term){
10099
target_cov[i,i],
101100
cov_target_internal[,i],
102101
internal_transform)
103-
104102
target_sample = rnorm(nrow(opt_samples)) * sqrt(target_cov[i,i])
105103

106104
pivot = function(candidate){

0 commit comments

Comments
 (0)