学習 タ 評価
項目反応理論
古典的 限界
□ 特性 被験者 依存
→ 汎用性 あ いえ い
□実地 評価
→今後実施 い 未知数
項目応答理論
IRT: Item Response Theory
全体 個々 問題 項目 単位 考え 記を測定 統計理論
項目 難易度 識別力を数値化 難易度 依存
連続尺度 被験者 特性を数値化
項目特性曲線 正規分布をベ あ
項目 対 学習者 正答率を求 可能
項目特性曲線
正規分布
積
項目特性曲線
Pj θ = c + + exp − .7 × j θ − j Pj θ
→能力θを持 学習者 項目jを
解 確率
正規分布 積分布関数
ロ ッ 分布関数 近似 Birnbaum
項目特性曲線 意味
0 0.2 0.4 0.6 0.8 1 1.2
-3 -2.6-2.2-1.8-1.4 -1 -0.6-0.2 0.2 0.6 1 1.4 1.8 2.2 2.6 3 3.4 3.8
系列1
P θ = c + + exp − .7 × θ −− a:識別力
(0.3<a<2) b:困難度
(0 基準) c:当 推量
(0<c<1)
exp(x): e 自然対数 底数 x乗 (exponential function)
潜在特性θ
正解確率 P θ
パ タ 項目曲線 関係
正 答 確 率
能力パ タ
項目応答理論 利点
1 測定精度を 確認 .
2 複数 間 結果 比較 容易 あ . 3 平均点を 実施前 制御 .
4 被験者 最適 問題を瞬時 選び,そ 場 出題 .
e ニン 向い い
項目反応理論 応用
□出題へ 応用 適応型
問題 難易度 学習者 回答を比較
難 易
□異 比較
共通 項目 学習者集団を含
パ タ を うや 求 ?
□能力パ タ 推定 θ 推定 最尤推定法
ベ 推定法
□項目パ タ 推定 a,b,c 推定 同時最尤推定法
周辺最尤推定法
を個別 同時 推定
パ タ 推定 考え方
解答パタ ン 起 確率 最 最大 θを求
例 能力パ タ推定 場合 項目パ タ 既知
.能力パ タをθ 仮定
.各問題 解答結果 正誤 確率をP θ 求 間違え 場合 誤 確率 1-P θ
.各確率 積を求 尤度
.θを変更 記を繰 返 尤度 最大 値を求
能力 対応 問題解答パタ ン
確率を推定
問題 j い 正解 確率
→ P
�θ
問題 j い 不正解 確率
→ 1-P
�θ = θ
問題X群{� , � , � , � ,} 対 能力θ 学習者 正誤
{1,0,0,1 確率 ?
�{ } θ = θ θ θ θ
最尤推定法
受験者能力 θ 推定
解答パタ ン 確率 最 高い
パ タ θ を求
L
maxθ �{ } = θ θ θ θ
右辺 式 同
求 θ θ 変数
例題
記 問題X群{� , � , � , � ,} 対
能力θ=0 学習者 正誤 {0,1,0,1 確率 ?
problem a b
1 1.0 1.5
2 1.5 0.5
3 0.7 0.0
4 1.2 -1.0
=0.928 × 0.218 × 0.5 × 0.885
最尤推定法
受験者能力 θ 推定
解答パタ ン 確率 最 高い
パ タ θ を求
L
maxθ �{ } = θ θ θ θ
右辺 式 同
求 θ θ 変数
R を使 う
R
統計解析ソ
ッ
Linux
Mac
Windows
https://www.r-project.org/R-Fiddle
http://www.r-fiddle.org
ウザ 動 R
コ タ
CLI
表示可
ァ 読 込 不可 計算OK
例題
パ タロ ッ 場合
P θ = + exp − .7 × θ −
= , =
problem b s1 s2 S3
1 1.0 0 1 1
2 0.0 1 0 1
3 -1.0 1 1 0 s1
能力を推定
R 言語 記述例
icc <- function(a, b, theta) {
prob <- 1/(1+exp(-1.7*a*(theta-b))) prob
}
x-< icc(a=1.0,b=1.5,theta=0)
各問題 特性
curve(icc(a=1.0,b=1.0,theta=x),-3,3)
curve(icc(a=1.0,b=0.0,theta=x),add=TRUE) curve(icc(a=1.0,b=-1.0,theta=x),add=TRUE)
S1 正誤パタ ン 当
curve(1-(icc(a=1.0,b=1.0,theta=x)),-3,3) curve(icc(a=1.0,b=0.0,theta=x),add=TRUE) curve(icc(a=1.0,b=-1.0,theta=x),add=TRUE)
尤度関数を 化
x<-seq(-3,3,0.1)
q1<- 1-(icc(a=1.0,b=1.0,theta=x)) p2<- icc(a=1.0,b=0.0,theta=x) p3<- icc(a=1.0,b=-1.0,theta=x) like<-q1*p2*p3
plot(x,like,type=“l") x[which.max(like)]