Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | "Miller, Nathan P." <nmiller@jhsph.edu> |
To | "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu> |
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/