[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
Maarten buis <maartenbuis@yahoo.co.uk> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
st: Re: Ordered probit: how to test normality of the residuals |

Date |
Tue, 18 Sep 2007 15:34:39 +0100 (BST) |

--Kate wrote: > How can I test the normality of the residuals after the ordered > probit model? Is there any command to run LM-test FOR NORMALITY?.. Tests for normality are difficult enough when we actually have the variables that is supposed to be normal. What you are proposing is a test on a latent (unobserved) variable. I am sure someone has at sometime invented such a test, but I have severe doubts about the power of such a test. Always remember that whatever Stata spits out at you is never going to be any better than whatever you have given Stata to begin with, and in this case that is ordinal data + some assumptions of how that data was created. Moreover, there are more important assumptions to test, for instance the linearity of the effect of you explanatory variables. One graph I like to look at is the graph below. These are pseudo-residuals in the sense that they use the original scaling of the dependent variable, which defies the very purpose of -oprobit- (the dependent variable is ordinal and the scaling is unknown), but if you keep that in mind I still think that these types of graphs are much more informative about any problems in your model and what to do about them. *------------------------ begin example -------------------- sysuse auto, clear recode rep78 1=2 oprobit rep78 mpg foreign predict pnosq* gen yhatnosq = 0 local i = 0 levelsof rep78 foreach l in `r(levels)' { replace yhatnosq = yhatnosq + pnosq`i++'*`l' } gen residnosq = rep78 - yhatnosq gen mpgsq = mpg^2 oprobit rep78 mpg mpgsq foreign predict psq* levelsof rep78 gen yhatsq = 0 local i = 0 foreach l in `r(levels)' { replace yhatsq = yhatsq + psq`i++'*`l' } gen residsq = rep78 - yhatsq twoway scatter residnosq mpg || /* */ scatter residsq mpg || /* */ lowess residnosq mpg, /* */ clpattern(shortdash) || /* */ lowess residsq mpg, /* */ clpattern(longdash) /* */ yline(0) /* */ ytitle("reisduals") /* */ title("pseudo-residuals for models with" /* */ "and without squared mpg") /* */ legend(order(1 "no square" /* */ 2 "square" /* */ - " " "smoothed" /* */ 3 "no square" /* */ 4 "square")) *------------------------ end example ------------------------ (For more on how to use examples I sent to the Statalist, see http://home.fsw.vu.nl/m.buis/stata/exampleFAQ.html ) Hope this helps, Maarten ----------------------------------------- Maarten L. Buis Department of Social Research Methodology Vrije Universiteit Amsterdam Boelelaan 1081 1081 HV Amsterdam The Netherlands visiting address: Buitenveldertselaan 3 (Metropolitan), room Z434 +31 20 5986715 http://home.fsw.vu.nl/m.buis/ ----------------------------------------- ___________________________________________________________ Want ideas for reducing your carbon footprint? Visit Yahoo! For Good http://uk.promotions.yahoo.com/forgood/environment.html * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**References**:**[no subject]***From:*System Manager <manager@hsphsun3.harvard.edu>

- Prev by Date:
**st: Stepwise (m)logit** - Next by Date:
**st: Difference Sargan Test for Dynamic Panel Data in Stata 10** - Previous by thread:
**[no subject]** - Next by thread:
**RE: st: can't reproduce bootstrap confidence intervals** - Index(es):

© Copyright 1996–2017 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |