Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: Re: Programmatically determining if predictors have been dropped from a model
From
"Joseph Coveney" <[email protected]>
To
<[email protected]>
Subject
st: Re: Programmatically determining if predictors have been dropped from a model
Date
Fri, 17 Sep 2010 01:53:37 +0900
Barth Riley wrote:
I am running a series of Monte Carlo simulations using logistic regression.
Occasionally, the regression analysis will drop a variable (due to
collinearity, the variable having only one value, or the variable perfectly
predicting the outcome). I would like to know when a variable has been
dropped in order to prevent my do file from crashing (i.e., when I call test
<indep. Var> and the variable doesn't exit in the model). I have tried using
both logistic and logit functions and neither provide information on the
variables left in the model (i.e., via return list), nor does the confirm
function work with variables as they exist in a model. Does anyone have any
suggestions?
--------------------------------------------------------------------------------
Isn't that kind of information in the coefficient vector (coefficients fixed to
zero, and column equation names containing the letter "o" for "omitted"), and
other ereturn matrixes, like e(Cns), e(rules) and so on?
Joseph Coveney
. sysuse auto
(1978 Automobile Data)
. generate byte k = 1
. generate int weight1 = weight - 1
. logistic foreign i.k c.(weight weight1), nolog
note: 1.k omitted because of collinearity
note: weight1 omitted because of collinearity
Logistic regression Number of obs = 74
LR chi2(1) = 31.96
Prob > chi2 = 0.0000
Log likelihood = -29.054002 Pseudo R2 = 0.3548
------------------------------------------------------------------------------
foreign | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.k | (omitted)
weight | .997416 .0006078 -4.25 0.000 .9962254 .9986079
weight1 | (omitted)
------------------------------------------------------------------------------
. foreach matrix in b Cns rules {
2. matrix list e(`matrix')
3. }
e(b)[1,4]
foreign: foreign: foreign: foreign:
1o. o.
k weight weight1 _cons
y1 0 -.00258739 0 6.2825993
e(Cns)[2,5]
foreign: foreign: foreign: foreign: _Cns:
1o. o.
k weight weight1 _cons _r
r1 1 0 0 0 0
r2 0 0 1 0 0
e(rules)[2,4]
c1 c2 c3 c4
1.k 4 0 0 0
weight1 4 0 0 0
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/