Announcement

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

  • Exploratory factor analysis with small sample and missing vaalues

    Dear Stata List Users,



    I tried to perform a factor analysis with missing data explained by this thread:



    https://stats.idre.ucla.edu/stata/fa...data-in-stata/



    this are my commands (digi_* hast 35 items)





    mi set mlong



    mi register imputed digi_*



    mi impute mvn digi_*, emonly



    matrix cov_em=r(sigma_em)



    matrix list cov_em
    • Output Stata: symmetric cov_em[1,1]
    c1

    r1 .



    Trying the next comman results in this error message:



    factormat cov_em, n (172) fact (2) ml



    matrix cov_em has missing values





    Does anyone have any suggestions??



  • #2
    It looks like your imputed covariance matrix is completely empty. I've never used mi for this, but could it be that your small sample with missing values is a little too small and with too few non-missing values?

    Comment


    • #3
      I have 173 observation and stating a factor analysis with missing values reduces the sample to 158 observations. So I don't understand why the matrix is completely empty.
      May I ask you what your preferred way of handling missing values is? And might it be ok to procede with a mean imputation even if there are a lot of critical arguments concerning this way of handling missing values?

      Comment


      • #4
        Originally posted by Julia Katharina View Post
        . . . stating a factor analysis with missing values reduces the sample to 158 observations.
        Sorry, I don't know what you're saying here.

        So I don't understand why the matrix is completely empty.
        You realize that Stata is case-sensitive, right? So that
        Code:
        matrix cov_em = r(Sigma_em)
        that the UCLA site shows is not the same as
        Code:
        matrix cov_em=r(sigma_em)
        that you show above.

        Comment


        • #5
          I'm sorry I mean performing a factor analysis with listwise deletion of cases reduces the sample to 158 observations. In addition to that it might be problematic for the factor analysis, I'm afraid that later on, when I'm performing a regression analysis, the sample size will decrease even more.

          That's why I'm interested in how to proceed (not only for the factor analysis) with missing values in analyses with small sample sizes.

          Oh my, no I didn't know that and now it is working. Thank you very much for that hint!

          But I have one more question (and I hope it's not a too stupid one): the UCLA site states that the command factormat requires that the sample size n has to be entered and they use the column-wise minimum, in my case that would be 169 but then it is performing the factor analysis with only that sample size instead of 173?

          Factor analysis/correlation Number of obs = 169
          Method: maximum likelihood Retained factors = 5
          Rotation: (unrotated) Number of params = 160
          Schwarz's BIC = 1539.83
          Log likelihood = -359.5208 (Akaike's) AIC = 1039.04

          --------------------------------------------------------------------------
          Factor | Eigenvalue Difference Proportion Cumulative
          -------------+------------------------------------------------------------
          Factor1 | 12.35235 10.59631 0.6750 0.6750
          Factor2 | 1.75604 0.07779 0.0960 0.7709
          Factor3 | 1.67824 -0.01258 0.0917 0.8626
          Factor4 | 1.69083 0.86803 0.0924 0.9550
          Factor5 | 0.82280 . 0.0450 1.0000
          --------------------------------------------------------------------------
          LR test: independent vs. saturated: chi2(561) = 3585.91 Prob>chi2 = 0.0000
          LR test: 5 factors vs. saturated: chi2(401) = 653.09 Prob>chi2 = 0.0000






          Comment

          Working...
          X