◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎
如果问卷或测试题项的分值只有两个类别,如正误判断题或Yes/No应答(1代表正确或Yes,0代表错误或No),即数据类型为二分数据(binary data),可以使用 KR20 开展信度分析。 KR20 代表Kuder& Richardson(1937)推导出的第20个公式:
其中, N 是题项数, p 是针对每个题项正确应答的比率, q 是针对每个题项错误应答的比率(1- p ), pq 是每个题项的方差,∑ pq 为题项方差之和, 是整个测试题项分布的方差。 的计算公式为:
其中, n 是样本量, x i 是第 i 个参与者(participant)或被试(subject)在每个题项上累计得分, 是被试得分平均数。 KR20 只适用于二分数据,取值范围介于0~1之间,值越大,信度越高。 KR20 值在0.7以上(最好0.8以上)表明测量有内部一致性。
假如某研究者设计了一个由5个题项(items)( N =5)构成的问卷,题型为正误判断,然后对20位参与者( n =20)开展了问卷调查。正确应答记作1,错误应答记作0,数据结果如下:
试求该量表测量的信度。
本例适合使用 KR20 开展信度分析。R没有内置函数计算 KR20 。由于 KR20 的计算比较简单,我们编写了函数KR20(x,N,n),其中x是数据框,N是题项数,n是样本量。
函数KR20(x,N,n)如下:
KR20<-function(x,N,n){
pq<-numeric()
N=N
for(i in 1:N){
pq[i]=mean(x[,i])*(1-mean(x[,i]))
}
sum<-numeric()
n=n
for(i in 1:n){
sum[i]=sum(x[i,])
}
variance<-var(sum)*(n-1)/n
KR20=N/(N-1)*(1-sum(pq)/variance)
print(KR20)
}
针对本例,首先创建数据框,R命令为:item<-data.frame(item1,item2,item3,item4,item5)。然后,利用命令KR20(item,N=5,n=20)得到 KR20 =0.66。如果研究者对信度不满意,可以添加或剔除题项,或者增加样本量。譬如,删除第一个题项后,得到 KR20 =0.7。R命令和计算结果如下:
>Item4<-item[,2:5]
>KR20(Item4,N=4,n=20)
[1]0.7022654
研究者也可以调用R数据包psych中的函数alpha(x)计算 KR20 。该函数中的x是数据框或矩阵。本例中,执行R命令alpha(item)得到以下结果:
以上结果中, KR20 系数的名称为raw a_lpha,给出与KR20(item,N=5,n=20)相同的信度系数。函数alpha(x)的结果还包括 KR20 系数的 95%置信区间(95%confidence boundaries)和剔除某个题项后信度的变化(Reliability if an item is dropped)等。本例 KR20 信度系数的95%置信区间为:[0.42,0.89]。删除item1使 KR20 系数由 0.66 微升至 0.7,但是删除其他题项使 KR20 系数下降,尤其在剔除item2之后,系数降至0.49。关于以上输出结果中其他项目的解释,可参看下一节或者利用R命令?alpha查询。