猫も杓子も構造化

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

続・クロンバックのα

前回の記事で全ての折半法の平均がクロンバックのαであるということについて書いた。

nekomosyakushimo.hatenablog.com


今回は、内的整合性の意味をより理解するためにデータをいじって遊んでみる。

内的整合性とは乱暴に言えば、テストの中の項目がどれだけ同じ方向を向いているかを表している数値であるので、例えばテストの項目を逆転処理をすると信頼性係数は下がるはずだし、全部逆転処理すれば元の値と一致するはずである。

早速やってみる。

まず、逆転する項目を一つずつ増やしていくデータセットを作る。5件法なので6を引いて絶対値をとれば逆転される。

dat1 <- dat
dat1[,2] <- abs(dat[,2] - 6)  # 項目1を逆転したデータセット
dat2 <- dat1
dat2[ ,3] <- abs(dat[,3] - 6)  # 項目12を逆転したデータセット
dat3 <- dat2
dat3[ ,4] <- abs(dat[,4] - 6)  # 項目123を逆転したデータセット
dat4 <- dat3
dat4[ ,5] <- abs(dat[,5] - 6)  # 項目1234を逆転したデータセット

前回は計算式を直接書いたが、面倒なので信頼性係数を一発で出す関数を使う。ltmというパッケージに含まれる、cronbach.alpha()というのは信頼性係数を算出してくれる。(※データセットの1列目は氏名なので[,-1]で読み込まないようにしている)

cronbach.alpha(dat[,-1])  # オリジナルの信頼性係数
# alpha: 0.847
cronbach.alpha(dat1[,-1])  # 項目1だけ逆転
# alpha: 0.046
cronbach.alpha(dat2[,-1])  # 項目12を逆転
# alpha: -1.821
cronbach.alpha(dat3[,-1])  # 項目123を逆転
# alpha: 0.039
cronbach.alpha(dat4[,-1])  # 項目1234を逆転
# alpha: 0.847

項目を一つひっくり返しただけで大惨事である。まぁ項目が4つしかないわけだから言って見れば、全兵力の4分の1が一気に離反したようなもので、そりゃあ数値は下がるでしょう。項目の半分をひっくり返した場合だともはや訳のわからない数字になっている。しかし、全ての項目をひっくり返すと元の信頼性係数の値に戻る。

このことから、信頼性が妥当性を保証しないということの意味がよく分かる。というのは、オリジナルのデータセットと項目全てを逆転したデータセットでは、信頼性係数自体は一緒であるが、測定している概念は180度逆のものである。信頼性は何を計っているかについては何も教えてくれないのだ。

ちなみに、信頼性係数を算出する関数は他にもあり、psychパッケージに含まれるalpha()はより正確に情報を教えてくれる。例として、項目1だけ逆転したデータセットを読ませてみる。

library (psych)
alpha(dat1[,-1])  # 項目1だけ逆転

f:id:nekomosyakushimo:20171126104900p:plain

結果を見ると、「逆転項目の処理忘れてない?」という警告が出たり、SPSSの出力と同じように項目が削除された場合にα係数が出力される(図中の赤枠)。項目1が削除されるということは、離反した兵士たちが全員処分されたということであるので、軍に秩序が戻り信頼性係数が再び回復することを示している。