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]
Re: st: Re: Programmatically determining if predictors have been dropped from a model
From
Steve Samuels <[email protected]>
To
[email protected]
Subject
Re: st: Re: Programmatically determining if predictors have been dropped from a model
Date
Thu, 16 Sep 2010 13:05:42 -0400
--
Barth, if your only goal is to keep the -do file- going, how about
-capture- or -capture noisily-?
Steve
Steven J. Samuels
[email protected]
On Thu, Sep 16, 2010 at 12:53 PM, Joseph Coveney <[email protected]> wrote:
> 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/
>
*
* 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/