JASP 0.14 Tutorial: Confirmatory Factor Analysis (CFA) (Episode 30)
HTML-код
- Опубликовано: 6 янв 2025
- EDIT/CORRECTION: There's an error in my description of the chi-square model fit outcome. I state that it is good that the p-value is very small and reflects a good model fit. As mentioned by a keen viewer, this chi-square application is the opposite for other NHST outcomes. Here, a significant chi-square actually represents a bad model fit. Essentially, you want a big p-value for this test. HOWEVER, chi-square tests are impacted poorly by large samples, so they tend to end up small with an N = 300+, which is general convention for Factor Analyses for sample size.
In this JASP tutorial, I go through a Confirmatory Factor Analysis example, exploring the stats and their meaning/interpretation.
UCLA Stats Dept lavaan R package tutorial & data: stats.idre.ucl...
JASP: jasp-stats.org
NOTE: This tutorial uses the new preview/beta build of 0.14.1. This build contains slightly more functions/features than the previous builds used for tutorials on this channel, but it is functionally the same for the purposes of this tutorial.
Find me on Twitter: / profaswan
Go to my website: swanpsych.com
Twitch streams on psych & related topics: / cogpsychprof
Discuss this video and others on my Discord channel: / discord
Hello Alexander, It is my understanding that the chi-square in SEM tests the null hypothesis that the predicted model and observed data are the same. You typically want your predictions to match the actual data (covariance-variance matrix) as closely as possible. Therefore, you t want to reject this null hypothesis, and a nonsignificant result for this test indicates the model fits the data well. Please correct me if I'm wrong.
No, you are correct. This is probably a place where NHST gets confusing and recording multiple videos got the best of me, since the opposite is mostly true everywhere else. I will put a disclaimer for the mistake in the description.
Can you share the sources for CFI, TLI, and RMSEA cutoffs?
These are conventions and so most sources doing a search will say about the same thing.
Thank you for the video, very helpful. Do you know if in JASP it is possible to correct the sample (by weighting cases) when running a CFA?
This tutorial is older now, and they may have added it to the CFA in the past couple of years -- check out 0.18 :)
Hi thanks for your video very helpful but I have additional questions about JASP.
How could you calculate composite reliability, convergent, and discriminant validity in JASP?
CFA can help you with all three. But you can do correlation analyses to get this kind of validity as well. Validity is method-agnostic, because regardless of what an analysis tells you, you still have to logic the accuracy piece that validity reflects.
Hello Alexander,I am really confused by the small CFI and TFL in my statistics, is there any solutions to improve those two numbers let them become lager than 0.9
Those small numbers are showing issues with model fit. The model is strong, but I can’t really say much more than that without looking at the model stats. Only way to fix a model is to get better data.
It´s sad doing a CFA with 43 items and not be able to edit the plot to extend or reorganice. Im aware of exporting and editing in PPT but its a hell just to distribute the columns and rows :( Hope they add the GGplot package for this specific problem :D
Absolutely understand what you are saying! Hope they do too
Every time i put my aitem to the factor, there's always eror on it. What should i do to fix it?
I’m not following the reason for the error. Could you ask your question with more specific information?
how do we distinguish which items go into Factor 1 or Factor 2?
Those are the loadings for each factor. The output should group the items that go into each factor for you. Higher loading values (closer to 1, with your cut off being somewhere around .4), indicate that an item fits better with one facto over the other.
What about conducting second order CFT with one higher factor
I don’t think so
Dear Alexander, thank you so much for this wonderful presantation but I have question about, first of all path diagram on CFA. I apply your directions but my diagram is so close I cannot read values. The second is can we make arrangements on path diagram? Last is how can I apply modification process? May you show us or I need your help. Thanks...
The path diagram in the app is fixed. You can make it bigger or smaller, but you can't really choose how it looks other than that. My recommendation is to either make your own in PPT/Google Slides/Keynote or pop the code you have for the CFA into R and make the path diagram using ggplot2 package. If you're not familiar with that, I would do the first option.
@@AlexanderSwan Thank you so much for your reply.
This video is sped up for some reason. It sounds perfect at .75 speed
I speak very slowly & that doesn't work well on a platform like YT. So I speed up the video to make it shorter and more snappy. I'm glad .75 works great for you!
What is the difference between the baseline model and factor model in the model fit table? :-)
The baseline model does not incorporate your factor model into the chi-square. So it's essentially everything (i.e., all the items) all at once.
Hi Alexander. Thanks for the very informative video. However, could you please specify in the video description to what moment in the video you are referring, when you are saying that there is an error? It would help me a lot (I confess, I am a disaster at stats! :) )
What error am I referring to? An error I made or an error the analysis I made?
if the data is ordinal, any recommendation to do CFA. because on jasp the lavaan will be error
Check out Jamovi instead. There may be additional options in packages that JASP doesn’t offer as of now.
Overall, the problem with ordinal data and CFA is that these tests use covariance matrices, and so if you don’t have a defined interval structure in your data, linear algebra can’t move forward
@@AlexanderSwan thank you sir
If you have ordinal data, you still need to change the column type from ordinal to scale as Alexander does. In case your scale is less than 5 point scale, you should change in Advanced the estimator to WLS. Simulations showed that 5 point scale or longer are better off with ML estimator. This video gave me hard time because of the chi-square low p-value... Also, it would be good to address different "not that ideal situations" and what to do...
Thank you very much. would appreciate if you could make a video on measurement invariance
Explain a little more what you're after? CFA isn't my strongest technique
@@AlexanderSwan Thank you very much for your prompt response and I am so sorry for my late response. What I meant was how to perform measurement invariance for different groups (different age groups, gender, etc). Usually MI was performed after CFA. Thanks again
A very useful explanation indeed. Thank you!
Why can't I change it to scale?
Any text in a column will prevent the switch
this is the best vid, thanks
Can I accept this model as fitting with the significant chi square ?
You can, but it's only one piece. I recommend using RMSEA too
I don't think the analysis in this video is correct. In this application, the chi-square tests the null hypothesis that the predicted model and observed data are the same. You typically want your predictions to match the actual data (covariance-variance matrix) as closely as possible. Therefore, you do not want to reject this null hypothesis, and a nonsignificant result for this test indicates a good model fit
@@JamesSmith-kk1yc The "stated" analysis in the video for the chi-square is not correct (I say low p-value is good, but I got mixed up with other NHST outcomes, because it is kinda bad). The other fit indices are decent, however. I would consider those more than the chi-square, because the chi-square has a huge limitation when it comes to sample sizes (imo -- I think you want large Ns, like 300+ for a CFA). Check out Alavi et al. 2020 for more info, as they explain that chi-square can show a misfit (a small p-value) on large samples.
I had to play this at speed X 0.75
That's a great idea!
I thought the video was left on x1.25 until I saw your comment :)
simply taught, awesome, thank you
Thank you for the explanation! You speak a bit fast, for non-statisticians, though...
set it to .75x speed
@@salustianojrmacatangay1322 Thanks!
God bless you