Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Fixed effects ordinal probit regression


From   Joseph Coveney <[email protected]>
To   Statalist <[email protected]>
Subject   Re: st: Fixed effects ordinal probit regression
Date   Fri, 05 Sep 2003 17:06:07 +0900

James Shaw wrote:

> I was wondering if there is such a thing as fixed effects ordinal probit
> regression.  If so, could one simply add dummy variables for the panel
> indicator (e.g., subject id) to the ordinal probit model to obtain fixed
> effects estimates?  Also, when estimating a fixed effects regression model
> with a subject-level effect, how problematic is it if there are missing
> observations on the dependent variable for some subjects (i.e., unbalanced
> panels)?

----------------------------------------------------------------------------

By analogy to -areg , absorb()-, it seems feasible to create dummy
(indicator) variables for the panel identifier with -oprobit-, but doing
this in an ordered categorical regression risks having "note: [X]
observations completely determined.  Standard errors questionable." at the
bottom of the -oprobit- output.  This would raise suspicions about Wald
tests, although in a test case that I tried out where this happens (see
do-file below), the Wald test agrees well with the corresponding likelihood
ratio test.  If panels are dropped due to collinearity in fitting the full
model, then likelihood-ratio testing with the reduced (nested) models is
problematic unless the same panels are fortuitously dropped in the latter.

When observations are missing, handling the panel as a fixed effect seems to
be mechanically possible--in the test case, -oprobit- attained convergence
and didn't seem to drop any panels with a missing value--but it might be
worthwhile to perform Monte Carlo simulations in order to determine whether
hypothesis testing and parameter estimates behave as expected in such a
circumstance before using -oprobit- on an unknown dataset with missing
observations.

-oprobit , cluster()- might serve as an alternative in some circumstances.
With enough panels, another alternative would be to consider the panel as a
random effect, and use -reoprob- or -gllamm-.

Joseph Coveney


----------------------------------------------------------------------------

clear
set more off
set seed 20030906
set obs 6
forvalues i = 1/6 {
    generate float var`i' = 0.7
    quietly replace var`i' = 1.0 in `i'
}
mkmat var*, matrix(A)
local means m1
forvalues i = 2/6 {
    local means = "`means'" + " m`i'"
}
drawnorm `means', n(40) corr(A) clear
generate byte pid = _n
forvalues i = 1/6 {
    generate byte res`i' = 1 + int(norm(m`i') / 0.2)
}
matrix drop A
drop m*
reshape long res, i(pid) j(tim)
xi: oprobit res i.tim i.pid, nolog
estimates store A
test _Itim_2 _Itim_3 _Itim_4 _Itim_5 _Itim_6
xi: oprobit res i.pid, nolog
lrtest A, stats
xi: oprobit res i.tim, cluster(pid) nolog
xi: reoprob res i.tim, i(pid) quad(30) nolog
// consider -quadchk- here
drop if uniform() > 0.85
xi: oprobit res i.tim i.pid, nolog
estimates store A
test _Itim_2 _Itim_3 _Itim_4 _Itim_5 _Itim_6
xi: oprobit res i.pid, nolog
lrtest A, stats
xi: oprobit res i.tim, cluster(pid) nolog
xi: reoprob res i.tim, i(pid) quad(30) nolog
exit

----------------------------------------------------------------------------




*
*   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/



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