Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Exploratory and confirmatory factor analysis with tetrachoric correlations


From   "Miller, Nathan P." <[email protected]>
To   "[email protected]" <[email protected]>
Subject   st: Exploratory and confirmatory factor analysis with tetrachoric correlations
Date   Wed, 31 Jul 2013 14:41:49 -0400

Hi Statalisters,

 
I¹m working on a factor analysis with binary observed variables and am
having a lot of problems. Some background information:
- I¹m in the public health field and not a statistician.
- I¹m using Stata 12.0.
- The dataset has 99 observations.
- There are 15 observed variables, all binary.
- No missing data for variables included in analysis.

 
I ran the tetrachoric correlations factormat program. My code is below. A
few things in the output make me wonder if I can use this or if there is a
fatal problem:
- It is a Heywood case.
- There are negative uniqueness scores.
- I had to use force positive definite to get the analysis to run.

 
*--------------------Begin code------------------------------
tetrachoric hew_followup_01 hew_meet_01 superany_nm hew_hc_01 d1_zinc_01
///
d1_vita_01 d1_act_01 d1_chlor_01 d1_amox_01 rutf d1_rdt_01 d3_timer_01 ///
d3_therm_01 d3_scale_01 ort_corner, posdef
 
matrix iccm_tetra = r(Rho)
factormat iccm_tetra, n(99) ipf forcepsd factor(5)
 *--------------------End code------------------------------
 

Next, I tried to do confirmatory factor analysis and get goodness-of-fit
measures for factor groupings based on the EFA above using the ­sem­
command, but it doesn't give a solution. Below is an example for a
subgroup of variables that were grouped based on the EFA. I wanted to see
if these were reasonably represented by a single factor.

 
*--------------------Begin code------------------------------
tetrachoric d1_rdt_01 d3_timer_01 d3_therm_01 d3_scale_01 ort_corner,
posdef
 
ssd init d1_rdt_01 d3_timer_01 d3_therm_01 d3_scale_01 ort_corner
 
ssd set obs 99
 
ssd set cor	1.0000 \ ///
                0.1909		1.0000 \ ////
                0.5502		0.4376		1.0000 \ ////
                0.4925		-0.1041		0.7234		1.0000 \ ///
                -0.2689		0.3381		-0.0543		-0.1572		1.0000

 
sem (F1->d1_rdt_01 d3_timer_01 d3_therm_01 d3_scale_01 ort_corner)
  *--------------------End code------------------------------

 
The output goes through a couple iterations and says "not concave." Then
goes through some more iterations that say "backed up" and then the log
likelihood stops changing and it continues with iterations until I hit
"break."


Any ideas what is wrong here? Is this a sample size issue? Does the
initial EFA have fatal flaws? How can I get the CFA to run? If I can't get
the goodness-of-fit measures using ­sem­ is there another way to get these?

 
Many thanks in advance for your help,

 
Nate





*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index