Page 1 of 1

predict probability and CI

Posted: Wed Nov 28, 2018 6:19 pm
by rodrigowu
Hi,

I find runmlwin is not compatible with command "margins".
So, I fit a multinominal model and then calculate probabilities by hand using the expression like:
"Pr(y = 1) = " exp([FP1]cons_1)/ ///
(1 + exp([FP1]cons_1) + exp([FP2]cons_2) + exp([FP3]cons_3))"
But I am not sure the correct way to calculate 95% CI of the predicted probability. Does anyone know this? Thank you!

Best wishes,

Rodrigo

Re: predict probability and CI

Posted: Thu Nov 29, 2018 11:41 am
by GeorgeLeckie
Hi Rodrigo,

That is correct runmlwin is not comaptabile with margins.

However, you should be able to do what you want simply by using the nlcom command to calculate the expression you have written out.

Best wishes

George

Re: predict probability and CI

Posted: Thu Nov 29, 2018 12:44 pm
by rodrigowu
Hi George,

Thank you for your kind reply. I have calculated the probabilities for each response of the multinominal model by hand. But I need 95% CI of prediction, and hence have to calculate standard error of prediction by hand as well (I am not sure the stata command predict se, stdp can work in this circumstance). I didn't find such examples in MLwin User Manual. Could you give me advice how to get standard error of prediction of the multinominal model?

Thanks

Rodrigo

Re: predict probability and CI

Posted: Thu Nov 29, 2018 3:02 pm
by rodrigowu
Hi George,

I just manage to get s.e. just by copying or replacing original vars with a set of vars_1 and vars_2 which the stata recognises. The commands are like these (response 0: reference; response 1: oc; response 2: ic):

Code: Select all

predict ocxb, outcome(FP1) xb
predict ocse, outcome(FP1) stdp 
predict icxb, outcome(FP2) xb
predict icse, outcome(FP2) stdp
The predicted ocxb and icxb are exactly the same as I calculated by hand. The two probabilities are thus calculated like

Code: Select all

gen prob_oc = exp(ocxb)/(1+exp(ocxb)+exp(icxb))
gen prob_ic = exp(icxb)/(1+exp(ocxb)+exp(icxb))
I can also calculate lower and upper bounds of linear prediction

Code: Select all

gen oclb = ocxb - 1.96*ocse
gen ocub = ocxb + 1.96*ocse
gen iclb = icxb - 1.96*icse
gen icub = icxb + 1.96*icse
So far so good. However, I don't know if calculating CIs is as straightforward as probabilities, because it involves lower and upper bounds of both oc and ic. I

Are the following expressions for calculating lower and upper bounds of the probabilities of oc correct?

Code: Select all

gen oclbp = exp(oclb)/(1+exp(oclb)+exp(iclb))
gen ocubp = exp(ocub)/(1+exp(ocub)+exp(icub))
Thank you

Rodrigo