Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Cameron McIntosh <cnm100@hotmail.com> |
To | STATA LIST <statalist@hsphsun2.harvard.edu> |
Subject | RE: st: calculate alpha after polychoric factor analysis |
Date | Tue, 14 Feb 2012 22:05:11 -0500 |
However, I should note that model-based reliability is a much better alternative to alpha (which could now be consigned to the museum of reliability estimation): Sijtsma, K. (2009a). On the use, the misuse, and the very limited usefulness of Cronbach's alpha. Psychometrika, 74(1), 107-120. Sijtsma, K. (2009b). Reliability beyond theory and Into practice. Psychometrika, 74(1), 169–173. Bentler, P.M. (2009). Alpha, dimension-free, and model-based internal consistency reliability. Psychometrika, 74(1), 137-143. http://aqm.gseis.ucla.edu/Papers%20pdf%20format/Bentler%20Alpha%20Dimension-free%20Psychometrika%2008-1.pdf Revelle, W., & Zinbarg, R.E. (2009). Coefficients alpha, beta, omega and the glb: comments on Sijtsma. Psychometrika, 74(1), 145-154. Green, S.B., & Yang, Y. (2009a). Commentary on coefficient alpha: a cautionary tale. Psychometrika, 74(1), 121-135. Green, S.B., & Yang, Y. (2009b). Reliability of summed item scores using structural equation modeling: An alternative to coefficient alpha. Psychometrika, 74(1), 155-167. Yang, Y., & Green, S.B. (2010). A note on structural equation modeling estimates of reliability. Structural Equation Modeling, 17(1), 66-81. Ogasawara, H. (2009). On the estimators of model-based and maximal reliability. Journal of Multivariate Analysis, 100(6), 1232-1244. Raykov, T. (1997). Estimation of composite reliability for congeneric measures. Applied Psychological Measurement, 21, 173-184. I would suggest that Seyi estimate reliability directly from the factor model parameters rather than the inter-item polychoric correlation matrix. My two cents, Cam ---------------------------------------- > From: cnm100@hotmail.com > To: statalist@hsphsun2.harvard.edu > Subject: RE: st: calculate alpha after polychoric factor analysis > Date: Tue, 14 Feb 2012 21:58:08 -0500 > > You may also want to see a more recent paper: > Gadermann, A.M., Guhn, M., & Zumbo, B.D. (2012). Estimating ordinal reliability for Likert-type and ordinal item response data: A conceptual, empirical, and practical guide. Practical Assessment, Research & Evaluation, 17(3). http://pareonline.net/pdf/v17n3.pdf > > Cam > ---------------------------------------- > > From: jcoveney@bigplanet.com > > To: statalist@hsphsun2.harvard.edu > > Subject: Re: st: calculate alpha after polychoric factor analysis > > Date: Wed, 15 Feb 2012 11:54:31 +0900 > > > > Seyi Soremekun wrote: > > > > Thanks (and for the polychoric command itself). The sample size is not an issue > > - all respondents answered all the questions, displaying -n- was just a check > > for me (if that is what you meant in your note?) > > > > I'm not sure about the appropriateness of using alpha either, however, I know > > that ordinal alphas are available in other types of software (Basto and Pereira > > 2012 J. Statistical Software 46(4)), and wondered if there was something I could > > use in Stata. > > I was hoping that I could ask stata to calculate the alpha on the saved matrix > > rather than a list of variables. > > > > -------------------------------------------------------------------------------- > > > > The Basto and Pereira article references Bruno D. Zumbo, Anne M. Gadermann and > > Cornelia Zeisser, Ordinal Versions of Coefficients Alpha and Theta for Likert > > Rating Scales. _Journal of Modern Applied Statistical Methods_ 6(1): 21--9, > > 2007), which in turn references earlier work for the formula it displays for > > ordinal coefficient alpha. If I've got the formula correctly implemented below, > > then you can try something like what is illustrated. It shouldn't be too > > difficult to morph it into an ado-file, but you'd probably want to verify its > > correctness with a couple of worked examples. > > > > Joseph Coveney > > > > version 11.2 > > > > set more off > > set seed `=date("2012-02-14", "YMD")' > > tempname C > > matrix define `C' = I(4) * 0.45 + J(4, 4, 0.55) > > drawnorm latent1 latent2 latent3 latent4, corr(`C') double n(100) clear > > forvalues i = 1/4 { > > generate double u`i' = normal(latent`i') > > generate byte manifest`i' = 0 > > quietly forvalues cut = 0.2(0.2)0.8 { > > replace manifest`i' = manifest`i' + 1 if u`i' > `cut' > > } > > } > > polychoric manifest* > > matrix define `C' = r(R) > > factormat `C', n(100) factors(1) > > > > tempname L Psi > > matrix define `L' = e(L) > > matrix define `Psi' = e(Psi) > > > > local p = rowsof(`L') > > > > tempname f f2 u2 > > scalar define `f' = 0 > > scalar define `f2' = 0 > > scalar define `u2' = 0 > > forvalues i = 1/`p' { > > scalar define `f' = `f' + `L'[`i', 1] > > scalar define `f2' = `f2' + `L'[`i', 1] * `L'[`i', 1] > > scalar define `u2' = `u2' + `Psi'[1, `i'] > > } > > scalar define `f' = `f' / `p' > > scalar define `f2' = `f2' / `p' > > scalar define `u2' = `u2' / `p' > > > > tempname pf2 > > scalar define `pf2' = `p' * `f' * `f' > > scalar define alpha = `p' / (`p' - 1) * /// > > (`pf2' - `f2') / (`pf2' + `u2') > > > > display in smcl as text "Ordinal alpha = " as result %06.4f alpha > > > > alpha latent* > > alpha manifest*, std > > > > exit > > > > > > * > > * For searches and help try: > > * http://www.stata.com/help.cgi?search > > * http://www.stata.com/support/statalist/faq > > * http://www.ats.ucla.edu/stat/stata/ > > * > * For searches and help try: > * http://www.stata.com/help.cgi?search > * http://www.stata.com/support/statalist/faq > * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/