Open gabeerion opened 3 years ago
What I implemented:
glrtTorchCis
function to get 95% confidence intervals on all coefficients. We say H0 "all coefficients are zero" is rejected if any confidence interval does not contain 0.Plots:
d{}Beta{}.png
are generated from GLRT_analytic_test.ipynb
. They represent tests with a d-dimensional coefficient vector, with the true coefficient vector having Beta in all components. For each coefficient, we plot the p-value (from the analytic version) on the x-axis and the confidence intervals (from the empirical version) on the y-axis. The confidence interval is colored green if the empirical & analytic tests agree on whether to reject H0, and red if they disagree.True{}-dim{}.png
are generated from GLRT Coverage.ipynb
. They plot the same thing as above, but report the coverage of the empirical confidence intervals over 1000 draws. TrueZero
plots have beta=0, and TrueNonzero
have beta~N(0,1). Note that the CI's for the latter case are very small, so they don't show up in the current plots. :pObservations:
Not sure what to do with this information, although it's probably worthwhile to re-run these notebooks with the more exhaustive search procedure.
Is this a multiple testing problem? The argument there would be that the "empirical" method is performing d
tests: "Is coefficient 1 zero?" "Is coefficient 2 zero?" etc etc, and that these tests are independent, so the probability of rejecting goes to 1 as the number of coefficients increases.
How would we fix this? We could do a multiple testing correction, but honestly, I'm not sure that would then be the same test as the multivariate GLRT (in terms of power).
H0 = "all beta are zero". Should be chiSq with d degrees of freedom