全体として、信頼性と妥当性の評価は、調査手段が正確で一貫性のある結果を出すことを保証し、調査の質と信頼性を高める上で極めて重要である。
参考サイト 研究における信頼性と妥当性.
1次元性とは、全ての項目が1つのものを測定していることであり、測定の妥当性を評価するものといえる。これは因子分析において潜在因子が1つであることを意味する。.
また、1次元性であればその因子により各項目は適度な相関を持つ。これは2値反応データから項目間の相関行列を計算することにより、2値反応の背後にある連続量の相関係数を推定しようという発想である。2値反応データから算出した相関係数をファイ係数と四分点相関係数という(p139参照).
これは、分割表のファイ係数や四分点相関係数とは異なる使われ方である。
<参考> 分割表のファイ係数と四分点相関係数.
四分点相関係数 \(r_{xy}=\dfrac{ad-bc}{\sqrt{(a+b)(c+d)(a+c)(b+d)}}\).
ファイ係数 \(\phi=\sqrt{\dfrac{\chi^2}{N}}\) ( r行要素とc列要素の関連の強さを示す )
四分表では \(\chi^2=\dfrac{(ad-bc)^2N}{(a+b)(c+d)(a+c)(b+d)}\) だから.
\(\phi=\sqrt{\dfrac{\chi^2}{N}}=\dfrac{|ad-bc|}{\sqrt{(a+b)(c+d)(a+c)(b+d)}}=|r_{xy}|\).
( \(\chi^2=N\cdot
\phi^2\) ということになる ) .
library(psych)
library(readr)
u <- read_csv("data/rtest1.csv")
## Rows: 1000 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (10): u1, u2, u3, u4, u5, u6, u7, u8, u9, u10
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(u)
u1 | u2 | u3 | u4 | u5 | u6 | u7 | u8 | u9 | u10 |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
polychoric関数により四分点相関係数を求める.
polychoric.cor <- polychoric(u)
round(polychoric.cor$rho,2)
## u1 u2 u3 u4 u5 u6 u7 u8 u9 u10
## u1 1.00 0.47 0.46 0.50 0.34 0.36 0.44 0.40 0.44 0.31
## u2 0.47 1.00 0.46 0.48 0.38 0.43 0.46 0.36 0.39 0.28
## u3 0.46 0.46 1.00 0.38 0.34 0.32 0.43 0.40 0.42 0.32
## u4 0.50 0.48 0.38 1.00 0.41 0.49 0.42 0.37 0.38 0.32
## u5 0.34 0.38 0.34 0.41 1.00 0.45 0.39 0.40 0.36 0.30
## u6 0.36 0.43 0.32 0.49 0.45 1.00 0.51 0.38 0.46 0.39
## u7 0.44 0.46 0.43 0.42 0.39 0.51 1.00 0.42 0.58 0.40
## u8 0.40 0.36 0.40 0.37 0.40 0.38 0.42 1.00 0.42 0.37
## u9 0.44 0.39 0.42 0.38 0.36 0.46 0.58 0.42 1.00 0.42
## u10 0.31 0.28 0.32 0.32 0.30 0.39 0.40 0.37 0.42 1.00
固有値を求めスクリープロットを描く.
eigen(polychoric.cor$rho)$values
## [1] 4.6595249 0.8571923 0.7740152 0.6903984 0.6320886 0.5673372 0.5216075
## [8] 0.4754485 0.4230781 0.3993093
VSS.scree(polychoric.cor$rho)
スクリープロットから因子数が1であると判断でき、1次元性が確かめられた。
局所独立性とは、
「能力を固定したとき、各テスト項目への反応が互いに独立である」
ことである。
これにより、尤度関数の計算が保証される。
項目間の局所独立性の指標として、\(Q_3\) 統計量がある。
\(Q_3\) 統計量は. カテゴリカル因子分析の残差間の相関で、絶対値が0.36以下であれば局所独立の仮定が満たされていると判断できます。 (中村大輝 様より).
x <- read.csv("data/rtest2.csv")
head(x)
theta | u7 | u8 | u9 | u10 |
---|---|---|---|---|
2.013 | 1 | 1 | 1 | 1 |
0.142 | 0 | 1 | 0 | 1 |
-1.968 | 0 | 0 | 0 | 0 |
-0.471 | 0 | 1 | 0 | 0 |
0.853 | 1 | 1 | 0 | 0 |
0.230 | 0 | 0 | 0 | 1 |
uij <- x[,2:5]
head(uij)
u7 | u8 | u9 | u10 |
---|---|---|---|
1 | 1 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 |
0 | 0 | 0 | 1 |
a <- c(1.031,0.742,1.051,0.611)
b <- c(0.147,0.034,1.494,-0.178)
icc2PL <- function(a, b, theta) {
1/(1+exp(-1.7*a*(theta-b)))
}
Pij <- uij
for (j in 1:4) Pij[,j] <- icc2PL(x$theta, a[j], b[j])
head(Pij)
u7 | u8 | u9 | u10 |
---|---|---|---|
0.0463031 | 0.0814470 | 0.8199473 | 0.0629712 |
0.4468521 | 0.4573759 | 0.5267096 | 0.4525273 |
0.9506173 | 0.9144080 | 0.1851103 | 0.9333720 |
0.6699190 | 0.6380465 | 0.4122407 | 0.6528867 |
0.2172289 | 0.2637300 | 0.6552945 | 0.2415631 |
0.4144391 | 0.4312316 | 0.5431953 | 0.4234812 |
dij <-uij-Pij
round(cor(dij),2)
## u7 u8 u9 u10
## u7 1.00 0.64 -0.09 0.63
## u8 0.64 1.00 -0.12 0.60
## u9 -0.09 -0.12 1.00 -0.09
## u10 0.63 0.60 -0.09 1.00
0.36を超えている相関係数があるので、局所独立性は成り立っていないと考えられる。
現実のテストにおいて1次元性と局所独立性が完全に成り立つケースは少ないと考えられるが、
近似的に成立するようにコントロールする.
\(Q_3\) 統計量などによって評価していく.
これらの努力をするは重要なことである。.