oseq_JPH {lazy.irt} | R Documentation |
この関数は、項目反応理論を用いて観測される重み付きテスト得点の分布を算出し、
それを用いてテスト得点の等化を行う。
English help file: (oseq)
oseq( param1=NULL, param2=NULL, weight1=NULL, weight2=NULL
, thmin=-4, thmax=4, npoints=31, thdist=1
, smooth1 = 0, bandwid1 = 3, smooth2 = 0, bandwid2=3
, round=0, print=0, plot=0 )
param1 |
テスト1 の項目パラメタデータフレーム |
param2 |
テスト2 の項目パラメタデータフレーム |
weight1 |
テスト1 の項目重みデータフレーム, or NULL |
weight2 |
テスト2 の項目重みデータフレーム, or NULL |
npoints |
観測値の分布に用いる区間 |
thmin |
特性値 theta の最小値 |
thmax |
特性値 theta の最大値 |
thdist |
= 1 特性値の分布に正規分布を仮定, = 0 一様分布を仮定. |
smooth1 |
移動平均法による cdf1 の平滑化数. |
bandwid1 |
cdf1 の平滑化に際する移動平均の幅. |
smooth2 |
移動平均法による cdf2 の平滑化数. |
bandwid2 |
cdf2 の平滑化に際する移動平均の幅 |
round |
= 1 結果を整数に丸める |
print |
= 1 or 2 結果を出力 |
plot |
= 1 グラフを出力 |
この関数は、項目パラメタと特性値 theta の分布が所与の場合に、 テスト1 の得点 x1 ならびにテスト2の得点 x2 の得点分布を計算し、 その後 x1 を x2 へ等百分位法を用いて等化する。
得点分布の算出には obscore_JPH の核となる部分を抽出した
obscore_s 関数が用いられ、等百分位法は
coseq_JPH 関数を用いて行われる。
また、得られた結果は x2_1
と命名される。
項目パラメタデータフレームと項目重みデータフレームに関しては lazy.irt_JPH を参照のこと。
以下の例が示すように、 round=1
が指定された場合には、テスト1の
テスト2への等化と、テスト2のテスト1への等化は必ずしも対称とはならない。
以下の要素からなるリスト
theta \code{x1} に対応する特性値 theta の値 x1 テスト1の得点ベクトル x2 テスト2の得点ベクトル x2_1 テスト2に等化されたテスト1の得点ベクトル p1 テスト1の確率分布 p2 テスト2の確率分布
(x2_1,p1
が変換されたテスト得点の得点分布となる。
res=oseq( paramS1, paramS2, print=2 )
res=oseq( paramS1, paramS2, weight1=weightS12, weight2=weightS21, print=2 )
# The effect of item weight.
res=oseq( paramS1, paramS1, weight2=weightS12, print=3 )
# checking if symmetric
# equate test1 to test2
res1 <- oseq( paramS1, paramS2 )
# equate test2 to test1
res2 <- oseq( paramS2, paramS1 )
# 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 )
rxr <- round(rx,4); ryr=round(ry,4)
printm(rxr,ryr)
# @keywords internal