項目反応理論(IRT)
1. はじめに
「項目反応理論(Item Response Theory, IRT)」は、教育測定や資格試験、適性検査の分野で使われる統計的フレームワークです。
クラシカルなテスト理論(CTT, Classical Test Theory)が「受験者の得点」を中心に考えるのに対し、IRTは「個々の問題(項目)と受験者の能力を同時にモデル化する」ことに特徴があります。
資格試験や適性検査の設計・分析に携わる人はもちろん、A/Bテストや推薦システムの精緻化を目指すデータサイエンティストにとっても、考え方が応用できる分野です。
2. 項目反応理論の基本
IRTの根本的な考え方はシンプルです。
- 受験者には「能力パラメータ$ θ$」がある
- 問題(項目)には「難易度 $b$」や「識別力 $a$」などのパラメータがある
- 受験者がその問題に正解する確率は、能力$ θ $と項目パラメータの関数としてモデル化できる
2.1 ロジスティックモデル
最もよく使われるのはロジスティック曲線を使ったモデルです。
1パラメータ・ロジスティックモデル(1PL, Raschモデル)
正答確率は難易度$ b $だけで決まり、識別力はすべての問題で共通とする。
$$
P(\text{正解}) = \frac{1}{1 + \exp(-(θ - b))}
$$
ここで、受験者がその項目に正解したかどうかを「$Y=1$は正解、$Y=0$は不正解を表す」という二値の確率変数で表現しています。
2パラメータ・ロジスティックモデル(2PL)
項目ごとに識別力 a を導入する。
$$
P(\text{正解}) = \frac{1}{1 + \exp(-a(θ - b))}
$$
3パラメータ・ロジスティックモデル(3PL)
さらに「まぐれ当たりの確率 c」を加える。
$$
P(\text{正解}) = c + \frac{1-c}{1 + \exp(-a(θ - b))}
$$
2.2 プロビット(正規オージブ)モデル
ロジスティックの代わりに 標準正規分布の累積分布関数$ \Phi(\cdot) $を用いる定式化です。歴史的には「正規オージブ(normal ogive)」と呼ばれ、ロジットとほぼ同等の当てはまりを与えます。
1パラメータ・プロビット(1PNO)
$$
P(Y=1 \mid \theta, b) = \Phi\big(D(\theta - b)\big)
$$
2パラメータ・プロビット(2PNO)
$$
P(Y=1 \mid \theta, a, b) = \Phi\big(Da(\theta - b)\big)
$$
3パラメータ・プロビット(3PNO)
$$
P(Y=1 \mid \theta, a, b, c) = c + (1-c)\Phi\big(Da(\theta - b)\big)
$$
スケーリング定数 (D)(慣例:(D=1.702))
ロジットとプロビットの曲線形状を揃えるために導入します。実務では (D=1.702) を入れることで、2PL(ロジット)と2PNO(プロビット)のパラメータ解釈がほぼ一致します。
2.3 ロジットとプロビットの比較
- 当てはまり:教育測定データでは大差なし。
- 推定:プロビットは潜在正規変数の導入でベイズ推定(Albert–Chib法など)がやりやすい。ロジットはEMや数値最適化の実装資産が豊富。
-
パラメータスケール:
- (D=1.702) を含むプロビットなら、ロジット系の (a, b) とほぼ同じ値。
- (D) を入れないと、概ね $(a_{\text{logit}} \approx 1.7 , a_{\text{probit}})$
3. 項目反応曲線(Item Characteristic Curve, ICC)
項目反応曲線(ICC)とは、項目反応理論において、
受験者の能力$θ$と その項目に正解する確率 の関係を示す曲線のことです。
これを見ることで、
「この問題はどの能力レベルの受験者を区別できるか」
「どのあたりで正答確率が急激に上昇するか」
が視覚的に分かります。
4. 項目情報関数(Item Information Function, IIF)
4.1 情報量の考え方
IRTでは「情報量」という概念で、ある能力レベル θ における測定精度を定量化します。
統計学的には、情報量はフィッシャー情報(Fisher Information)に対応し、分散の逆数に比例します。
つまり、
$$
\text{Var}(\hat{θ}) \approx \frac{1}{I(θ)}
$$
であり、情報量が大きいほど、その能力付近で精度の高い推定が可能になります。
4.2 2PLモデルにおける情報関数
2パラメータロジスティックモデルでは、項目情報関数は次の式で与えられます:
$$
I_i(θ) = a_i^2 P_i(θ) (1 - P_i(θ))
$$
ここで
- $a_i$ は項目の識別力
- $P_i(θ)$ は項目 $i$ の正答確率
識別力 $a_i$ が大きいほど、曲線が急峻になり、その項目が「特定のθ付近をより鋭く区別」できることを意味します。
4.3 3PLモデルの情報関数
3PLモデルでは「まぐれ当たり確率 $c_i$」が加わるため、情報量は次のように修正されます:
$$
I_i(θ) = \frac{a_i^2 (1 - c_i)}{(c_i + (1 - c_i)P_i(θ))^2} P_i(θ) (1 - P_i(θ))
$$
これにより、推測の影響($c_i$が大きい)ほど情報量は低下します。
つまり「簡単すぎて誰でも当たる問題」は、測定上の価値が小さいことを示しています。
4.4 テスト情報関数(Test Information Function, TIF)
全体のテストとしての情報量は、各項目の情報量の総和で表されます。
$$
I_{\text{test}}(θ) = \sum_i I_i(θ)
$$
これにより、テスト全体がどの能力領域で最も精密に測定できるかが分かります。
テスト設計では、目標とする能力域(例:合格ライン付近)で情報量が最大化されるように項目を選ぶのが基本方針です。
4.5 情報関数と信頼区間
情報量の平方根の逆数が、能力推定値の標準誤差に対応します:
$$
\text{SE}(θ) = \frac{1}{\sqrt{I_{\text{test}}(θ)}}
$$
信頼区間は
$$
\hat{θ} \pm z_{0.975} \times \text{SE}(θ)
$$
のように計算できます。
この点でIRTの情報関数は、「どの能力レベルで信頼性が高いか」を直感的に示す便利な指標です。
5. 応用分野
IRTは単なる教育理論ではなく、統計モデルの一種です。
- 推定には最尤法やベイズ推定(EMアルゴリズム、MCMCなど)が使われる
- 実装例:Rの
ltmパッケージやmirtパッケージ、Pythonのpy-irtなど - 大規模データの解析では、並列計算や確率的勾配法が用いられる
このように、IRTは統計学・機械学習との親和性が高く、応用可能性が広い分野です。