- 1. 信度与效度
- 2. 平行测量、 τ \tau τ 等价与同类测量
- 3. 计算公式
- 4. R, python 实现
- 4.1 R实现
- 4.2 Python 实现
克隆巴赫系数 Cronbach’s alpha 是度量问卷信度(Reliability)的一个指标,一般大于 0.7 表示问卷的信度可以接受,大于 0.8 表示问卷的信度良好,大于 0.9 表示问卷的信度优秀。 1. 信度与效度
信度即测量的一致性,表示若问卷中的问题重复很多次问同一个人,这个人的回答总是一致的。效度是衡量问卷中的问题能否测量出它应该测量的事物的成都,例如网上的一些 IQ 测试问题真的能反映一个人的真实智力吗?这个就属于效度要衡量的东西。
2. 平行测量、 τ \tau τ 等价与同类测量测量值
x
x
x 与真值
τ
\tau
τ 的方程被假设为:
x
=
α
τ
+
e
x=\alpha\tau+e
x=ατ+e
其中
e
e
e 为误差,假设误差的均值为零,并且与真值不相关,即:
E
(
e
)
=
0
E(e)=0
E(e)=0,
c
o
v
(
τ
,
e
)
=
0
cov(\tau, e)=0
cov(τ,e)=0。
对于两个测量值 x i x_i xi 和 x j x_j xj 假设他们的 e i e_i ei、 e j e_j ej 不相关,真值相同 τ i = τ i \tau_i=\tau_i τi=τi,
- 若 α i = α j = 1 \alpha_i=\alpha_j=1 αi=αj=1 并且 v a r ( e i ) = v a r ( e j ) var(e_i)=var(e_j) var(ei)=var(ej),那么 x i x_i xi 和 x j x_j xj 为平行测量值。
- 若仅仅 α i = α j = 1 \alpha_i=\alpha_j=1 αi=αj=1,那么那么 x i x_i xi 和 x j x_j xj 为 τ \tau τ 等价测量值。
- 若 α i , α j \alpha_i , \alpha_j αi,αj, v a r ( e i ) , v a r ( e j ) var(e_i),var(e_j) var(ei),var(ej) 没有相等关系,则为同类测量。
信度的标准定义为真值方差与测量值的方差之比,在 τ \tau τ等价时也等于真值与测量值相关系数的平方。 定义 k k k 个测量值的和为 X = x 1 + x 2 + . . . x k X=x_1+x_2+...x_k X=x1+x2+...xk,克隆巴赫系数 Cronbach’s alpha 定义为 X X X 与真值 τ \tau τ 的相关系数平方,并且可以进一步推出它的计算公式为:
ρ τ = k k − 1 [ 1 − ∑ i = 1 k v a r ( x i ) v a r ( X ) ] \rho_{\tau}=\frac{k}{k-1}\left[1-\frac{\sum_{i=1}^{k} var (x_i)}{var(X)}\right] ρτ=k−1k[1−var(X)∑i=1kvar(xi)]
v a r ( X ) var(X) var(X) 为所有测量值和的方差(就是问卷中所有问题加和的方差), v a r ( x i ) var(x_i) var(xi) 为每个测量值的方差(就是问卷中单个问题的方差)。
4. R, python 实现 4.1 R实现在 R 语言中需要安装 ltm 包,该包专门针对结构方程相关的计算。
#install.packages('ltm')
library(ltm)
data = data.frame(Q1=c(1, 2, 2, 3, 2, 2, 3, 3, 2, 3),
Q2=c(1, 1, 1, 2, 3, 3, 2, 3, 3, 3),
Q3=c(1, 1, 2, 1, 2, 3, 3, 3, 2, 3))
#calculate Cronbach's Alpha
cronbach.alpha(data, CI=TRUE)
显示结果:
Items: 3
Sample units: 10
alpha: 0.773
Bootstrap 95% CI based on 1000 samples
2.5% 97.5%
0.064 0.933
上面还显示了 Cronbach’s 系数的 Bootstrap 置信区间。
4.2 Python 实现Python 代码:
python 需要安装 pingouin 包,
import pandas as pd
import pingouin as pg
#enter survey responses as a DataFrame
df = pd.DataFrame({'Q1': [1, 2, 2, 3, 2, 2, 3, 3, 2, 3],
'Q2': [1, 1, 1, 2, 3, 3, 2, 3, 3, 3],
'Q3': [1, 1, 2, 1, 2, 3, 3, 3, 2, 3]})
result = pg.cronbach_alpha(data = df)
print(result)
显示结果:
(0.7734375, array([0.336, 0.939]))
python 得出的系数值与 R 语言一样,但是置信区间有点不一样,因为 python 是用固定的置信区间公式算出的,不是用 bootstrap 方法计算的置信区间。
参考文献123
潜变量结构方程,肯尼斯.博伦著,赵联飞等译,重庆大学出版社,2022 ↩︎
https://www.statology.org/cronbachs-alpha-in-r/ ↩︎
https://www.statology.org/cronbachs-alpha-in-python/ ↩︎
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)