Announcement

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

  • PMM imputation and number of observation

    I am currently using multiple imputation (by predictive mean matching, PMM method) to impute missing values in my dataset. However, the large number of imputed values is making it difficult to perform descriptive analyses and generate new variables.

    For instance, I am trying to impute missing values for income and an 8-item scale, and my dataset contains 4831 observations.

    Click image for larger version

Name:	WechatIMG1946.jpg
Views:	1
Size:	47.7 KB
ID:	1742450


    After imputation, my dataset now has 10246 observations. This is expected as I asked Stata to impute 5 estimates for each missing observation.

    Click image for larger version

Name:	WechatIMG1947.jpg
Views:	1
Size:	50.1 KB
ID:	1742452



    Click image for larger version

Name:	WechatIMG1949.jpg
Views:	1
Size:	93.4 KB
ID:	1742453


    However, I expected the multiple imputations to merge these five results into one answer. The additional observations have created problems for conducting descriptive analysis and generating new variables. For instance, when attempting to calculate the total score by summing e6__1-e6__8, missing values were still present. Additionally, the number of observations was incorrect, preventing any descriptive analysis, such as determining the gender proportion among each income group.

    The following is my code:

    Code:
    mi set mlong
    
    mi register regular a1 age a5 a3 employ_detail a4 c11__1 d2_1__1 d2_1__2 d2_1__3 d2_1__4 d2_1__5 d2_1__6 d2_1__7 ///
    d2_1__8 d3_1 a8__1__open son province b9_1__1 b9_1__2 b9_1__3 b9_1__8 b9_1__9 Eco_c_to_p_group Care_c_to_p_g ///
    Fre_children notcare_children Emo_group iadl
    
    mi register imputed e6__1-e6__8 income
    
    mi impute chained (pmm, knn(10)) e6__1-e6__8 income = i.a1 age i.a5 i.a3 i.employ_detail i.a4 i.c11__1 i.d2_1__1 ///
    i.d2_1__2 i.d2_1__3 i.d2_1__4 i.d2_1__5 i.d2_1__6 i.d2_1__7 i.d2_1__8 i.d3_1 a8__1__open son i.province i.b9_1__1 ///
    i.b9_1__2 i.b9_1__3 i.b9_1__8 i.b9_1__9 i.Eco_c_to_p_group i.Care_c_to_p_g i.Fre_children notcare_children Emo_group ///
    iadl, add(5) rseed(1234)
    
    replace total_score = e6__1 + e6__2 + e6__3 + e6__4 + e6__5 + e6__6 + e6__7 + e6__8
    tab total_score,m
    
    xtile income_group = income, nq(5)
    tab income_group,m
    Attached Files
Working...
X