What do you think, can I use your point regarding the ML-instability in combination with the bootstrapped confidence intervals as a justification for the lower value in my thesis?

uhmmm... i think one of two things could be going on here (among myriads of other reasons, of course). the differences in R2s are pretty minor (.023) for a model that's somewhat larger so it could very well be that the ML solution is just bouncing around the optimal solution. the other potential reason is that your model is somewhat misspecified so you're bringing in additional unreliability that's driving the R2s down.

lemme show you with an example. i know you use AMOS so i'm assuming you're more familiar with specifying models as path diagrams as opposed to structural equations. i'm also more of an R/Mplus user than an AMOS user so a lot of my code may not make sense to you, but what matters are the results.

anyway, so what i am doing is using the R package lavaan that fits SEM models to generate data that follows the particular covariance structure i'm attaching on the picture. as you can see, this is a 3-factor model, each factor is measured by 3 indicators with population loadings of 0.7, covariances among the factors of 0.5 *AND*, the most important part, there is a direct latent regression of Factor 1 being predicted by Factor 3 (this will come back to haunt us later).

i will use lavaan (in R) to specify the population model and generate data that matches it. my sample size will be N=1000 and my factor variances are fixed to 1.

Code:

```
three.factor <-
'#model
f1=~ 0.7*y1 + 0.7*y2 + 0.7*y3
f2=~ 0.7*y4 + 0.7*y5 + 0.7*y6
f3=~ 0.7*y7 + 0.7*y8 + 0.7*y9
#variances
f1~~1*f1
f2~~1*f2
f3~~1*f3
#covariances
f1 ~~ 0.5*f2
f1 ~~ 0.5*f3
f2 ~~ 0.5*f3
#latent regression
f1~ 0.3*f3
'
datum <- simulateData(three.factor, sample.nobs=1000)
```

now that i have some data, notice how i will fit the same model to the population model, so i expect things and results to look pretty good:

Code:

```
three.factor1 <-
'#model
f1=~ NA*y1 + y2 + y3
f2=~ NA*y4 + y5 + y6
f3=~ NA*y7 + y8 + y9
#variances
f1~~1*f1
f2~~1*f2
f3~~1*f3
#latent regressions
f1~f3
'
summary(sem(three.factor1, datum), rsquare=TRUE)
```

indeed, i get very good measures of fit and whatnot, but i want to draw your att'n to the R2 vale for the latent regression of f1 predicted by f3

Code:

```
R-Square:
[COLOR="red"]f1 0.545[/COLOR]
y1 0.418
y2 0.434
y3 0.353
y4 0.305
y5 0.369
y6 0.339
y7 0.314
y8 0.290
y9 0.342
```

so the R2 for this latent regression is 0.545. now, allow me to change a part of my syntax slightly by adding a latent regression path that is *not* in the population and matches the description of your situation. i am going to predict f1 both using f2 and f3 (so adding another predictor variable). i just need to change one line of code here:

Code:

```
three.factor1 <-
'#model
f1=~ NA*y1 + y2 + y3
f2=~ NA*y4 + y5 + y6
f3=~ NA*y7 + y8 + y9
#variances
f1~~1*f1
f2~~1*f2
f3~~1*f3
#latent regressions
[COLOR="red"]f1~f3+f2[/COLOR]
'
summary(sem(three.factor1, datum), rsquare=TRUE)
```

aaaand... let's see what happened to the R2 of f1 that is now being predicted by f3 and f2

Code:

```
R-Square:
[COLOR="red"]f1 0.533[/COLOR]
y1 0.418
y2 0.435
y3 0.353
y4 0.317
y5 0.359
y6 0.336
y7 0.328
y8 0.320
y9 0.365
```

you see? it went down from 0.545 to 0.533, when analyzing the same dataset "datum" using two different models, one where f1 = f3 + error and another where f1 = f2 + f3 + error. what's the problem here? well, the regression path of f2 predicting f1 is *not* in the population. it's merely adding to the unreliability of the model, increasing the error term and bringing the R2 *down* instead of *up*.

the reason here is that R2s in SEM are NOT like R2s in regression. it is somewhat misleading to use regression as an analogy for SEM because, although they do share quite a bit, they are *not* the same. the error of multiple regression explicitly assumes endogeneity is not present, which is the main reason for why SEM was developed to tackle this problem. because of this, some of the properties that one would expect to hold in a linear model like SEM do not necessarily hold.

hope this helps clarify a few things.

it was a fun question. i got to learn quite a bit myself