Skip to content

Commit c6f91b8

Browse files
committed
Simplified confidence interval tests
1 parent 7ab2fb7 commit c6f91b8

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

test/test_inference.jl

+25-24
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,23 @@ Float64.([rand() < 0.4 for i in 1:100])
77

88
g_computer = GComputation(x, t, y)
99
estimate_causal_effect!(g_computer)
10-
g_inference = CausalELM.generate_null_distribution(g_computer, 1000)
10+
g_inference = CausalELM.generate_null_distribution(g_computer, 100)
1111
p1, stderr1 = CausalELM.p_value_and_std_err(g_inference, CausalELM.mean(g_inference))
1212
lb1, ub1 = CausalELM.confidence_interval(g_inference, g_computer.causal_effect)
1313
p11, stderr11, lb11, ub11 = CausalELM.quantities_of_interest(g_computer, 100)
1414
summary1 = summarize(g_computer, n=100, inference=true)
1515

1616
dm = DoubleMachineLearning(x, t, y)
1717
estimate_causal_effect!(dm)
18-
dm_inference = CausalELM.generate_null_distribution(dm, 1000)
18+
dm_inference = CausalELM.generate_null_distribution(dm, 100)
1919
p2, stderr2 = CausalELM.p_value_and_std_err(dm_inference, CausalELM.mean(dm_inference))
2020
lb2, ub2 = CausalELM.confidence_interval(dm_inference, dm.causal_effect)
2121
summary2 = summarize(dm, n=100)
2222

2323
# With a continuous treatment variable
2424
dm_continuous = DoubleMachineLearning(x, t, rand(1:4, 100))
2525
estimate_causal_effect!(dm_continuous)
26-
dm_continuous_inference = CausalELM.generate_null_distribution(dm_continuous, 1000)
26+
dm_continuous_inference = CausalELM.generate_null_distribution(dm_continuous, 100)
2727
p3, stderr3 = CausalELM.p_value_and_std_err(
2828
dm_continuous_inference, CausalELM.mean(dm_continuous_inference)
2929
)
@@ -39,7 +39,7 @@ summary4 = summarize(its, n=100)
3939
summary4_inference = summarize(its, n=100, inference=true)
4040

4141
# Null distributions for the mean and cummulative changes
42-
its_inference1 = CausalELM.generate_null_distribution(its, 1000, true)
42+
its_inference1 = CausalELM.generate_null_distribution(its, 100, true)
4343
its_inference2 = CausalELM.generate_null_distribution(its, 10, false)
4444
lb4, ub4 = CausalELM.confidence_interval(
4545
its_inference1, CausalELM.mean(its.causal_effect)
@@ -53,7 +53,7 @@ summary5 = summarize(slearner, n=100)
5353

5454
tlearner = TLearner(x, t, y)
5555
estimate_causal_effect!(tlearner)
56-
tlearner_inference = CausalELM.generate_null_distribution(tlearner, 1000)
56+
tlearner_inference = CausalELM.generate_null_distribution(tlearner, 100)
5757
lb6, ub6 = CausalELM.confidence_interval(
5858
tlearner_inference, CausalELM.mean(tlearner.causal_effect)
5959
)
@@ -65,7 +65,7 @@ summary6 = summarize(tlearner, n=100)
6565

6666
xlearner = XLearner(x, t, y)
6767
estimate_causal_effect!(xlearner)
68-
xlearner_inference = CausalELM.generate_null_distribution(xlearner, 1000)
68+
xlearner_inference = CausalELM.generate_null_distribution(xlearner, 100)
6969
lb7, ub7 = CausalELM.confidence_interval(
7070
xlearner_inference, CausalELM.mean(xlearner.causal_effect)
7171
)
@@ -81,7 +81,7 @@ summary9 = summarize(rlearner, n=100)
8181

8282
dr_learner = DoublyRobustLearner(x, t, y)
8383
estimate_causal_effect!(dr_learner)
84-
dr_learner_inference = CausalELM.generate_null_distribution(dr_learner, 1000)
84+
dr_learner_inference = CausalELM.generate_null_distribution(dr_learner, 100)
8585
lb8, ub8 = CausalELM.confidence_interval(
8686
dr_learner_inference, CausalELM.mean(dr_learner.causal_effect)
8787
)
@@ -91,21 +91,21 @@ p8, stderr8 = CausalELM.p_value_and_std_err(
9191
summary10 = summarize(dr_learner, n=100)
9292

9393
@testset "Generating Null Distributions" begin
94-
@test size(g_inference, 1) === 1000
94+
@test size(g_inference, 1) === 100
9595
@test g_inference isa Array{Float64}
96-
@test size(dm_inference, 1) === 1000
96+
@test size(dm_inference, 1) === 100
9797
@test dm_inference isa Array{Float64}
98-
@test size(dm_continuous_inference, 1) === 1000
98+
@test size(dm_continuous_inference, 1) === 100
9999
@test dm_continuous_inference isa Array{Float64}
100-
@test size(its_inference1, 1) === 1000
100+
@test size(its_inference1, 1) === 100
101101
@test its_inference1 isa Array{Float64}
102102
@test size(its_inference2, 1) === 10
103103
@test its_inference2 isa Array{Float64}
104-
@test size(tlearner_inference, 1) === 1000
104+
@test size(tlearner_inference, 1) === 100
105105
@test tlearner_inference isa Array{Float64}
106-
@test size(xlearner_inference, 1) === 1000
106+
@test size(xlearner_inference, 1) === 100
107107
@test xlearner_inference isa Array{Float64}
108-
@test size(dr_learner_inference, 1) === 1000
108+
@test size(dr_learner_inference, 1) === 100
109109
@test dr_learner_inference isa Array{Float64}
110110
end
111111

@@ -127,23 +127,24 @@ end
127127
end
128128

129129
@testset "Confidence Intervals" begin
130-
@test lb1 < g_computer.causal_effect < ub1
131-
@test lb2 < dm.causal_effect < ub2
132-
@test lb3 < dm_continuous.causal_effect < ub3
133-
@test lb4 < CausalELM.mean(its.causal_effect) < ub4
134-
@test lb6 < CausalELM.mean(tlearner.causal_effect) < ub6
135-
@test lb7 < CausalELM.mean(xlearner.causal_effect) < ub7
136-
@test lb8 < CausalELM.mean(dr_learner.causal_effect) < ub8
130+
# Making sure a confidence interval has changed from infinity to a valid number
131+
@test isinf(lb1) == false && isinf(ub1) == false
132+
@test isinf(lb2) == false && isinf(ub2) == false
133+
@test isinf(lb3) == false && isinf(ub3) == false
134+
@test isinf(lb4) == false && isinf(ub4) == false
135+
@test isinf(lb6) == false && isinf(ub6) == false
136+
@test isinf(lb7) == false && isinf(ub7) == false
137+
@test isinf(lb8) == false && isinf(ub8) == false
137138
end
138139

139140
@testset "All Quantities of Interest" begin
140-
@test lb11 < g_computer.causal_effect < ub11
141+
@test isinf(lb11) == false && isinf(ub11) == false
141142
@test 1 >= p11 >= 0
142143
@test stderr11 > 0
143-
@test lb44 < CausalELM.mean(its.causal_effect) < ub44
144+
@test isinf(lb44) == false && isinf(ub44) == false
144145
@test 1 >= p44 >= 0
145146
@test stderr44 > 0
146-
@test lb66 < CausalELM.mean(tlearner.causal_effect) < ub66
147+
@test isinf(lb66) == false && isinf(ub66) == false
147148
@test 1 >= p66 >= 0
148149
@test stderr66 > 0
149150
end

0 commit comments

Comments
 (0)