I am looking for a program (in R or SAS or standalone, if free or low cost) that will do power analysis for ordinal logistic regression.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
I prefer to do power analyses beyond the basics by simulation. With precanned packages, I am never quite sure what assumptions are being made.
Simulating for power is quite straight forward (and affordable) using R.
Here is a simple example with ordinal regression:
Besides Snow's excellent example, I believe you can also do a power simulation by resampling from an existing dataset which has your effect. Not quite a bootstrap, since you're not sampling-with-replacement the same n, but the same idea.
So here's an example: I ran a little self-experiment which turned in a positive point-estimate but because it was little, was not nearly statistically-significant in the ordinal logistic regression. With that point-estimate, how big a n would I need? For various possible n, I many times generated a dataset & ran the ordinal logistic regression & saw how small the p-value was:
With the output (for me):
In this case, at n=600 the power was 32%. Not very encouraging.
(If my simulation approach is wrong, please someone tell me. I'm going off a few medical papers discussing power simulation for planning clinical trials, but I'm not at all certain about my precise implementation.)
I would add one other thing to Snow's answer (and this applies to any power analysis via simulation) - pay attention to whether you are looking for a 1 or 2 tailed test. Popular programs like G*Power default to 1-tailed test, and if you are trying to see if your simulations match them (always a good idea when you are learning how to do this), you will want to check that first.
To make Snow's run a 1-tailed test, I would add a parameter called "tail" to the function inputs, and put something like this in the function itself:
The 1-tailed version basically checks to see that the coefficient is positive, and then cuts the p-value in half.