猫も杓子も構造化

発達障害、特別支援などについて書いています。最近は心理学関係の内容が多めです。

クロンバックのαについて

友人からクロンバックのαについて質問を受けてあれこれ調べたことの記録。

クロンバックのαとは信頼性係数の一つで内的整合性を表すものだとされている。テキストなどには信頼性係数の推定には(1)再テスト法、(2)平行テスト法、(3)内的整合性などがあるとされている。再テスト法には練習効果があるとか、平行テスト法は2つの検査が同じものであるという保証がないとか、それらの欠点も合わせて紹介されることが多い。

内的整合性の一つに折半法というものがあり、これは一つの検査の項目を半分に分けてそれらの相関係数をもとに信頼性係数を求める方法だと説明されるが、これも折半の仕方によって値が変わってしまうなど、その欠点が合わせて紹介されることが多い。そして、その欠点をカバーできるものとして、全ての折半法の組み合わせでの信頼性係数を計算しその平均を求めたものがクロンバックのαであり、古典的テスト理論の枠組みではよく使われると紹介される。

さて、クロンバックのαの計算式を見ると、

 \displaystyle

a係数 = \frac{項目数}{項目数-1} \times (1 - \frac{各項目の分散の合計}{合計点の分散})

のように書いてある。
妥当性と信頼性

この記事では、この式で求めた値が折半法の全ての組み合わせで求めた信頼性係数の平均に本当に一致するのか調べてみることとする。

サンプルとして扱うデータは、『外国語教育研究ハンドブック(松柏社)』の2章に乗っているデータで次のサイトに置いてあるのを使用した。

http://mizumot.com/handbook/wp-content/uploads/ch02motivation.csv

5件法の4つ質問項目からなる質問紙で15人から回答を得た仮想的なデータである。



まず、下準備として計算に必要になる折半した部分得点を計算しておく。

dat <- read.table(pipe("pbpaste"), header = T)

goukei <- apply(dat[,2:5], 1, sum) # 合計得点

col12 <- dat[,2] + dat[,3]  # 項目(12)の部分得点
col13 <- dat[,2] + dat[,4]  # 項目(13)の部分得点
col14 <- dat[,2] + dat[,5]  # 項目(14)の部分得点
col23 <- dat[,3] + dat[,4]  # 項目(23)の部分得点
col24 <- dat[,3] + dat[,5]  # 項目(24)の部分得点
col34 <- dat[,4] + dat[,5]  # 項目(34)の部分得点

一つのテストに含まれる項目を折半したそれぞれの部分得点を X_1, X_2とする。それらの相関係数 Cor (X_1, X_2)とすると、折半法による信頼性係数は次のように表せ、この式をSpearman-Brownの公式という(岡田, 2015)。※shはsplit-halfで折半の意味。

 \displaystyle

\rho_{sh} = \frac{2Cor(X_1, X_2)}{1 + Cor(X_1, X_2)}

この式に基づいてそれぞれの折半の信頼性係数を計算し、その後平均を求める。項目数が4つでありその折半の全ての方法は {}_n C_{n/2} ÷2 = {}_4 C_2 ÷ 2 = 3通りであるので3つの信頼性係数を求めて、その平均を算出する。

rho_sh =numeric(3)
soukan1 <- cor(col12, col34)  #項目(12)(34)での折半による相関係数
rho_sh[1] <- (2 * soukan1) / ( 1 + soukan1)
# [1] 0.8488912
soukan2 <- cor(col13, col24)  #項目(13)(24)での折半による相関係数
rho_sh[2] <- (2 * soukan2) / ( 1 + soukan2)
# [1] 0.8295949
soukan3 <- cor(col14, col23)  #項目(14)(23)での折半による相関係数
rho_sh[3] <- (2 * soukan3) / ( 1 + soukan3)
# [1]  0.8744027

mean(rho_sh)
 # [1]0.8509629

結果を見ると、確かに折半の方法によって信頼性係数は高くなったり低くなったりしていることが分かる。折半法の欠点として挙げられていた通りである。

次に、クロンバックのαの計算式で信頼性係数を求めてみる。

bunbo <- var(goukei)  # 合計得点の分散を計算
bunshi <- sum(apply(dat[,2:5], 2, var)) # 項目得点の分散を合計
(4/3) * (1 - (bunshi/bunbo))
# [1] 0.8472642

あれ、合わないじゃないですか。

よくよく調べて見ると、Spearman-Brownによる折半法の公式で求めた信頼性係数の平均が、αと一致するのは部分得点の分散が等しい時のようである。分散が等しくない時にはSpearmanとBrownの公式を一般化したFlanaganとRulonによる次の公式を用いて計算した信頼性係数の平均がαと一致するらしい(岡田, 2015)。(※ここでXはテストの合計得点。)

 \displaystyle
\rho_{sh2} = \frac{4Cor(X_1, X_2)\sqrt{Var(X_1)Var(X_2)}}{Var(X)}

この式に従って、全ての折半法による信頼性係数の平均を再度計算してみる。

new_rho_sh <- numeric(3)
new_rho_sh[1] <- (4 * soukan1) * (sqrt(var(col12) * var(col34))) / var(goukei)
new_rho_sh[2] <- (4 * soukan2) * (sqrt(var(col13) * var(col24))) / var(goukei)
new_rho_sh[3] <- (4 * soukan3) * (sqrt(var(col14) * var(col23))) / var(goukei)

mean(new_rho_sh)
 # [1] 0.8472642

結果を見れば分かる通り、無事にαの値と一致した。

ということで、統計のテキストとかだとざっとの説明で流されてしまう、「クロンバックのαが、全ての折半法による信頼性係数の平均である」ということの簡単な確認でした。

【参考】
岡田謙介(2015) 心理学と心理測定における信頼性についてーCronbachのα係数とは何なのか、何でないのかー 教育心理学年報, 54 , 71-83