tseq_JPH {lazy.irt} | R Documentation |
この関数は、項目反応理論を用いて観測される重み付きテスト得点の
条件付き期待値を算出し、それを用いてテスト得点の真値の等化を行う。
English help file: (tseq)
tseq( param1=NULL, param2=NULL, weight1=NULL, weight2=NULL
, method=0, interpol="spline"
, thmin=-5, thmax=5, npoints=121
, round=0, by_x=1, print=0, plot=0 )
param1 |
テスト1 の項目パラメタデータフレーム |
param2 |
テスト2 の項目パラメタデータフレーム |
weight1 |
テスト1 の項目重みデータフレーム, or NULL |
weight2 |
テスト2 の項目重みデータフレーム, or NULL |
by_x |
テスト得点1の増分 |
round |
= 1 結果を丸める場合 |
method |
= 0 trf の逆関数を補間を用いて求める |
interpol |
|
thmin |
trf の逆関数を求める際の特性値 theta の最小値 |
thmax |
trf の逆関数を求める際の特性値 theta の最大値 |
npoints |
区間 |
print |
= 1 or 2 結果を出力 |
plot |
= 1 グラフを出力 |
この関数は、項目パラメタが与えられた場合にテスト反応関数 trf を計算し それらの関係を用いて、テスト1 の得点 x1 をテスト2の得点 x2 へ等化する。
trf1
をテスト1の、trf2
をテスト2のテスト反応関数とすれば、
テスト得点2に等化されたテスト得点1は x2_1
x2_1 = trf2( inv_trf1(x1))
で計算される。
テスト1の得点としては、観測される整数値のみではなく
テスト得点の最小値と最大値の間の以下の点
x1 <- seq(minscore,maxscore, by=by_x)
が用いられる。
項目パラメタデータフレームと項目重みデータフレームに関しては lazy.irt_JPH を参照のこと。
以下の例が示すように、 round=1
が指定された場合には、テスト1の
テスト2への等化と、テスト2のテスト1への等化は必ずしも対称とはならない。
以下の要素からなるリスト
x1 テスト1の得点ベクトル x2_1 テスト2に等化されたテスト1の得点ベクトル theta x1 に対応する特性値の値 locmin 特性値が負の極めて大きな値になる場所 locmax 特性値が負の極めて小さな値になる場所 minmax1 テスト1得点の最小値と最大値 minmax2 テスト2得点の最小値と最大値
res <- tseq( paramS1, paramS2, print=2 )
res <- tseq( paramS1, paramS2, weight1=weightS12, weight2=weightS21, print=2 )
# The effect of item weight.
res <- tseq( paramB1, paramB1, weight1=weightB11, weight2=weightB12, print=3 )
# checking if symmetric
# equate test1 to test2
res1 <- tseq( paramS1, paramS2, by_x=0.5 )
# equate test2 to test1
res2 <- tseq( paramS2, paramS1, by_x=0.5 )
# merge result
r1 <- data.frame(x1=res1$x1, y1=res1$x2_1)
r2 <- data.frame(y2=res2$x1, x2=res2$x2_1)
rx <- merge( r1, r2, by.x="x1", by.y="x2", all=TRUE)
rx$y <- ifelse( is.na(rx$y1), rx$y2, rx$y1 )
ry <- merge( r1, r2, by.x="y1", by.y="y2", all=TRUE)
ry$x <- ifelse( is.na(ry$x1), ry$x2, ry$x1 )
printm(rx,ry)
# comparison of methods
res1 <- tseq( paramS1, paramS1, method=1, by_x=0.1, weight2=weightS12 )
res2 <- tseq( paramS1, paramS1, method=0, by_x=0.1, weight2=weightS12 )
# Print(res1$x1, res1$x2_1, res1$x2_1-res2$x2_1, fmt="6.1, 6.4 9.6")
summary( abs(res1$x2_1-res2$x2_1) )
# @keywords internal