Announcement

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

  • Multiple Imputation

    Hi everyone,
    I am a new Stata user. I am working with Stata 12 and mi commands.
    I am trying to impute 5 variables (ordinal and binary) and, then, generate a new variable with these "new complete variables".


    Example:

    mi register imputed provider internet computer debit car
    mi impute logit internet, add(5) force
    mi impute logit computer, add(5) force
    mi impute logit debit, add(5) force
    mi impute ologit provider, add(5) force
    mi impute ologit car, add(5) force


    *provider and car (ordinal variables)
    *internet, computer and debit (binary variables)

    After the imputation, I need to generate a new variable using these 5 imputed variables and 2 other variables (school and healthcare) that are not imputed.

    The problem is that if I use 5 imputation (option "add(5)" ), "mi impute" command generates approximately 35 imputed variables for each ordinal and binary variable imputed. I am not sure if obtaining the mode of these 35 variables is correct, in order to obtain 1 variable/column for each imputed variable for further analysis.
    I don´t want to use an estimate command after the imputation, is the correct approach to obtain the mode in row of these 35 imputed variables (columns)? If it´s not, what should I do? which options do I have?
    *For each imputed variable I obtain 35 columns of "_#_varname", so I consider all of them to obtain the mode.


    Extra question:
    What should I do to obtain the mode in a row? Wich command should I use ? That is obtaining the mode of different imputed values of the 35 new columns for each observation (row)...
    Thank you in advance!



  • #2
    Julia,

    I think there some problems with this approach, although I'm not entirely sure what the correct approach (if any) might be.

    The main problem is that each imputation (mi impute) builds on the previous one. According to the hi help:

    Univariate imputation is used to impute a single variable. It can be used repeatedly
    to impute multiple variables only when the variables are independent and will be used
    in separate analyses. To impute a single variable, you can choose from the following
    methods: regress, pmm, truncreg, intreg, logit, ologit, mlogit, poisson, and nbreg.
    You are doing univariate imputation but then you want to use the imputed variables to generate a new variable, which seems to violate the above rule. Accordingly, you may need to consider a multivariate imputation method. See the help for more details.

    In general, I think using imputation data sets without using mi estimate is a dangerous idea. The statistical properties of these imputation methods have been well worked out and by circumventing them you may be ignoring important sources of error and variability in the analysis of your new variable.

    What about computing your new variable first and then using imputation to fill in missing variables?

    Regards,
    Joe

    P.S. As far as I know, there is no command for getting the row mode of several variables in an observation (although there you can get row means and medians using egen). egen has a mode() function with can be used with by, so if you started with mi set mlong (instead of mi set wide), you might be able do bysort _mi_id: mode_car=mode(car).

    Comment


    • #3
      You should impute all the variables in one command. If you want to use logit and ologit to do this, then you will have to impute with chained equations, mi impute chained.

      If you have other variables that you are going to use in your analysis, they need to be in the imputation models. You've already mentioned school and healthcare, so they need to be in the model at least.

      Code:
      mi impute chained (ologit) provider car (logit) internet computer debit = school healthcare, add(5)
      or, if they are categorical
      Code:
      mi impute chained (ologit) provider car (logit) internet computer debit = i.school i.healthcare, add(5)

      Comment


      • #4

        Thank you very much Joe and Kieran.
        I will try to apply both your recommendations.
        If you have any information about multiple imputation, I will appreciate if you could send it to me.

        Thanks again.
        Julia

        Comment

        Working...
        X