合成信頼性(Composite Reliability)はCronbach'αの代替指標として使われているものである。
lavaanで最後まで計算できると思っていたが、そうではなかったらしいので計算方法を再度調べてみた。
合成信頼性の解釈
合成信頼性(construct reliabilityと呼ばれることもあります)は、尺度項目の内部一貫性の尺度で、Cronbachのアルファによく似ている(Netemeyer, 2003)。これは、スケールのスコアの分散の合計に対する真のスコアの分散の合計量に等しいと考えることができる(Brunner & Süß, 2005)。別の方法として、「潜在的な構成要素の指標として使用される観察された変数間の共有分散の指標」(Fornell & Larcker, 1981)がある。
合成信頼性のしきい値は議論の余地がある(妥当なしきい値は、0.60以上の範囲であることがある)。多くは、スケールの項目数に依存する。尺度項目の数が少ないほど信頼性レベルは低くなり、尺度項目の数が多いほど信頼性レベルは高くなる傾向がある、とRichard NetemeyerらはScaling Proceduresの中で述べているIssues and Applicationsでは、5~8項目の狭義の構成要素が0.80の最低閾値を満たすことが「合理的」であると述べている。
データについてはこちら。 https://ides.hatenablog.com/entry/2020/06/13/005540
今回は1因子のみ、visualのみに絞って値を計算する。
計算式
今回はパッケージにすべて任せきりではなく計算をするので、計算式も掲示しておく。
λi = 標準化された因子負荷量
V(δi) = 残差分散
p = 指標の数
要するに標準化された因子負荷量と残差分散をパッケージで計算して、後は計算式を書いて求めるという手順になる。
コード
途中までlavaanパッケージを使用する。
library(lavaan) visual.model <- ' visual =~ x1 + x2 + x3' dat <- HolzingerSwineford1939[, paste0("x", 1:3)] fit <- cfa(visual.model, data = dat)
標準化された因子負荷量を計算する。sl
に変数名とともに格納。
library(dplyr) sl <- standardizedSolution(fit) sl <- sl$est.std[sl$op == "=~"] names(sl) <- names(dat) sl
結果。
x1 x2 x3 0.6209312 0.4788703 0.7096890
各項目の残差分散を計算。re
に格納する。
re <- 1 - sl^2
合成信頼性を計算する。
sum(sl)^2 / (sum(sl)^2 + sum(re))
結果。
0.6350718
参考
https://www.r-bloggers.com/2016/08/five-ways-to-calculate-internal-consistency/ https://rpubs.com/wiryantodatascience/Comp_Reliability