Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

一般化部分採点モデル

概要

一般化部分得点モデル(Generalized Partial Credit Model: GPCM, Muraki, 1992) は多値の順序尺度の反応を扱えるIRTモデル。

GRMとGPCMの使い分けについて

神戸大学 分寺杏介先生の講義資料

Chapter 8 項目反応理論 1

どちらを使っても本質的には違いは無いので,説明を読んでしっくり来たほうを使えば良いと思います

Cook (1996) “A comparison of three polytomous item response theory models in the context of testlet scoring”

Cook, K. F. (1996). A comparison of three polytomous item response theory models in the context of testlet scoring. The University of Texas at Austin.

SATの実世界データとシミュレーションデータを使ってGPCMとGRMを比較した。
θ\thetaの推定値は相関係数 0.9748 ~ 0.9921と高い相関を示した。

Dai et al. (2021) “Performance of Polytomous IRT Models With Rating Scale Data”

Dai, S., Vo, T. T., Kehinde, O. J., He, H., Xue, Y., Demir, C., & Wang, X. (2021, September). Performance of polytomous IRT models with rating scale data: An investigation over sample size, instrument length, and missing data. In Frontiers in Education (Vol. 6, p. 721963). Frontiers Media SA.

  • データ:Rのirtplayパッケージのsimdat()関数で、GRMとGPCMの下でのデータを生成。異なるサンプルサイズ・項目数・欠損率で比較。

  • GRM生成データをGPCMで分析すると収束しないケースが多い→やはり両モデルは若干異なる

  • 項目母数の安定性:GPCM > GRM

  • 能力母数の精度:GRM > GPCM(ただし高欠測率の時はGPCMが安定)

  • テスト情報量はGRMが高くなる傾向がある

考え方

隣のカテゴリとの2択で考える

2カテゴリの場合

yij∈{0,1}y_{ij}\in\{0,1\}とする。2PLモデルにおいては、

P(yij=1)=11+exp⁡[−aj(θi−bj)],log⁡(P(yij=1)1−P(yij=1))=aj(θi−bj)P(y_{ij} = 1) = \frac{1}{1+ \exp[- a_j ( \theta_i - b_j)]} , \quad \log\left( \frac{P(y_{ij} = 1)}{1 - P(y_{ij} = 1)} \right) = a_j ( \theta_i - b_j)

「yij=0y_{ij}=0の確率(カテゴリ0を選ぶ確率)」と「yij=1y_{ij}=1の確率(カテゴリ1を選ぶ確率)」の合計は1になる。そして「カテゴリ1を選ぶ確率」は

P(yij=1)=P(yij=1)P(yij=0)+P(yij=1)P(y_{ij}=1) = \frac{P(y_{ij}=1)}{P(y_{ij}=0) + P(y_{ij}=1)}

と表すことができる。

KKカテゴリの場合

これをKKカテゴリ(k=1,2,⋯ ,Kk=1,2,\cdots,K)に一般化し、「隣り合う2つのカテゴリk−1k-1とkkの二択においてkkを選ぶ確率」P(yij∗=k)k−1,kP(y_{i j}^*=k)_{k-1, k}とする。

P(yij∗=k)k−1,k:=P(yij=k)P(yij=k)+P(yij=k−1)(1)P(y_{i j}^*=k)_{k-1, k} := \frac{P(y_{i j}=k)}{P(y_{i j}=k)+P(y_{i j}=k-1)} \tag{1}

これは反応 yijy_{ij} が k−1k-1 か kk のどちらかだと仮定して正規化したとき、kk が選ばれる「相対的な割合」。

式(1)(1)を

P(yij=k)=P(y_{ij}=k)=の形に変形すると

P(yij=k)=P(yij=k−1)P(yij∗=k)k−1,k1−P(yij∗=k)k−1,k(2)P(y_{ij}=k)=P(y_{ij}=k-1) \frac{P(y_{ij}^*=k)_{k-1, k}}{1-P(y_{ij}^*=k)_{k-1, k}} \tag{2}

となる。

式変形メモ

わかりやすくするため、記号を単純化する。

P(yij∗=k)k−1,k=P∗=PkPk+Pk−1P\left(y_{ij}^*=k\right)_{k-1, k} = P^* =\frac{P_k}{P_k+P_{k-1}}

まず

P∗=PkPk+Pk−1P^*=\frac{P_k}{P_k+P_{k-1}}

の両辺に Pk+Pk−1P_k+P_{k-1} を掛ける:

P∗(Pk+Pk−1)=PkP^*\left(P_k+P_{k-1}\right)=P_k

左辺を展開:

P∗Pk+P∗Pk−1=PkP^* P_k+P^* P_{k-1}=P_k

PkP_k を左にまとめる:

Pk−P∗Pk=P∗Pk−1(1−P∗)Pk=P∗Pk−1\begin{aligned} & P_k-P^* P_k=P^* P_{k-1} \\ & \left(1-P^*\right) P_k=P^* P_{k-1} \end{aligned}

両辺を 1−P∗1-P^* で割る:

Pk=Pk−1P∗1−P∗P_k=P_{k-1} \frac{P^*}{1-P^*}

漸化式の形に変形

ここで、kkとk−1k-1のカテゴリの2択であるということで、2PLMと同様にロジスティックモデルで表現できるとすると、

log⁡P(yij∗=k)k−1,k1−P(yij∗=k)k−1,k=aj(θi−bjk)\log \frac{P(y_{i j}^*=k)_{k-1, k}}{1-P(y_{i j}^*=k)_{k-1, k}}=a_j(\theta_i-b_{j k})

と対数オッズを線形モデルで表現する形に表すことができる。この両辺に指数をとると

P(yij∗=k)k−1,k1−P(yij∗=k)k−1,k=exp⁡[aj(θi−bjk)]\frac{P(y_{i j}^*=k)_{k-1, k}}{1-P(y_{i j}^*=k)_{k-1, k}} = \exp[ a_j(\theta_i-b_{j k}) ]

になる。簡単のためπijk=aj(θi−bjk)\pi_{ijk} = a_j(\theta_i-b_{j k})とすると、式(2)(2)は

P(yij=k)=P(yij=k−1)exp⁡(πijk)\boxed{ P(y_{ij}=k) % = P(y_{ij}=k-1) \frac{P(y_{ij}^*=k)_{k-1, k}}{1-P(y_{ij}^*=k)_{k-1, k}} = P(y_{ij}=k-1) \exp(\pi_{ijk}) }

という漸化式の形になる。言葉で書くと、「特定のカテゴリkkを選ぶ確率 P(yij=k)P(y_{ij}=k) 」は、「 k−1k-1 を選ぶ確率 P(yij=k−1)P(y_{ij}=k-1) 」と「隣のカテゴリに移るオッズexp⁡(πijk)=P(yij∗=k)k−1,k1−P(yij∗=k)k−1,k\exp(\pi_{ijk}) = \frac{P(y_{i j}^*=k)_{k-1, k}}{1-P(y_{i j}^*=k)_{k-1, k}} 」で表すことができるというもの。

例えば3カテゴリの場合は

P(yij=1)=P(yij=1)P(yij=2)=P(yij=1)exp⁡(πij2)P(yij=3)=P(yij=1)exp⁡(πij2)⏟P(yij=2)exp⁡(πij3)\begin{aligned} P(y_{ij}=1) &= P(y_{ij}=1)\\ P(y_{ij}=2) &= P(y_{ij}=1) \exp(\pi_{ij2})\\ P(y_{ij}=3) &= \underbrace{ P(y_{ij}=1) \exp(\pi_{ij2}) }_{P(y_{ij}=2)} \exp(\pi_{ij3})\\ \end{aligned}

のようになる。つまり、P(yij=1)P(y_{ij}=1)にexp⁡(πijk)\exp(\pi_{ijk})の積を掛け合わせた形ですべてのカテゴリの反応確率が表される。

P(yij=k)=P(yij=k−1)exp⁡(πijk)=P(yij=k−2)exp⁡(πij,k−1)exp⁡(πijk)⋮=P(yij=1)∏c=2kexp⁡(πijc)=P(yij=1)exp⁡(∑c=2kπijc)\begin{aligned} P(y_{ij}=k) &= P(y_{ij}=k-1)\exp(\pi_{ijk})\\ &= P(y_{ij}=k-2)\exp(\pi_{ij,k-1})\exp(\pi_{ijk})\\ &\quad \vdots\\ &= P(y_{ij}=1)\prod_{c=2}^{k}\exp(\pi_{ijc})\\ &= P(y_{ij}=1)\exp\left(\sum_{c=2}^{k}\pi_{ijc}\right) \end{aligned}

いったんπij1=0\pi_{ij1} = 0として、P(yij=1)=exp⁡(πij1)=1P(y_{ij}=1) = \exp(\pi_{ij1}) = 1 を代入すると

P(yij=k)=exp⁡(∑c=1kπijc)P(y_{ij}=k) = \exp\left(\sum_{c=1}^{k}\pi_{ijc}\right)

正規化

P(yij=1)=1P(y_{ij}=1)=1としたため、全カテゴリの選択確率の総和が1になるとは限らない。そこで全カテゴリの総和で割って正規化する。

P(yij=k)∑l=1KP(yij=l)=P(yij=k)P(yij=1)+P(yij=2)+⋯+P(yij=K)=exp⁡(∑c=1kπijc)∑l=1Kexp⁡(∑c=1lπijc)\begin{aligned} \frac{ P(y_{ij}=k) }{ \sum_{l=1}^K P(y_{ij}=l)} &= \frac{ P(y_{ij}=k) }{ P(y_{ij}=1) + P(y_{ij}=2) + \cdots + P(y_{ij}=K) }\\ &= \frac{ \exp(\sum^k_{c=1} \pi_{ijc}) }{ \sum_{l=1}^K \exp(\sum^l_{c=1} \pi_{ijc}) } \end{aligned}

項目特性曲線

項目特性曲線(ICC)あるいは CRC(Category Response Curves) は 能力 θ\theta に対して各カテゴリ kk が選ばれる確率 P(Y=k∣θ)P(Y=k\mid\theta) を描いた曲線群

P(Y=k∣θ)=exp⁡(∑s=1k−1a(θ−bs))∑t=1Kexp⁡(∑s=1t−1a(θ−bs)),k=1,…,KP(Y=k \mid \theta)=\frac{\exp \left(\sum_{s=1}^{k-1} a\left(\theta-b_s\right)\right)}{\sum_{t=1}^K \exp \left(\sum_{s=1}^{t-1} a\left(\theta-b_s\right)\right)}, \quad k=1, \ldots, K
Source
<Figure size 800x300 with 2 Axes>

また、全体の傾向を見たい場合は能力 θ\theta におけるその項目の期待得点(得点で重みづけたCRC)である ESC(Expected Score Curve)

E[Y∣θ]=∑k=1KkP(Y=k∣θ)\mathbb{E}[Y \mid \theta]=\sum_{k=1}^K k P(Y=k \mid \theta)

というものがある。

<Figure size 500x300 with 1 Axes>

部分得点モデル

部分得点モデル(Partial Credit Model: PCM, Masters, 1982) は Raschモデルを順序多値に拡張した IRT モデル。

P(yij=k)=exp⁡ ⁣(∑c=1k(θi−bjc))∑l=0Kexp⁡ ⁣(∑c=1l(θi−bjc))P(y_{ij}=k) = \frac{ \exp\!\left(\sum_{c=1}^{k}(\theta_i - b_{jc})\right) }{ \sum_{l=0}^{K} \exp\!\left(\sum_{c=1}^{l}(\theta_i - b_{jc})\right) }

あるいはロジットで表すと

log⁡P(yij=k)P(yij=k−1)=θi−bjk\log \frac{P(y_{ij}=k)}{P(y_{ij}=k-1)} = \theta_i - b_{jk}

PCMでは識別力パラメータは 存在しない(全部共通でa=1a=1)ため扱いにくく、一般化したGPCMが提案された

一般化部分得点モデル

一般化部分得点モデル(Generalized Partial Credit Model: GPCM, Muraki, 1992) はPCMを一般化し、項目ごとに異なる識別力aja_jを導入したモデル。

P(yij=k)=exp⁡ ⁣(∑c=1kaj(θi−bjc))∑l=0Kexp⁡ ⁣(∑c=1laj(θi−bjc))P(y_{ij}=k) = \frac{ \exp\!\left(\sum_{c=1}^{k} a_j(\theta_i - b_{jc})\right) }{ \sum_{l=0}^{K} \exp\!\left(\sum_{c=1}^{l} a_j(\theta_i - b_{jc})\right) }

あるいは

log⁡P(yij=k)P(yij=k−1)=aj(θi−bjk)\log \frac{P(y_{ij}=k)}{P(y_{ij}=k-1)} = a_j(\theta_i - b_{jk})
  • aj>0a_j > 0:項目 jj の識別力

  • bjkb_{jk}:段階 k−1→kk-1 \to k の難易度

実装

最尤推定ならRのmirtパッケージでgpcmを選ぶだけだが、ベイズモデリングはややこしい

BUGS

Using R and WinBUGS to fit a Generalized Partial Credit Model for developing and evaluating patient-reported outcomes assessments

1	model {
2	    for (i in 1:n) {
3	        for (j in 1:p) {
4	                Y[i, j] ~ dcat(prob[i, j, 1:K[j]])
5	                }
6	                theta[i] ~ dnorm(mu0, tau0)
7	    }
8	    for (i in 1:n) {
9	        for (j in 1:p) {
10	            for (k in 1:K[j] ) {
11	                eta[i, j, k] <- alpha[j] * (theta[i] - beta[j, k])
12	                psum[i, j, k] <- sum(eta[i, j, 1:k])
13	                exp.psum[i, j, k] <- exp(psum[i, j, k])
14	                prob[i, j, k] <- exp.psum[i, j, k] / sum(exp.psum[i, j, 1:K[j]])
15	    } } }
16	    for (j in 1:p) {
17	        alpha[j] ~ dlnorm(m.alpha, pr.alpha)
18	        beta[j, 1] <- 0.0
19	        for (k in 2:K[j]) {
20	                beta[j, k] ~ dnorm(m.beta, pr.beta)
21	        }
22	    }
23	    pr.alpha <- pow(s.alpha, −2)
24	    pr.beta <- pow(s.beta, −2)
25	mu0 ~ dnorm(0, 0.01)
26	tau0 ~ dgamma(0.5, 0.5)
27	var0 <- 1/tau0
28	}

PyMC

Loading...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (4 chains in 4 jobs)
NUTS: [theta, a, b]
Loading...
Loading...
Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 132 seconds.
CPU times: user 8.99 s, sys: 623 ms, total: 9.61 s
Wall time: 2min 19s
<Figure size 1200x400 with 3 Axes>
References
  1. Muraki, E. (1992). A GENERALIZED PARTIAL CREDIT MODEL: APPLICATION OF AN EM ALGORITHM. ETS Research Report Series, 1992(1). 10.1002/j.2333-8504.1992.tb01436.x
  2. Dai, S., Vo, T. T., Kehinde, O. J., He, H., Xue, Y., Demir, C., & Wang, X. (2021). Performance of Polytomous IRT Models With Rating Scale Data: An Investigation Over Sample Size, Instrument Length, and Missing Data. Frontiers in Education, 6. 10.3389/feduc.2021.721963
  3. Masters, G. N. (1982). A Rasch Model for Partial Credit Scoring. Psychometrika, 47(2), 149–174. 10.1007/bf02296272