conv2G_JPH {lazy.irt}R Documentation

Logistic GRM への変換

Description

重み付き最小2乗法を用いた Logistic GRM への変換
English help file: (conv2G)

Usage

conv2G( param, theta=NULL, init=1, paramG=NULL
, method=1, wtype=1, wmean=0, wsd=1, DinP=1
, npoints=21, thmin=-3, thmax=3, printGN=0
, maxiter=500, eps=1e-6, epsg=1e-6, epsx=1e-9
, print=1, plot=0 )

Arguments

param

以下の項目タイプを持つ項目の項目パラメタデータフレーム
"B3","Bn","Bn3","P", "Gn"

theta

theta の離散値

init

= 1 初期値を fitG2P で求める, = 0 等間隔な初期値

paramG

項目パラメタの初期値を含む項目パラメタデータフレームで init の指定より優先される.

method

= 1 icrf を用いて rmse を計算する
= 2 icif を用いて rmse を計算する
= 3 iif を用いて rmse を計算する
= 4 irf を用いて rmse を計算する (not yet available)

wtype

= 0 dnorm(theta) を重みとして用いない

wmean

重みとして用いられる正規分布の平均

wsd

重みとして用いられる正規分布の標準偏差

DinP

= 1 ロジスティク関数に D=1.7 を用いる

npoints

theta の離散値の個数

thmin

theta の離散値の最小値

thmax

theta の離散値の最大値

printGN

lazy.mat::GNprint オプション

maxiter

Gauss-Newton 法の繰り返し数

eps

収束判定基準: rmse の改善率の最大値

epsg

収束判定基準: gradient の絶対値の最大値

epsx

収束判定基準: パラメタの変化の絶対値の最大値

print

>= 1 結果の表示

plot

>= 1 グラフの表示

Details

method = 1 の場合には、以下の残差の2乗和
sum( w*( vec(icrf(theta)) - vec(icrf_GRM(theta|PARAM)) )^2 )
が GRM の項目パラメタ (PARAM) に関して最適化される。
ただし、 icrf(theta) は入力された項目の icrf,
icrf_GRM(theta|PARAM) は logistic GRM の icrf, そして
w は特性値の離散点 (theta) にかかる重みである。 ( N(wmean,wsd^2) or 1 ).

method = 2 の場合には、以下の残差の2乗和
sum( w*( vec(info_ic(theta)) - vec(info_ic_GRM(theta|PARAM)) )^2 )
が GRM の項目パラメタ (PARAM) に関して最適化される。
ただし info_ic(theta) は入力された項目の icif,
info_ic_GRM(theta|PARAM) は logistic GRM の icif である。

method = 3 の場合には、以下の残差の2乗和
sum( w*( info_i(theta) - info_i_GRM(theta|PARAM) )^2 )
が GRM の項目パラメタ (PARAM) に関して最適化される。
ただし info_i(theta) は入力された項目の iif,
info_i_GRM(theta|PARAM) は logistic GRM の iif である。


param に 3PLM の項目が含まれる場合には 2PLM に変換される。


最適化に際しては lazy.mat::GN を利用した重み付き Gauss-Newton 法が 用いられるが、2次導関数の計算には lazy.mat::JacobianMat を利用した 数値微分が用いられている。

Value

以下のものからなるリスト

paramNew: logistic GRM 項目パラメタデータフレーム
 ( \code{param} に含まれる 2PLM の項目は変換されない)
paramP:  \code{param} で指定された項目パラメタデータフレーム
grad: gradient 行列
wtype, wmean, wsd, method, init
rmse_p: icrf を用いた rmse (method=1 の場合にはこれが最適化されている)
rmse_irf: irf を用いた rmse
rmse_ii: iif を用いた rmse
rmse_iic: icrf を用いた rmse (method=2 の場合にはこれが最適化されている)
icrfNew, icifNew, iifNew, irfNew (変換後の項目反応関数等)
icrfOld, icifOld, iifOld, irfOld (変換前の項目反応関数等)

References

前川眞一 (2023) 項目反応理論におけるモデル変換. 日本テスト学会誌 19(1) 35-58.

Examples

# convert 3PLM and GPCM items to logistic GRM items
param <- paramA1[c(2,5,8),]
theta <- seq(-4,4,length=51)
# 実際には maxiter を大きめに指定すること。
res1 <- conv2G( param, theta, maxiter=20, plot=1, wtype=1, method=1 )
res2 <- conv2G( param, theta, maxiter=2, plot=1, wtype=1, method=2 )

Print(res1$rmse_p, res1$rmse_iic, res1$rmse_ii)
Print(res2$rmse_p, res2$rmse_iic, res2$rmse_ii)



[Package lazy.irt version 0.1.6 ]