Conditional logistic regression in MP...
Message/Author
 Hayley Jones posted on Tuesday, June 15, 2010 - 2:59 am
Is it possible to do conditional logistic regression in MPlus? I'm analysing an individually matched case-control study and need to account for the matching.

Before extending the model to add in possible mediators, I'm trying to simply replicate a conditional logistic regression which I first fitted in Stata.

The WinBUGS manual gives me an idea: conditional logistic regression is equivalent to a standard logistic regression with fixed effect intercepts that are specific to each pair. So e.g. in Stata
clogit case_control x, strata(id)
gives exactly the same results as
poisson case_control i.id x
where case_control = 1 if case, 0 if control, x is some covariate and id = an id number specific to the pair.

But is there any way that I can force MPlus to do a Poisson regression instead of logistic when it sees a 0/1 outcome?

An alternative trick (also in the WinBUGS manual) is to do a standard logistic regression of a vector of 1's on the DIFFERENCE in covariate values between cases and controls. But if taking differences like this then I don't think it'd be possible to later add in possible mediators.

(See http://www.mrc-bsu.cam.ac.uk/bugs/documentation/exampVol2/node22.html for details of these "tricks")

Thanks in advance for any suggestions!
 Linda K. Muthen posted on Tuesday, June 15, 2010 - 9:03 am
We have not tried this but if the trick is to treat the 0/1 outcome as Poisson, try putting it on the COUNT list in the VARIABLE command.
 Hayley Jones posted on Wednesday, June 16, 2010 - 3:05 am
Thanks for the tip - sounds very promising!

However, for the trick to work, I need a fixed intercept in the Poisson model specific to each of 432 case-control pairs. So I tried regressing my (Poisson) case control indicator on the variable ID, telling MPlus that ID is a categorical variable.

I then get the error message
"Categorical variable ID contains 432 categories. This exceeds the maximum allowed of 10."

Is there a way around this?
 Hayley Jones posted on Wednesday, June 16, 2010 - 4:32 am
As a follow-up to this: I now created dummy variables for the different levels of ID and tried regressing case-control status on these (so 431 dummy variables plus some other binary covariates).

But this leads to memory issues ("THERE IS NOT ENOUGH MEMORY SPACE TO RUN Mplus ON THE CURRENT INPUT FILE") even if I close down all other programs.

Of course I'm not actually interested in the values of these pair-specific intercepts but need to fit them to get the correct answer...

Any suggestions?!

Many thanks again.

Hayley
 Jon Heron posted on Wednesday, June 16, 2010 - 5:13 am
Hi Hayley,

why not drop 400+ of your cases and try this. At least it'll show if you on the right lines.

J

p.s. sorry for talking to you via a US-based web-forum when you only work downstairs from me
 Jon Heron posted on Wednesday, June 16, 2010 - 5:52 am
I've just found a Stata FAQ showing the equivalence between clogit and the Rasch model.

Therefore, I wonder if this is as simple as getting the data into wide format and estimating the difference in item difficulty between ICC's for two binary outcome variables - cases and controls
 Hayley Jones posted on Wednesday, June 16, 2010 - 8:30 am
A note for anyone else reading this (I've spoken to Jon!):

After reducing the dataset to 30 matched pairs, the Poisson approach gave the correct point estimates, but different ses than Stata. The memory problem of course still stands for the full dataset.

Currently reading about the Rasch model to see if this is an alternative way to approach the problem...