Announcement

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

  • Probit model with survey data and multiple imputation

    Good day,

    I am currently using multiple imputed household survey data and trying to run a probit model, where my dependent variable is "participation in the stock market 1-Yes and 2-No" and it is labelled as hd1500, however I cannot seem to get it right. I think my problem might be that my dependent variable is a 1/2 variable and probit models require a 0/1 variable. Could you perhaps assist in how I can go about changing the dependent variable if this is the problem? (I am very new to Stata!)

    The code I used:

    . mi svyset [pw=hw0010], bsrweight(wr0001-wr1000) vce(bootstrap)

    . mi estimate, vceok esampvaryok: svy, noisily: probit hd1500 hd1800 ra0200_1 dn3001
    . probit hd1500 hd1800 ra0200_1 dn3001
    an error occurred when svy executed probit
    an error occurred when bootstrap executed probit
    an error occurred when mi estimate executed svy:probit on m=1

    r(2000);


    I also tried using a oprobit model to solve the problem from not using a 0/1 dependent variable, however, then Stata tells me convergence does not occur.

    . mi estimate, vceok esampvaryok: svy, noisily: oprobit hd1500 dn3001
    . oprobit hd1500 dn3001
    convergence not achieved
    convergence not achieved
    an error occurred when svy executed oprobit
    an error occurred when bootstrap executed oprobit
    an error occurred when mi estimate executed svy:oprobit on m=1

    r(430);


    I would really appreciate any help!
    Thank you in advance.

    Warm regards
    Nadia

  • #2
    The first thing I would do is recode hd1500 so it was 0/1 instead of 1/2, There are various ways to do this, e.g

    gen hd1500x = hd1500 - 1
    mi estimate, vceok esampvaryok: svy, noisily: probit hd1500x hd1800 ra0200_1 dn3001

    Since oprobit didn't work I suspect there are other problems, but try the simple fix first and see where that gets you.
    -------------------------------------------
    Richard Williams, Notre Dame Dept of Sociology
    StataNow Version: 19.5 MP (2 processor)

    EMAIL: [email protected]
    WWW: https://www3.nd.edu/~rwilliam

    Comment


    • #3
      Thank you very much! It worked perfectly for most variables, however, for certain variables it gives an error saying convergence did not occur...
      Is there perhaps a way to solve this?

      My code with the errors:

      . mi estimate, cmdok vceok esampvaryok noisily: svy: probit hd1500 dn3001

      (running svy:probit on m=1)
      (running probit on estimation sample)
      convergence not achieved
      convergence not achieved
      an error occurred when svy executed probit
      an error occurred when bootstrap executed probit
      an error occurred when mi estimate executed svy:probit on m=1

      r(430);


      Thank you again!
      Nadia

      Comment


      • #4
        I would try running it without svy and see what happens. You should try to isolate where the problem is.
        -------------------------------------------
        Richard Williams, Notre Dame Dept of Sociology
        StataNow Version: 19.5 MP (2 processor)

        EMAIL: [email protected]
        WWW: https://www3.nd.edu/~rwilliam

        Comment

        Working...
        X