Confirmatory Factor Analysis (CFA) explicitly specifies variable/factor relationships and it is used when you want to test a theory you have already developed, or based on your EFA. Based on the theory underlying the BFI dataset, there are five hypothesized factors: Agreeableness, Conscientiousness, Extraversion, Neuroticism, and Openness. In order to speed up estimation of the model, factor variances are set to 1 rather than estimating them freely.
Both the GFI (Goodness-of-fit index = 0.84) and the CFI (Bentler CFI = 0.77) for this model are lower than 0.9, indicating not a good fit. The RMSEA (Root Mean Square Error of Approximation) is higher than 0.05, which also indicates a poor fit.
Model Chisquare = 2192.923 Df = 265 Pr(>Chisq) = 4.360523e-300
Goodness-of-fit index = 0.8603839
RMSEA index = 0.0769389 90% CI: (NA, NA)
Bentler CFI = 0.7930581
BIC = 307.5091
Normalized Residuals
Min. 1st Qu. Median Mean 3rd Qu. Max.
-6.9425 -0.4925 0.7267 0.9490 2.5144 8.3253
R-square for Endogenous Variables
A1 A2 A3 A4 A5 C1 C2 C3
0.1320 0.3711 0.5920 0.2510 0.4962 0.3168 0.3602 0.3142
C4 C5 E1 E2 E3 E4 E5 N1
0.5100 0.3932 0.3403 0.4831 0.4243 0.5073 0.3231 0.6723
N2 N3 N4 N5 O1 O2 O3 O4
0.6202 0.5265 0.3608 0.2796 0.3251 0.1625 0.5495 0.0611
O5
0.2073
Parameter Estimates
Estimate Std Error z value Pr(>|z|)
lam[A1:AGE] -0.5111064 0.04305214 -11.871801 1.658585e-32
lam[A2:AGE] 0.7191435 0.03379027 21.282562 1.646935e-100
lam[A3:AGE] 1.0097322 0.03554920 28.403800 1.814996e-177
lam[A4:AGE] 0.7446237 0.04400746 16.920397 3.182804e-64
lam[A5:AGE] 0.9210056 0.03620403 25.439311 9.269854e-143
lam[C1:CON] -0.6656171 0.03536991 -18.818737 5.303399e-79
lam[C2:CON] -0.7814172 0.03853148 -20.279969 1.932542e-91
lam[C3:CON] -0.7147337 0.03815981 -18.730011 2.818588e-78
lam[C4:CON] 0.9992480 0.04014303 24.892189 9.039998e-137
lam[C5:CON] 1.0114786 0.04736769 21.353766 3.597454e-101
lam[E1:EXT] 0.9551618 0.04679111 20.413317 1.273427e-92
lam[E2:EXT] 1.1336295 0.04466961 25.378095 4.401783e-142
lam[E3:EXT] -0.8999288 0.03849849 -23.375690 7.553797e-121
lam[E4:EXT] -1.0500514 0.04009159 -26.191315 3.337348e-151
lam[E5:EXT] -0.7830930 0.03956836 -19.790888 3.567016e-87
lam[N1:NEU] 1.2941195 0.03987379 32.455389 4.546826e-231
lam[N2:NEU] 1.1888799 0.03871342 30.709763 4.216098e-207
lam[N3:NEU] 1.1571604 0.04205639 27.514497 1.177667e-166
lam[N4:NEU] 0.9447428 0.04371865 21.609603 1.458980e-103
lam[N5:NEU] 0.8676891 0.04677423 18.550579 8.067807e-77
lam[O1:OPE] 0.6541324 0.03712670 17.618920 1.763394e-69
lam[O2:OPE] -0.6292351 0.05120660 -12.288163 1.048624e-34
lam[O3:OPE] 0.8885251 0.03953358 22.475200 7.257528e-112
lam[O4:OPE] 0.2972076 0.04017358 7.398086 1.381609e-13
lam[O5:OPE] -0.6007384 0.04299838 -13.971188 2.336970e-44
C[AGE,CON] -0.3568260 0.03363974 -10.607275 2.756724e-26
C[AGE,EXT] -0.7137755 0.02291011 -31.155480 4.275217e-213
C[AGE,NEU] -0.2239554 0.03364772 -6.655886 2.815990e-11
C[AGE,OPE] 0.3200306 0.03633095 8.808760 1.265383e-18
C[CON,EXT] 0.3588834 0.03337729 10.752322 5.778819e-27
C[CON,NEU] 0.3050043 0.03288475 9.274947 1.777069e-20
C[CON,OPE] -0.2856980 0.03731644 -7.656091 1.916779e-14
C[EXT,NEU] 0.2774708 0.03270636 8.483697 2.181500e-17
C[EXT,OPE] -0.4631384 0.03329989 -13.908103 5.655943e-44
C[NEU,OPE] -0.1371004 0.03672736 -3.732922 1.892709e-04
V[A1] 1.7172345 0.07186458 23.895421 3.417572e-126
V[A2] 0.8766167 0.04125198 21.250296 3.275932e-100
V[A3] 0.7027906 0.04397615 15.981175 1.728575e-57
V[A4] 1.6543950 0.07254980 22.803579 4.225172e-115
V[A5] 0.8613558 0.04588856 18.770599 1.313965e-78
V[C1] 0.9555922 0.04478509 21.337283 5.118358e-101
V[C2] 1.0847762 0.05271263 20.579054 4.228499e-94
V[C3] 1.1150453 0.05215587 21.379096 2.091411e-101
V[C4] 0.9594147 0.05651325 16.976809 1.219375e-64
V[C5] 1.5785888 0.07923047 19.924012 2.519703e-88
V[E1] 1.7687461 0.08046367 21.981923 4.289024e-107
V[E2] 1.3751683 0.06996547 19.654957 5.243349e-86
V[E3] 1.0987259 0.05293784 20.755019 1.104387e-95
V[E4] 1.0706745 0.05598076 19.125760 1.541118e-81
V[E5] 1.2845090 0.05787751 22.193578 3.961845e-109
V[N1] 0.8162634 0.05216843 15.646693 3.499382e-55
V[N2] 0.8654649 0.04959711 17.449904 3.448088e-68
V[N3] 1.2041432 0.06056038 19.883349 5.671895e-88
V[N4] 1.5810142 0.07072700 22.353759 1.109947e-110
V[N5] 1.9400426 0.08388888 23.126337 2.516016e-118
V[O1] 0.8883171 0.04591608 19.346538 2.180039e-83
V[O2] 2.0400989 0.08967543 22.749809 1.441263e-114
V[O3] 0.6471597 0.05422094 11.935604 7.719647e-33
V[O4] 1.3566540 0.05623746 24.123671 1.411210e-128
V[O5] 1.3798807 0.06272779 21.997916 3.015200e-107
lam[A1:AGE] A1 <--- AGE
lam[A2:AGE] A2 <--- AGE
lam[A3:AGE] A3 <--- AGE
lam[A4:AGE] A4 <--- AGE
lam[A5:AGE] A5 <--- AGE
lam[C1:CON] C1 <--- CON
lam[C2:CON] C2 <--- CON
lam[C3:CON] C3 <--- CON
lam[C4:CON] C4 <--- CON
lam[C5:CON] C5 <--- CON
lam[E1:EXT] E1 <--- EXT
lam[E2:EXT] E2 <--- EXT
lam[E3:EXT] E3 <--- EXT
lam[E4:EXT] E4 <--- EXT
lam[E5:EXT] E5 <--- EXT
lam[N1:NEU] N1 <--- NEU
lam[N2:NEU] N2 <--- NEU
lam[N3:NEU] N3 <--- NEU
lam[N4:NEU] N4 <--- NEU
lam[N5:NEU] N5 <--- NEU
lam[O1:OPE] O1 <--- OPE
lam[O2:OPE] O2 <--- OPE
lam[O3:OPE] O3 <--- OPE
lam[O4:OPE] O4 <--- OPE
lam[O5:OPE] O5 <--- OPE
C[AGE,CON] CON <--> AGE
C[AGE,EXT] EXT <--> AGE
C[AGE,NEU] NEU <--> AGE
C[AGE,OPE] OPE <--> AGE
C[CON,EXT] EXT <--> CON
C[CON,NEU] NEU <--> CON
C[CON,OPE] OPE <--> CON
C[EXT,NEU] NEU <--> EXT
C[EXT,OPE] OPE <--> EXT
C[NEU,OPE] OPE <--> NEU
V[A1] A1 <--> A1
V[A2] A2 <--> A2
V[A3] A3 <--> A3
V[A4] A4 <--> A4
V[A5] A5 <--> A5
V[C1] C1 <--> C1
V[C2] C2 <--> C2
V[C3] C3 <--> C3
V[C4] C4 <--> C4
V[C5] C5 <--> C5
V[E1] E1 <--> E1
V[E2] E2 <--> E2
V[E3] E3 <--> E3
V[E4] E4 <--> E4
V[E5] E5 <--> E5
V[N1] N1 <--> N1
V[N2] N2 <--> N2
V[N3] N3 <--> N3
V[N4] N4 <--> N4
V[N5] N5 <--> N5
V[O1] O1 <--> O1
V[O2] O2 <--> O2
V[O3] O3 <--> O3
V[O4] O4 <--> O4
V[O5] O5 <--> O5
Iterations = 27
Adding loadings is one way to improve model fit. With the help of modification indices, you can look at the results of an EFA with the number of factors dictated by theory and pick a couple promising item/factor relationships to add.
5 largest modification indices, A matrix (regression coefficients):
N1<-N2 N2<-N1 EXT<-N4 N4<-EXT NEU<-N4
213.16464 213.16407 94.37153 94.15554 90.59145
5 largest modification indices, P matrix (variances/covariances):
N2<->N1 EXT<->N4 NEU<->N4 OPE<->E3 CON<->E5
213.16422 94.37167 90.59180 88.67941 81.03768
The sem library can identify the largest modification indices for you: the fourth Neuroticism item could load to the Extraversion factor, and the third Extraversion item could load to the Openness factor.
Model Chisquare = 1997.299 Df = 263 Pr(>Chisq) = 8.075676e-264
Goodness-of-fit index = 0.8708575
RMSEA index = 0.0732501 90% CI: (NA, NA)
Bentler CFI = 0.8138415
BIC = 126.1151
Normalized Residuals
Min. 1st Qu. Median Mean 3rd Qu. Max.
-5.6878 -0.4377 0.6707 0.9574 2.5442 8.6861
R-square for Endogenous Variables
A1 A2 A3 A4 A5 C1 C2 C3
0.1324 0.3704 0.5922 0.2510 0.4964 0.3156 0.3595 0.3147
C4 C5 E1 E2 E3 E4 E5 N4
0.5096 0.3948 0.3547 0.5125 0.4596 0.5416 0.3097 0.4167
N1 N2 N3 N5 O1 O2 O3 O4
0.6850 0.6271 0.5244 0.2741 0.3292 0.1508 0.5587 0.0676
O5
0.1957
Parameter Estimates
Estimate Std Error z value Pr(>|z|)
lam[A1:AGE] -0.51176521 0.04307343 -11.881227 1.481756e-32
lam[A2:AGE] 0.71846382 0.03382237 21.242270 3.886500e-100
lam[A3:AGE] 1.00995362 0.03559221 28.375691 4.035301e-177
lam[A4:AGE] 0.74454190 0.04403654 16.907366 3.970639e-64
lam[A5:AGE] 0.92117830 0.03623927 25.419336 1.541756e-142
lam[C1:CON] -0.66439451 0.03538182 -18.777851 1.146270e-78
lam[C2:CON] -0.78067890 0.03853959 -20.256542 3.110562e-91
lam[C3:CON] -0.71536150 0.03815631 -18.748185 2.003106e-78
lam[C4:CON] 0.99884768 0.04014862 24.878758 1.263478e-136
lam[C5:CON] 1.01348600 0.04735354 21.402538 1.265301e-101
lam[E1:EXT] 0.97516749 0.04665925 20.899769 5.380437e-97
lam[E2:EXT] 1.16766550 0.04439219 26.303400 1.753436e-152
lam[E3:EXT] -0.67679819 0.04077475 -16.598463 7.149826e-62
lam[E4:EXT] -1.08493938 0.03980403 -27.257022 1.372038e-163
lam[E5:EXT] -0.76660400 0.03978190 -19.270169 9.562319e-83
lam[N4:EXT] 0.44280604 0.04224298 10.482358 1.041153e-25
lam[N1:NEU] 1.30626718 0.03977470 32.841658 1.498407e-236
lam[N2:NEU] 1.19543119 0.03866196 30.920085 6.416129e-210
lam[N3:NEU] 1.15478514 0.04208187 27.441396 8.800977e-166
lam[N4:NEU] 0.81338278 0.04308253 18.879642 1.677195e-79
lam[N5:NEU] 0.85913162 0.04683749 18.342818 3.767520e-75
lam[O1:OPE] 0.65825189 0.03635678 18.105341 2.892135e-73
lam[O2:OPE] -0.60616729 0.05068373 -11.959801 5.770001e-33
lam[O3:OPE] 0.89591536 0.03820995 23.447173 1.412671e-121
lam[O4:OPE] 0.31256165 0.03970362 7.872371 3.479813e-15
lam[O5:OPE] -0.58359535 0.04249002 -13.734880 6.275970e-43
lam[E3:OPE] 0.44801960 0.04276022 10.477486 1.096195e-25
C[AGE,CON] -0.35685814 0.03363876 -10.608542 2.719611e-26
C[AGE,EXT] -0.69014737 0.02369392 -29.127614 1.605180e-186
C[AGE,NEU] -0.19592695 0.03405451 -5.753334 8.750058e-09
C[AGE,OPE] 0.34086421 0.03564357 9.563133 1.142448e-21
C[CON,EXT] 0.34888327 0.03352045 10.408072 2.277885e-25
C[CON,NEU] 0.29133860 0.03311540 8.797677 1.396770e-18
C[CON,OPE] -0.27321142 0.03699549 -7.384992 1.524628e-13
C[EXT,NEU] 0.24030669 0.03349584 7.174225 7.271771e-13
C[EXT,OPE] -0.36015728 0.03576233 -10.070857 7.432741e-24
C[NEU,OPE] -0.09688721 0.03652966 -2.652289 7.994807e-03
V[A1] 1.71655997 0.07186029 23.887462 4.134693e-126
V[A2] 0.87759332 0.04131975 21.239076 4.159960e-100
V[A3] 0.70234327 0.04412033 15.918812 4.692009e-57
V[A4] 1.65451667 0.07259144 22.792173 5.482604e-115
V[A5] 0.86103724 0.04598163 18.725678 3.057524e-78
V[C1] 0.95721863 0.04482386 21.355112 3.495304e-101
V[C2] 1.08592937 0.05273941 20.590473 3.340887e-94
V[C3] 1.11414760 0.05213830 21.369080 2.591898e-101
V[C4] 0.96021486 0.05652767 16.986633 1.031418e-64
V[C5] 1.57452512 0.07916268 19.889740 4.993374e-88
V[E1] 1.73012781 0.07953590 21.752792 6.500170e-105
V[E2] 1.29684044 0.06858872 18.907489 9.895754e-80
V[E3] 1.03140684 0.04970627 20.750036 1.225004e-95
V[E4] 0.99618815 0.05480424 18.177210 7.821277e-74
V[E5] 1.31006099 0.05869744 22.318877 2.422983e-110
V[N4] 1.44278192 0.06500552 22.194761 3.858932e-109
V[N1] 0.78467472 0.05199976 15.089968 1.885344e-51
V[N2] 0.84984436 0.04943231 17.192083 3.043985e-66
V[N3] 1.20963433 0.06069007 19.931340 2.176554e-88
V[N5] 1.95481937 0.08433760 23.178503 7.502670e-119
V[O1] 0.88291061 0.04482042 19.698848 2.205808e-86
V[O2] 2.06859653 0.08969708 23.062027 1.114105e-117
V[O3] 0.63397248 0.05135152 12.345740 5.135995e-35
V[O4] 1.34729151 0.05591090 24.097116 2.679967e-128
V[O5] 1.40018295 0.06252299 22.394691 4.433818e-111
lam[A1:AGE] A1 <--- AGE
lam[A2:AGE] A2 <--- AGE
lam[A3:AGE] A3 <--- AGE
lam[A4:AGE] A4 <--- AGE
lam[A5:AGE] A5 <--- AGE
lam[C1:CON] C1 <--- CON
lam[C2:CON] C2 <--- CON
lam[C3:CON] C3 <--- CON
lam[C4:CON] C4 <--- CON
lam[C5:CON] C5 <--- CON
lam[E1:EXT] E1 <--- EXT
lam[E2:EXT] E2 <--- EXT
lam[E3:EXT] E3 <--- EXT
lam[E4:EXT] E4 <--- EXT
lam[E5:EXT] E5 <--- EXT
lam[N4:EXT] N4 <--- EXT
lam[N1:NEU] N1 <--- NEU
lam[N2:NEU] N2 <--- NEU
lam[N3:NEU] N3 <--- NEU
lam[N4:NEU] N4 <--- NEU
lam[N5:NEU] N5 <--- NEU
lam[O1:OPE] O1 <--- OPE
lam[O2:OPE] O2 <--- OPE
lam[O3:OPE] O3 <--- OPE
lam[O4:OPE] O4 <--- OPE
lam[O5:OPE] O5 <--- OPE
lam[E3:OPE] E3 <--- OPE
C[AGE,CON] CON <--> AGE
C[AGE,EXT] EXT <--> AGE
C[AGE,NEU] NEU <--> AGE
C[AGE,OPE] OPE <--> AGE
C[CON,EXT] EXT <--> CON
C[CON,NEU] NEU <--> CON
C[CON,OPE] OPE <--> CON
C[EXT,NEU] NEU <--> EXT
C[EXT,OPE] OPE <--> EXT
C[NEU,OPE] OPE <--> NEU
V[A1] A1 <--> A1
V[A2] A2 <--> A2
V[A3] A3 <--> A3
V[A4] A4 <--> A4
V[A5] A5 <--> A5
V[C1] C1 <--> C1
V[C2] C2 <--> C2
V[C3] C3 <--> C3
V[C4] C4 <--> C4
V[C5] C5 <--> C5
V[E1] E1 <--> E1
V[E2] E2 <--> E2
V[E3] E3 <--> E3
V[E4] E4 <--> E4
V[E5] E5 <--> E5
V[N4] N4 <--> N4
V[N1] N1 <--> N1
V[N2] N2 <--> N2
V[N3] N3 <--> N3
V[N5] N5 <--> N5
V[O1] O1 <--> O1
V[O2] O2 <--> O2
V[O3] O3 <--> O3
V[O4] O4 <--> O4
V[O5] O5 <--> O5
Iterations = 27
You can conduct a likelihood ratio test to see whether the models fit significantly differently. A significant result indicates that one model fits significantly better and is thus preferred.
LR Test for Difference Between Models
Model Df Model Chisq Df LR Chisq Pr(>Chisq)
theory_CFA 265 2192.9
theory_CFA_add 263 1997.3 2 195.62 < 2.2e-16
theory_CFA
theory_CFA_add ***
---
Signif. codes:
0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Moreover, you can compare fit statistics for both models. The revised
model’s CFI is higher, indicating a better fit.
[1] 0.7930581
[1] 0.8138415
The RMSEA is lower, hence indicating that adding these loadings results
in a better model fit.
[1] 0.0769389 NA NA 0.9000000
[1] 0.0732501 NA NA 0.9000000
The BIC is also lower, also indicating that adding these loadings results in a better model fit.
[1] 307.5091
[1] 126.1151