conv2Bnc_JPH {lazy.irt}R Documentation

2PNMc (定数の c パラメタを持つ 2PNM) への変換

Description

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

Usage

conv2Bnc( param, theta=NULL, init=1, paramBnc=NULL, cval=0.2
, method=0, 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","Bn3"

theta

theta の離散値

init

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

paramBnc

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

cval

c パラメタの値(定数)

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(2PNMc(theta|PARAM)) )^2 )
が 2PNMc の項目パラメタ (PARAM) に関して最適化される。
ただし、 icrf(theta) は入力された項目の icrf,
icrf_2PNMc(theta|PARAM) は 2PNMc の icrf, そして
w は特性値の離散点 (theta) にかかる重みである。 ( N(wmean,wsd^2) or 1 ).

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

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


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

Value

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

paramNew: 2PNMc 項目パラメタデータフレーム
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 3PNM items to 2PNMc items
res1 <- conv2Bnc( paramA1[c(2,4),], maxiter=20, plot=1, method=1, cval=0.25 )
res2 <- conv2Bnc( paramA1[c(2,4),], maxiter=20, plot=1, method=2, cval=0.25 )
Print(res1$rmse_p, res1$rmse_iic, res1$rmse_ii)
Print(res2$rmse_p, res1$rmse_iic, res1$rmse_ii)



[Package lazy.irt version 0.1.6 ]