SEM hmk 4 Eisenberg re-analysis

Due 5/12/14

1997 Child Development article by N. Eisenberg et al. (link)

1. Consider the “Initial Structural Model” (the model with no moderation) that is reported on pp. 302-303 and depicted in Figure 2. Answer the following questions:

a. Does Figure 2 provide a complete representation of the model that Eisenberg ran (after all modifications etc.)? If not, what parameter(s) is/are missing from the figure?

It's missing all the error terms for endogenous variables (disturbances for latent variables) and variances for exogenous variables, but those were probably left off intentionally to avoid cluttering the figure unnecessarily.
They also included method correlations (all the teacher report indicators were correlated, etc.), which are not drawn in the figure.

b. How is method variance treated or not treated in the model?

“Error variances are correlated across rater (e.g. all error variances were correlated across teachers).” p.302

c. Analyzing the model with the tracing rule, what reason(s) would explain a correlation between parent-reported negative emotionality and peer-reported helpfulness?

parent-reported negative emotionality (.353)-> negative emotionality (.415)-> resiliency (.542)-> socially appropriate behavior (.531)-> peer report = .0422
PLUS
parent-reported negative emotionality (.353)-> negative emotionality (-.69)-> emotional control (.863)-> resiliency (.542)-> socially appropriate behavior (.531)-> peer report = -.0605
PLUS
parent-reported negative emotionality (.353)-> negative emotionality (-.60)-> behavioral regulation (-.353)-> resiliency (.542)-> socially appropriate behavior (.531)-> peer report = .0215
PLUS
parent-reported negative emotionality (.353)-> negative emotionality (-.60)-> behavioral regulation (.533)-> socially appropriate behavior (.531)-> peer report = .0599

TOTAL IMPLIED CORRELATION = .0631

What about a correlation between parent-reported attentional control and parent-reported resiliency?

I can do this one, too, I just don't have time right now…

2. Eisenberg reports fitting the “Initial Structural Model” using a 1-step approach – meaning that she immediately began fitting (and then modifying) the full structural model.

Run the analysis yourself, but as a 2-step estimation where you first fit a measurement model and then fit a structural model.

See attached mplus files: eisenberg measurement.inp, eisenberg measurement.out

setwd("/Users/TARDIS/Dropbox/SEM")

library(lavaan)
## This is lavaan 0.5-16
## lavaan is BETA software! Please report any bugs.

data <- as.matrix(read.table("eisenberg.dat", fill=TRUE))
# last column is weird and nearly empty with just one value (the overall SD maybe?). Remove it.
data <- data[,1:13]
# take off first row, which is the SDs
SDs <- data[1,]
# remaining rows (other than the 1st) are the correlation matrix
corrs <- data[-1,]

# convert to covariances for use by lavaan
covs <- cor2cov(corrs, SDs, names = c("t_SocApp", "t_SocStat", "f_SocStat", "f_SocApp", 
                                      "p_AttnCtrl", "t_AttnCtrl", "p_BehReg", "t_BehReg", 
                                      "p_Resil", "t_Resil", "b_BehReg", "p_NegEmo", "t_NegEmo"))

# http://lavaan.ugent.be/tutorial/cov.html

measurement.model <- "
  # latent variables
    SocApp    =~ t_SocApp + f_SocApp
    SocStat   =~ t_SocStat + f_SocStat
    NegEmo    =~ t_NegEmo + p_NegEmo
    Resil     =~ t_Resil + p_Resil
    AttnCtrl  =~ t_AttnCtrl + p_AttnCtrl
    BehReg    =~ t_BehReg + p_BehReg + b_BehReg  
  # correlated residuals
    t_SocApp ~~ t_SocStat + t_NegEmo + t_Resil + t_AttnCtrl + t_BehReg 
    t_SocStat ~~ t_NegEmo + t_Resil + t_AttnCtrl + t_BehReg
    t_NegEmo ~~ t_Resil + t_AttnCtrl + t_BehReg
    t_Resil ~~ t_AttnCtrl + t_BehReg
    t_AttnCtrl ~~ t_BehReg
    p_NegEmo ~~ p_Resil + p_AttnCtrl + p_BehReg 
    p_Resil ~~ p_AttnCtrl + p_BehReg
    p_AttnCtrl ~~ p_BehReg
    f_SocApp ~~ f_SocStat
"
fit <- sem(measurement.model, 
           sample.cov = covs, 
           sample.nobs = 193)
## Warning: lavaan WARNING: covariance matrix of latent variables is not
## positive definite; use inspect(fit,"cov.lv") to investigate.
# in response to an error message about the cov matrix of latent variables
inspect(fit,"cov.lv")
##          SocApp SocStt NegEmo Resil  AttnCt BehReg
## SocApp    0.389                                   
## SocStat   0.256  0.255                            
## NegEmo   -0.247 -0.211  0.351                     
## Resil     0.247  0.190 -0.271  0.357              
## AttnCtrl  0.228  0.170 -0.169  0.175  0.174       
## BehReg    0.437  0.229 -0.254  0.145  0.264  0.670

summary(fit, standardized = TRUE)
## lavaan (0.5-16) converged normally after 104 iterations
## 
##   Number of observations                           193
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic               36.304
##   Degrees of freedom                                28
##   P-value (Chi-square)                           0.135
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   SocApp =~
##     t_SocApp          1.000                               0.624    0.770
##     f_SocApp          0.201    0.037    5.481    0.000    0.126    0.525
##   SocStat =~
##     t_SocStat         1.000                               0.505    0.574
##     f_SocStat         0.771    0.176    4.380    0.000    0.390    0.699
##   NegEmo =~
##     t_NegEmo          1.000                               0.592    0.676
##     p_NegEmo          1.227    0.386    3.179    0.001    0.727    0.367
##   Resil =~
##     t_Resil           1.000                               0.598    0.678
##     p_Resil           0.382    0.126    3.038    0.002    0.229    0.375
##   AttnCtrl =~
##     t_AttnCtrl        1.000                               0.417    0.732
##     p_AttnCtrl        0.527    0.091    5.791    0.000    0.220    0.577
##   BehReg =~
##     t_BehReg          1.000                               0.819    0.774
##     p_BehReg          0.564    0.097    5.795    0.000    0.461    0.594
##     b_BehReg          0.523    0.110    4.750    0.000    0.428    0.438
## 
## Covariances:
##   t_SocApp ~~
##     t_SocStat         0.136    0.053    2.550    0.011    0.136    0.366
##     t_NegEmo         -0.164    0.058   -2.838    0.005   -0.164   -0.492
##     t_Resil           0.023    0.058    0.396    0.692    0.023    0.069
##     t_AttnCtrl        0.083    0.036    2.325    0.020    0.083    0.412
##     t_BehReg          0.070    0.064    1.094    0.274    0.070    0.201
##   t_SocStat ~~
##     t_NegEmo         -0.196    0.061   -3.198    0.001   -0.196   -0.422
##     t_Resil           0.205    0.061    3.381    0.001    0.205    0.440
##     t_AttnCtrl        0.060    0.037    1.618    0.106    0.060    0.216
##     t_BehReg         -0.154    0.057   -2.716    0.007   -0.154   -0.319
##   t_NegEmo ~~
##     t_Resil          -0.262    0.090   -2.911    0.004   -0.262   -0.628
##     t_AttnCtrl       -0.075    0.039   -1.920    0.055   -0.075   -0.298
##     t_BehReg         -0.084    0.063   -1.324    0.185   -0.084   -0.195
##   t_Resil ~~
##     t_AttnCtrl        0.081    0.042    1.935    0.053    0.081    0.320
##     t_BehReg         -0.081    0.060   -1.337    0.181   -0.081   -0.186
##   t_AttnCtrl ~~
##     t_BehReg          0.016    0.040    0.391    0.696    0.016    0.061
##   p_NegEmo ~~
##     p_Resil          -0.562    0.095   -5.915    0.000   -0.562   -0.539
##     p_AttnCtrl       -0.252    0.051   -4.919    0.000   -0.252   -0.440
##     p_BehReg         -0.287    0.096   -2.976    0.003   -0.287   -0.249
##   p_Resil ~~
##     p_AttnCtrl        0.072    0.016    4.464    0.000    0.072    0.407
##     p_BehReg          0.043    0.029    1.485    0.138    0.043    0.120
##   p_AttnCtrl ~~
##     p_BehReg          0.068    0.018    3.679    0.000    0.068    0.347
##   f_SocApp ~~
##     f_SocStat         0.017    0.009    1.891    0.059    0.017    0.206
##   SocApp ~~
##     SocStat           0.256    0.067    3.804    0.000    0.811    0.811
##     NegEmo           -0.247    0.070   -3.514    0.000   -0.669   -0.669
##     Resil             0.247    0.069    3.568    0.000    0.662    0.662
##     AttnCtrl          0.228    0.048    4.736    0.000    0.876    0.876
##     BehReg            0.437    0.087    5.015    0.000    0.855    0.855
##   SocStat ~~
##     NegEmo           -0.211    0.065   -3.223    0.001   -0.705   -0.705
##     Resil             0.190    0.063    3.020    0.003    0.630    0.630
##     AttnCtrl          0.170    0.045    3.755    0.000    0.806    0.806
##     BehReg            0.229    0.062    3.683    0.000    0.552    0.552
##   NegEmo ~~
##     Resil            -0.271    0.097   -2.801    0.005   -0.766   -0.766
##     AttnCtrl         -0.169    0.046   -3.638    0.000   -0.684   -0.684
##     BehReg           -0.254    0.077   -3.280    0.001   -0.523   -0.523
##   Resil ~~
##     AttnCtrl          0.175    0.049    3.597    0.000    0.703    0.703
##     BehReg            0.145    0.068    2.138    0.033    0.295    0.295
##   AttnCtrl ~~
##     BehReg            0.264    0.054    4.854    0.000    0.774    0.774
## 
## Variances:
##     t_SocApp          0.267    0.064                      0.267    0.407
##     f_SocApp          0.041    0.005                      0.041    0.724
##     t_SocStat         0.519    0.078                      0.519    0.670
##     f_SocStat         0.159    0.036                      0.159    0.511
##     t_NegEmo          0.416    0.113                      0.416    0.542
##     p_NegEmo          3.400    0.390                      3.400    0.866
##     t_Resil           0.419    0.124                      0.419    0.540
##     p_Resil           0.320    0.037                      0.320    0.860
##     t_AttnCtrl        0.151    0.031                      0.151    0.465
##     p_AttnCtrl        0.097    0.012                      0.097    0.667
##     t_BehReg          0.448    0.111                      0.448    0.401
##     p_BehReg          0.391    0.051                      0.391    0.648
##     b_BehReg          0.772    0.086                      0.772    0.808
##     SocApp            0.389    0.084                      1.000    1.000
##     SocStat           0.255    0.081                      1.000    1.000
##     NegEmo            0.351    0.120                      1.000    1.000
##     Resil             0.357    0.131                      1.000    1.000
##     AttnCtrl          0.174    0.040                      1.000    1.000
##     BehReg            0.670    0.144                      1.000    1.000
# Modification indices can be requested by adding the argument modindices = TRUE in the summary() call, or by calling the function modindices() directly. The modindices() function returns a data frame, which you can sort or filter to extract what you want.
# http://lavaan.ugent.be/tutorial/modindices.html
mi <- modindices(fit)
mi[mi$mi > 4,] #just return mis greater than 4
##           lhs   op      rhs    mi    epc sepc.lv sepc.all sepc.nox
## 1        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 2        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 3        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 4      NegEmo   =~ b_BehReg 4.361 -0.420  -0.249   -0.254   -0.254
## 5        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 6        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 7        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 8        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 9        <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 10       <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 11   p_NegEmo   ~~ t_BehReg 4.196  0.208   0.208    0.099    0.099
## 12       <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 13       <NA> <NA>     <NA>    NA     NA      NA       NA       NA
## 14 p_AttnCtrl   ~~ t_BehReg 6.765  0.062   0.062    0.154    0.154

In your second step, start with the total mediation model Eisenberg originally proposed (before making modifications).

See attached mplus files: eisenberg full mediation.inp, eisenberg full mediation.out

mediation.model <- '
  # latent variables
    SocApp    =~ t_SocApp + f_SocApp
    SocStat   =~ t_SocStat + f_SocStat
    NegEmo    =~ t_NegEmo + p_NegEmo
    Resil     =~ t_Resil + p_Resil
    AttnCtrl  =~ t_AttnCtrl + p_AttnCtrl
    BehReg    =~ t_BehReg + p_BehReg + b_BehReg  
  # regressions
    Resil ~ NegEmo + AttnCtrl + BehReg
    SocApp ~ Resil + 0*NegEmo + 0*AttnCtrl + 0*BehReg + 0*SocStat
    SocStat ~ Resil + 0*NegEmo + 0*AttnCtrl + 0*BehReg + 0*SocApp
  # correlated residuals
    t_SocApp ~~ t_SocStat + t_NegEmo + t_Resil + t_AttnCtrl + t_BehReg 
    t_SocStat ~~ t_NegEmo + t_Resil + t_AttnCtrl + t_BehReg
    t_NegEmo ~~ t_Resil + t_AttnCtrl + t_BehReg
    t_Resil ~~ t_AttnCtrl + t_BehReg
    t_AttnCtrl ~~ t_BehReg
    p_NegEmo ~~ p_Resil + p_AttnCtrl + p_BehReg 
    p_Resil ~~ p_AttnCtrl + p_BehReg
    p_AttnCtrl ~~ p_BehReg
    f_SocApp ~~ f_SocStat
'
fit <- sem(mediation.model, 
           sample.cov = covs, 
           sample.nobs = 193)
## Warning: lavaan WARNING: some estimated variances are negative
## Warning: lavaan WARNING: covariance matrix of latent variables is not positive definite; use inspect(fit,"cov.lv") to investigate.
# I got a warning about negative variances, and another warning about the cov matrix of my latent variables
inspect(fit,"cov.lv")
##          SocApp SocStt NegEmo Resil  AttnCt BehReg
## SocApp    0.383                                   
## SocStat   0.249  0.227                            
## NegEmo   -0.268 -0.174  0.310                     
## Resil     0.244  0.158 -0.170  0.155              
## AttnCtrl  0.231  0.150 -0.156  0.146  0.170       
## BehReg    0.392  0.254 -0.302  0.249  0.275  0.613

summary(fit, standardized = TRUE)
## lavaan (0.5-16) converged normally after 103 iterations
## 
##   Number of observations                           193
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic               54.145
##   Degrees of freedom                                35
##   P-value (Chi-square)                           0.020
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## Warning: NaNs produced
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   SocApp =~
##     t_SocApp          1.000                               0.619    0.767
##     f_SocApp          0.214    0.039    5.489    0.000    0.132    0.552
##   SocStat =~
##     t_SocStat         1.000                               0.476    0.546
##     f_SocStat         0.799    0.187    4.279    0.000    0.381    0.682
##   NegEmo =~
##     t_NegEmo          1.000                               0.557    0.637
##     p_NegEmo          1.176    0.404    2.908    0.004    0.655    0.331
##   Resil =~
##     t_Resil           1.000                               0.394    0.444
##     p_Resil           0.403    0.149    2.700    0.007    0.159    0.261
##   AttnCtrl =~
##     t_AttnCtrl        1.000                               0.412    0.723
##     p_AttnCtrl        0.534    0.094    5.665    0.000    0.220    0.578
##   BehReg =~
##     t_BehReg          1.000                               0.783    0.743
##     p_BehReg          0.561    0.101    5.534    0.000    0.439    0.566
##     b_BehReg          0.544    0.116    4.682    0.000    0.426    0.435
## 
## Regressions:
##   Resil ~
##     NegEmo           -0.211    0.136   -1.549    0.121   -0.298   -0.298
##     AttnCtrl          0.656    0.271    2.423    0.015    0.687    0.687
##     BehReg            0.008    0.132    0.061    0.951    0.016    0.016
##   SocApp ~
##     Resil             1.574    0.321    4.899    0.000    1.001    1.001
##     NegEmo            0.000                               0.000    0.000
##     AttnCtrl          0.000                               0.000    0.000
##     BehReg            0.000                               0.000    0.000
##     SocStat           0.000                               0.000    0.000
##   SocStat ~
##     Resil             1.021    0.218    4.680    0.000    0.844    0.844
##     NegEmo            0.000                               0.000    0.000
##     AttnCtrl          0.000                               0.000    0.000
##     BehReg            0.000                               0.000    0.000
##     SocApp            0.000                               0.000    0.000
## 
## Covariances:
##   t_SocApp ~~
##     t_SocStat         0.131    0.053    2.496    0.013    0.131    0.346
##     t_NegEmo         -0.139    0.054   -2.560    0.010   -0.139   -0.399
##     t_Resil           0.019    0.051    0.364    0.716    0.019    0.045
##     t_AttnCtrl        0.074    0.035    2.127    0.033    0.074    0.364
##     t_BehReg          0.111    0.060    1.867    0.062    0.111    0.305
##   t_SocStat ~~
##     t_NegEmo         -0.225    0.057   -3.954    0.000   -0.225   -0.457
##     t_Resil           0.241    0.058    4.157    0.000    0.241    0.415
##     t_AttnCtrl        0.075    0.035    2.155    0.031    0.075    0.259
##     t_BehReg         -0.178    0.058   -3.042    0.002   -0.178   -0.345
##   t_NegEmo ~~
##     t_Resil          -0.362    0.064   -5.681    0.000   -0.362   -0.677
##     t_AttnCtrl       -0.088    0.037   -2.395    0.017   -0.088   -0.332
##     t_BehReg         -0.044    0.066   -0.669    0.503   -0.044   -0.092
##   t_Resil ~~
##     t_AttnCtrl        0.114    0.036    3.147    0.002    0.114    0.366
##     t_BehReg         -0.175    0.060   -2.934    0.003   -0.175   -0.313
##   t_AttnCtrl ~~
##     t_BehReg          0.006    0.041    0.136    0.892    0.006    0.020
##   p_NegEmo ~~
##     p_Resil          -0.610    0.094   -6.456    0.000   -0.610   -0.555
##     p_AttnCtrl       -0.259    0.051   -5.060    0.000   -0.259   -0.447
##     p_BehReg         -0.248    0.098   -2.525    0.012   -0.248   -0.208
##   p_Resil ~~
##     p_AttnCtrl        0.074    0.016    4.759    0.000    0.074    0.408
##     p_BehReg          0.019    0.029    0.650    0.515    0.019    0.051
##   p_AttnCtrl ~~
##     p_BehReg          0.063    0.019    3.372    0.001    0.063    0.316
##   f_SocApp ~~
##     f_SocStat         0.016    0.009    1.769    0.077    0.016    0.193
##   NegEmo ~~
##     AttnCtrl         -0.156    0.044   -3.561    0.000   -0.681   -0.681
##     BehReg           -0.302    0.078   -3.862    0.000   -0.692   -0.692
##   AttnCtrl ~~
##     BehReg            0.275    0.055    4.996    0.000    0.852    0.852
## 
## Variances:
##     t_SocApp          0.269    0.064                      0.269    0.412
##     f_SocApp          0.040    0.005                      0.040    0.695
##     t_SocStat         0.535    0.076                      0.535    0.702
##     f_SocStat         0.167    0.035                      0.167    0.535
##     t_NegEmo          0.455    0.100                      0.455    0.594
##     p_NegEmo          3.492    0.389                      3.492    0.891
##     t_Resil           0.630    0.076                      0.630    0.802
##     p_Resil           0.346    0.036                      0.346    0.932
##     t_AttnCtrl        0.155    0.031                      0.155    0.478
##     p_AttnCtrl        0.096    0.012                      0.096    0.666
##     t_BehReg          0.496    0.108                      0.496    0.447
##     p_BehReg          0.410    0.051                      0.410    0.680
##     b_BehReg          0.774    0.086                      0.774    0.810
##     SocApp           -0.001    0.041                     -0.002   -0.002
##     SocStat           0.065    0.032                      0.288    0.288
##     NegEmo            0.310    0.105                      1.000    1.000
##     Resil             0.021    0.014                      0.135    0.135
##     AttnCtrl          0.170    0.039                      1.000    1.000
##     BehReg            0.613    0.137                      1.000    1.000
# Modification indices
mi <- modindices(fit)


# add a direct relationship between BehReg and SocApp
final.model <- '
  # latent variables
    SocApp    =~ t_SocApp + f_SocApp
    SocStat   =~ t_SocStat + f_SocStat
    NegEmo    =~ t_NegEmo + p_NegEmo
    Resil     =~ t_Resil + p_Resil
    AttnCtrl  =~ t_AttnCtrl + p_AttnCtrl
    BehReg    =~ t_BehReg + p_BehReg + b_BehReg  
  # regressions
    Resil ~ NegEmo + AttnCtrl + BehReg
    SocApp ~ Resil + BehReg + 0*NegEmo + 0*AttnCtrl + 0*SocStat
    SocStat ~ Resil + 0*NegEmo + 0*AttnCtrl + 0*BehReg + 0*SocApp
  # correlated residuals
    t_SocApp ~~ t_SocStat + t_NegEmo + t_Resil + t_AttnCtrl + t_BehReg 
    t_SocStat ~~ t_NegEmo + t_Resil + t_AttnCtrl + t_BehReg
    t_NegEmo ~~ t_Resil + t_AttnCtrl + t_BehReg
    t_Resil ~~ t_AttnCtrl + t_BehReg
    t_AttnCtrl ~~ t_BehReg
    p_NegEmo ~~ p_Resil + p_AttnCtrl + p_BehReg 
    p_Resil ~~ p_AttnCtrl + p_BehReg
    p_AttnCtrl ~~ p_BehReg
    f_SocApp ~~ f_SocStat
'
fit <- sem(final.model, 
           sample.cov = covs, 
           sample.nobs = 193)

inspect(fit,"cov.lv")
##          SocApp SocStt NegEmo Resil  AttnCt BehReg
## SocApp    0.398                                   
## SocStat   0.254  0.264                            
## NegEmo   -0.269 -0.214  0.325                     
## Resil     0.235  0.208 -0.198  0.193              
## AttnCtrl  0.235  0.170 -0.163  0.158  0.173       
## BehReg    0.433  0.219 -0.275  0.202  0.269  0.666

summary(fit, standardized = TRUE)
## lavaan (0.5-16) converged normally after 111 iterations
## 
##   Number of observations                           193
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic               45.073
##   Degrees of freedom                                34
##   P-value (Chi-square)                           0.097
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   SocApp =~
##     t_SocApp          1.000                               0.631    0.779
##     f_SocApp          0.201    0.037    5.512    0.000    0.127    0.532
##   SocStat =~
##     t_SocStat         1.000                               0.514    0.583
##     f_SocStat         0.752    0.172    4.367    0.000    0.386    0.694
##   NegEmo =~
##     t_NegEmo          1.000                               0.570    0.650
##     p_NegEmo          1.230    0.390    3.153    0.002    0.702    0.354
##   Resil =~
##     t_Resil           1.000                               0.439    0.494
##     p_Resil           0.410    0.140    2.922    0.003    0.180    0.295
##   AttnCtrl =~
##     t_AttnCtrl        1.000                               0.416    0.727
##     p_AttnCtrl        0.533    0.092    5.811    0.000    0.221    0.580
##   BehReg =~
##     t_BehReg          1.000                               0.816    0.772
##     p_BehReg          0.563    0.099    5.701    0.000    0.459    0.590
##     b_BehReg          0.526    0.112    4.712    0.000    0.429    0.439
## 
## Regressions:
##   Resil ~
##     NegEmo           -0.312    0.162   -1.927    0.054   -0.406   -0.406
##     AttnCtrl          0.935    0.317    2.947    0.003    0.885    0.885
##     BehReg           -0.204    0.125   -1.629    0.103   -0.379   -0.379
##   SocApp ~
##     Resil             0.790    0.212    3.728    0.000    0.549    0.549
##     BehReg            0.410    0.098    4.192    0.000    0.530    0.530
##     NegEmo            0.000                               0.000    0.000
##     AttnCtrl          0.000                               0.000    0.000
##     SocStat           0.000                               0.000    0.000
##   SocStat ~
##     Resil             1.081    0.227    4.762    0.000    0.924    0.924
##     NegEmo            0.000                               0.000    0.000
##     AttnCtrl          0.000                               0.000    0.000
##     BehReg            0.000                               0.000    0.000
##     SocApp            0.000                               0.000    0.000
## 
## Covariances:
##   t_SocApp ~~
##     t_SocStat         0.136    0.053    2.561    0.010    0.136    0.374
##     t_NegEmo         -0.147    0.053   -2.756    0.006   -0.147   -0.433
##     t_Resil           0.039    0.050    0.772    0.440    0.039    0.099
##     t_AttnCtrl        0.077    0.035    2.207    0.027    0.077    0.385
##     t_BehReg          0.074    0.063    1.161    0.246    0.074    0.215
##   t_SocStat ~~
##     t_NegEmo         -0.196    0.062   -3.186    0.001   -0.196   -0.411
##     t_Resil           0.202    0.063    3.181    0.001    0.202    0.366
##     t_AttnCtrl        0.060    0.037    1.618    0.106    0.060    0.214
##     t_BehReg         -0.151    0.056   -2.714    0.007   -0.151   -0.314
##   t_NegEmo ~~
##     t_Resil          -0.339    0.066   -5.101    0.000   -0.339   -0.658
##     t_AttnCtrl       -0.083    0.037   -2.233    0.026   -0.083   -0.319
##     t_BehReg         -0.068    0.063   -1.087    0.277   -0.068   -0.152
##   t_Resil ~~
##     t_AttnCtrl        0.105    0.038    2.783    0.005    0.105    0.348
##     t_BehReg         -0.133    0.057   -2.325    0.020   -0.133   -0.257
##   t_AttnCtrl ~~
##     t_BehReg          0.011    0.041    0.278    0.781    0.011    0.043
##   p_NegEmo ~~
##     p_Resil          -0.594    0.094   -6.290    0.000   -0.594   -0.550
##     p_AttnCtrl       -0.256    0.051   -5.005    0.000   -0.256   -0.444
##     p_BehReg         -0.276    0.097   -2.851    0.004   -0.276   -0.237
##   p_Resil ~~
##     p_AttnCtrl        0.073    0.016    4.650    0.000    0.073    0.404
##     p_BehReg          0.033    0.029    1.148    0.251    0.033    0.091
##   p_AttnCtrl ~~
##     p_BehReg          0.067    0.018    3.632    0.000    0.067    0.344
##   f_SocApp ~~
##     f_SocStat         0.017    0.009    1.968    0.049    0.017    0.208
##   NegEmo ~~
##     AttnCtrl         -0.163    0.045   -3.639    0.000   -0.689   -0.689
##     BehReg           -0.275    0.076   -3.606    0.000   -0.591   -0.591
##   AttnCtrl ~~
##     BehReg            0.269    0.055    4.919    0.000    0.795    0.795
## 
## Variances:
##     t_SocApp          0.258    0.064                      0.258    0.394
##     f_SocApp          0.041    0.005                      0.041    0.717
##     t_SocStat         0.512    0.079                      0.512    0.660
##     f_SocStat         0.161    0.036                      0.161    0.519
##     t_NegEmo          0.445    0.098                      0.445    0.577
##     p_NegEmo          3.446    0.389                      3.446    0.875
##     t_Resil           0.596    0.079                      0.596    0.756
##     p_Resil           0.339    0.036                      0.339    0.913
##     t_AttnCtrl        0.154    0.031                      0.154    0.471
##     p_AttnCtrl        0.097    0.012                      0.097    0.664
##     t_BehReg          0.452    0.113                      0.452    0.404
##     p_BehReg          0.394    0.052                      0.394    0.651
##     b_BehReg          0.771    0.086                      0.771    0.807
##     SocApp            0.035    0.038                      0.088    0.088
##     SocStat           0.039    0.039                      0.147    0.147
##     NegEmo            0.325    0.104                      1.000    1.000
##     Resil             0.025    0.022                      0.127    0.127
##     AttnCtrl          0.173    0.039                      1.000    1.000
##     BehReg            0.666    0.145                      1.000    1.000

# Modification indices
mi <- modindices(fit)

Examine the modification indices at each step. Would you have made the same modifications? (If you do this right and make the same modifications that Eisenberg did, your standardized loadings, paths, overall fit statistics, etc. will be very close to what Eisenberg reports, within a small rounding error.)

Indeed, the modifications they did seem very reasonable from the output.
The only other potentially tempting modification that sticks out to me is reg BY tsocap, but if there's no theoretical justification to add that arrow, then it's probably best not to to avoid overfitting.
See attached mplus files: eisenberg final.inp, eisenberg final.out

[Note: along the way you may get warnings about a non positive definite covariance matrix. This is to be expected. Most likely Eisenberg's analyses of the original data did not produce these problems – remember that she had the raw data, whereas we are using a correlation and SD table that was rounded to 2 decimal places. Read the handout on “Heywood cases” in the Handouts section and come prepared to discuss. For purposes of doing the homework, ignore the warnings.]

3. How well did Eisenberg address the following issues? Come prepared to discuss in class:

a. justification of the initial model

They justify the paths that are there, but they don't justify the paths that aren't there, which is really the most important piece. The drawn paths are free parameters - we're estimating them, so they're allowed to be whatever fits best (including 0). The missing paths are constrained to equal 0 exactly. That requires justification.

b. model modifications and use of mod indices

c. consideration of alternative models (nested or non-nested)

d. consideration of equivalent models

e. interpretation of parameter estimates and fit statistics

f. justification of causal inferences and conclusions