Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Perturb with Mlogit

    Hi All,

    I estimate a multinomial logit model with 10 independent variables. I suspect that there might be a multicollinearity issue. So, I am using perturb command. However, I always get an error message. If I use perturb command for logit or linear models, I do not get any errors. I have added a sample code that demonstrates what I am doing. I would appreciate any help.

    clear all
    set obs 90
    gen y = 0 if _n<=30
    replace y = 1 if _n>30 & _n<=60
    replace y = 2 if _n>60

    gen x1 = rnormal(0,1)
    gen x2 = rnormal(5,2)
    gen x3 = rnormal(10,3)


    perturb: mlogit y x1 x2 x3, poptions(pvars(x1 x2) prange(1 1))



    variable x1 not found
    r(111);

    end of do-file

  • #2
    It's probably because mlogit is a multi-equation estimation command and so there is no "variable x1" for the user-written command to find.

    About your problem, what does
    Code:
    regress y x1 x2 x3
    estat vif
    say?

    If you find a troublemaker, then you can always jitter it manually with generate double jittered_var = rnormal(var, sigma) for some small value of the standard deviation.

    Or just omit it from the list of predictors.

    Comment


    • #3
      Thanks for your response Joseph Coveney . I do not get any error when I run vif with regress.

      So, do you recommend manual perturbations by adding normal random variables to the tested independent variables and estimating for 100 times and storing the coefficients? If I understand it correctly, that makes sense to me since this is I believe what exactly perturb command is doing. Thank you.

      Comment


      • #4
        Originally posted by ulas alk View Post
        I do not get any error when I run vif with regress.
        Yeah, I know. But what does it say? Which, if any, predictor is giving you trouble?

        If none, then your suspicion
        I suspect that there might be a multicollinearity issue.
        might be misplaced, and you'll need to look elsewhere for the source of whatever your unspecified problem is.

        So, do you recommend manual perturbations by adding normal random variables to the tested independent variables and estimating for 100 times and storing the coefficients?
        No, actually. If a near-collinear set of predictors is giving me trouble with unstable coefficients and exploding standard errors in a regression model fitted by iterative maximum likelihood, then my inclination is to omit one or however many it takes until I no longer have a problematic near-collinear set of predictors.

        Comment


        • #5
          Thanks again Joseph Coveney

          There is no issue or warning with the results but since some variables have a correlation of 0.8, I thought that my marginal effect estimations might be incorrect. Anyways, I tried partitioning my mlogit into two parts and estimate two logit models separately. I think I do not suffer from multicollinearity since my coefficients seem stable.

          One last question, is there a theory for prange values? How small should perturbations be? I put 10% of he stdev of the variables and tried with different values.

          Comment


          • #6
            Originally posted by ulas alk View Post
            . . . is there a theory for prange values? How small should perturbations be?
            I don't know; I only briefly looked at perturb (from SSC) and it was many years ago

            Comment

            Working...
            X