Announcement

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

  • Polychoric factor analysis and interpretation

    Dear Statalist,

    To predict the impact of gender egalitarianism on life satisfaction (7-scale ordinal variable), I wanted to create a factor score from a relevant group of variables (mothers should work: agree to disagree - 5 scale; men should have the right to work when jobs are scarce: agree to disagree - 7 scale etc., five variables in total). As these are all ordinal, I decided to go for polychoric factor analysis. So, one factor score was created as a result (please see the analysis below: hope I did it right!), I looked the factor score up in the data browser, and the factor score looks like a continuous variable.
    • Can I directly (without putting an i. in front) add it to my model s an independent/control variable?
    • Can I interpret this as below?
    Example: Individuals with a more egalitarian attitude towards gender equality are statistically significantly more likely to be satisfied with their lives with the ordered log odds of X.

    Thank you very much in advance.

    Best regards,
    A.

    -----

    polychoric motherworks menbusiness housewifebetter menrightjob wommoreinc

    Polychoric correlation matrix

    motherworks menbusiness housewifebetter menrightjob wommoreinc
    motherworks 1
    menbusiness .28425957 1
    housewifebetter .19026393 .22742278 1
    menrightjob .28492466 .58025867 .21089833 1
    wommoreinc .33885352 .33572039 .140892 .39764391 1

    . display r(sum_w)
    65408

    . matrix r = r(R)

    . factormat r, n(65146) factors(1) (THIS IS THE N OF THE DATA SET, hope I understood it correctly)
    (obs=65,146)

    Factor analysis/correlation Number of obs = 65,146
    Method: principal factors Retained factors = 1
    Rotation: (unrotated) Number of params = 5

    --------------------------------------------------------------------------
    Factor | Eigenvalue Difference Proportion Cumulative
    -------------+------------------------------------------------------------
    Factor1 | 1.53825 1.47170 1.2592 1.2592
    Factor2 | 0.06654 0.07187 0.0545 1.3137
    Factor3 | -0.00533 0.15521 -0.0044 1.3093
    Factor4 | -0.16053 0.05682 -0.1314 1.1779
    Factor5 | -0.21735 . -0.1779 1.0000
    --------------------------------------------------------------------------
    LR test: independent vs. saturated: chi2(10) = 5.5e+04 Prob>chi2 = 0.0000

    Factor loadings (pattern matrix) and unique variances

    ---------------------------------------
    Variable | Factor1 | Uniqueness
    -------------+----------+--------------
    motherworks | 0.4601 | 0.7883
    menbusiness | 0.6726 | 0.5476
    housewifeb~r | 0.3166 | 0.8998
    menrightjob | 0.6983 | 0.5124
    wommoreinc | 0.5351 | 0.7137
    ---------------------------------------

    . predict Factor1
    (regression scoring assumed)

    Scoring coefficients (method = regression)

    ------------------------
    Variable | Factor1
    -------------+----------
    motherworks | 0.17576
    menbusiness | 0.32150
    housewifeb~r | 0.10528
    menrightjob | 0.35539
    wommoreinc | 0.21144
    ------------------------

    (variable means assumed 0; use means() option of factormat for nonzero means)
    (variable std. deviations assumed 1; use sds() option of factormat to change)


  • #2
    Code:
    polychoric motherworks menbusiness housewifebetter menrightjob wommoreinc
    
    Polychoric correlation matrix
    
                         motherworks      menbusiness  housewifebetter      menrightjob       wommoreinc
        motherworks                1
        menbusiness        .28425957                1
    housewifebetter        .19026393        .22742278                1
        menrightjob        .28492466        .58025867        .21089833                1
         wommoreinc        .33885352        .33572039          .140892        .39764391                1
    
    . display r(sum_w)
    65408
    
    . matrix r = r(R)
    
    . factormat r, n(65146) factors(1)
    (obs=65,146)
    
    Factor analysis/correlation                      Number of obs    =     65,146
        Method: principal factors                    Retained factors =          1
        Rotation: (unrotated)                        Number of params =          5
    
        --------------------------------------------------------------------------
             Factor  |   Eigenvalue   Difference        Proportion   Cumulative
        -------------+------------------------------------------------------------
            Factor1  |      1.53825      1.47170            1.2592       1.2592
            Factor2  |      0.06654      0.07187            0.0545       1.3137
            Factor3  |     -0.00533      0.15521           -0.0044       1.3093
            Factor4  |     -0.16053      0.05682           -0.1314       1.1779
            Factor5  |     -0.21735            .           -0.1779       1.0000
        --------------------------------------------------------------------------
        LR test: independent vs. saturated:  chi2(10) = 5.5e+04 Prob>chi2 = 0.0000
    
    Factor loadings (pattern matrix) and unique variances
    
        ---------------------------------------
            Variable |  Factor1 |   Uniqueness 
        -------------+----------+--------------
         motherworks |   0.4601 |      0.7883  
         menbusiness |   0.6726 |      0.5476  
        housewifeb~r |   0.3166 |      0.8998  
         menrightjob |   0.6983 |      0.5124  
          wommoreinc |   0.5351 |      0.7137  
        ---------------------------------------
    
    . predict Factor1
    (regression scoring assumed)
    
    Scoring coefficients (method = regression)
    
        ------------------------
            Variable |  Factor1 
        -------------+----------
         motherworks |  0.17576 
         menbusiness |  0.32150 
        housewifeb~r |  0.10528 
         menrightjob |  0.35539 
          wommoreinc |  0.21144 
        ------------------------
    
    (variable means assumed 0; use means() option of factormat for nonzero means)
    (variable std. deviations assumed 1; use sds() option of factormat to change)

    Comment

    Working...
    X