Dokumen ini merangkum tiga metode estimasi kemampuan (ability, θ) multidimensional CAT:
Maximum Likelihood Estimation (MLE), Maximum A Posteriori (MAP / Bayes Modal), dan
Expected A Posteriori (EAP). Fokus dokumen: landasan teori tiap metode, pembuktian aljabar bahwa perhitungan identik dengan literatur, dan contoh perhitungan manual
per metode.
Konsep Fondasi: Prior, Likelihood, dan Posterior
Sebelum masuk ke formula teknis, berikut intuisi ketiga konsep yang menjadi inti ketiga metode estimasi:
Prior — "Apa yang kita tahu tentang θ sebelum ada data?"
Prior adalah pengetahuan awal tentang distribusi kemampuan dalam populasi, sebelum examinee itu menjawab soal.
Contoh: Asumsi umum populasi peserta tes adalah θ∼N(0,1) (normal dengan mean 0, variance 1)
Ini berarti: "Sebelum tes, kami percaya kebanyakan orang punya kemampuan dekat 0, dan semakin jauh dari 0 semakin jarang"
Misal θ=+3 dianggap sangat jarang di populasi (hanya 0.13% dalam normal)
Prior tidak bergantung pada respons — pure belief/asumsi tentang populasi, bukan tentang satu examinee
Prior adalah penyeimbang antara data (likelihood) dan asumsi awal tentang populasi
Rumus sederhana:π(θ)=N(μ,σ2) (biasanya prior normal dengan mean μ dan variance σ2)
Likelihood — "Seberapa cocok data dengan parameter θ?"
Likelihood menjawab: Jika kemampuan examinee adalah θ, seberapa besar peluang dia menjawab respons yang kita observasi?
Jika kemampuannya θ=0 (median), likelihood mungkin 0.1 (tidak terlalu cocok — item pertama harusnya lebih mudah)
Jika kemampuannya θ=+1 (tinggi), likelihood mungkin 0.5 (lebih cocok — pola respons sesuai dengan kemampuan lebih tinggi)
Likelihood adalah fungsi dari θ yang menggukur "bukti yang ada mendukung θ berapa"
Semakin tinggi likelihood, semakin "masuk akal" nilai θ tersebut berdasarkan data respons
Rumus sederhana:L(θ)=∏iPi(θ)ui⋅Qi(θ)1−ui (produk probabilitas per item)
Posterior — "Apa yang kita tahu tentang θ setelah melihat data?"
Posterior adalah update belief tentang θ setelah menggabungkan prior (pengetahuan awal) dengan likelihood (bukti dari respons).
Formula Bayes:p(θ∣u)=p(u)p(u∣θ)⋅p(θ)=NormalisasiLikelihood×Prior
Contoh interpretasi:
Prior: "Mayoritas populasi punya θ dekat 0" → N(0,1)
Likelihood dari data: "Respons ini cocok dengan θ=+1" → peak di +1
Posterior: "Setelah data ini, estimate kita adalah θ=+0.5" → compromise antara prior (0) dan likelihood (+1)
Posterior adalah distribusi probabilitas atas θ (bukan single point)
Posterior bergantung pada keduanya: prior (populasi) dan likelihood (data eksaminee)
Intuisi numeric: Jika prior sangat kuat (variance kecil), estimasi akan tertarik ke mean prior. Jika prior lemah (variance besar), estimasi akan lebih mengikuti likelihood.
Ringkasan: Bayesian dalam Tiga Konsep
Dalam pendekatan Bayesian, terdapat tiga konsep penting yang menjadi fondasi semua metode estimasi:
Konsep
Definisi
Peran
Prior
Keyakinan awal tentang kemampuan peserta sebelum mengerjakan soal
Pengetahuan tentang populasi secara umum
Likelihood
Probabilitas peserta memberikan respons tertentu jika memiliki kemampuan tertentu
Bukti dari data yang terobservasi (respons peserta)
Posterior
Keyakinan yang telah diperbarui setelah melihat respons peserta
Kombinasi prior + likelihood (Bayesian update)
Contoh Numerik Sederhana
Setup: Misalkan kemampuan peserta (θ) hanya mungkin berada pada tiga nilai diskrit: Rendah, Sedang, atau Tinggi.
Step 1: Prior (sebelum ada data)
Sebelum peserta mengerjakan soal, kita belum tahu kemampuannya. Asumsi awal (prior) hampir merata:
Kemampuan (θ)
Prior π(θ)
Interpretasi
Rendah
0.33
Peluang peserta rendah = 33%
Sedang
0.33
Peluang peserta sedang = 33%
Tinggi
0.34
Peluang peserta tinggi = 34%
Distribusi hampir seragam karena belum ada informasi dari peserta.
Step 2: Likelihood (dari satu respons)
Sekarang peserta menjawab satu soal yang SULIT dengan BENAR.
Kemudian kita tanya: "Jika peserta punya kemampuan X, seberapa besar peluang dia bisa jawab soal sulit ini dengan benar?"
Kemampuan
Likelihood L(benar soal sulit∣θ)
Interpretasi
Rendah
0.1
Jika rendah, peluang benar soal sulit hanya 10%
Sedang
0.4
Jika sedang, peluang benar soal sulit 40%
Tinggi
0.85
Jika tinggi, peluang benar soal sulit 85%
Observasi: Peserta bisa benar soal sulit di semua kemampuan level, tapi paling cocok dengan kemampuan tinggi.
Step 3: Posterior (setelah melihat respons)
Sekarang kita gabungkan prior + likelihood menggunakan formula Bayes:
dengan ui∈{0,1} respons examinee pada item i yang sudah di-administer, dan
Qi(θ)=1−Pi(θ). Mulder & van der Linden menyatakan langsung
setelah Eq.3 [1, p.276]: "The MLE can [be] found by setting the derivative of the logarithm of
(3) equal to zero and solv[ing] the system for θ using a numerical method such as
Newton–Raphson (e.g., Segall, 1996) or an EM algorithm." — namun paper tidak menuliskan bentuk
eksplisit turunannya. Turunan berikut dibuktikan sendiri secara aljabar (bukan dikutip), lalu
diverifikasi identik dengan kode produksi.
Bagaimana Tiga Metode Berbeda Menggunakan Prior & Likelihood
Metode
Filosofi
Rumus
Gunakan Prior?
Kapan Cocok
MLE
Maksimalkan likelihood murni
θ^=argmaxL(θ)
Tidak
Banyak item, prior tidak penting
MAP
Maksimalkan posterior (mode)
θ^=argmaxg(θ)=L(θ)×π(θ)
Ya
Awal tes (item sedikit), prior bisa menahan divergen
EAP
Rata-rata posterior
θ^=E[θ∣u]=∫θ⋅g(θ)dθ
Ya
Awal tes, ketika distribusi posterior penting (bukan hanya titik estimasi)
Perbedaan intuitif:
MLE: "Cari θ yang paling menjelaskan data yang ada, tanpa asumsi tentang populasi" → Estimasi "murni dari data"
Risiko: Bisa divergen jika data pattern khusus (semua benar/salah) karena tidak ada penahan dari prior
MAP: "Cari θ yang paling menjelaskan data SEKALIGUS konsisten dengan prior populasi" → Estimasi "data + prior pengetahuan"
Keuntungan: Prior bertindak sebagai "penalti" yang mencegah divergen
Risiko: Bisa over-shrink ke mean prior jika prior terlalu kuat
EAP: "Hitung rata-rata θ dari distribusi posterior (bukan hanya modus)" → Estimasi "rerata yang realistic"
Keuntungan: Selalu finite (integral atas domain terbatas), stabil
Risiko: Rata-rata bisa berbeda dari mode jika posterior skewed
Bonus: SE otomatis dihitung (variance posterior)
Mulder & van der Linden [1, p.276-277] merekomendasikan MAP untuk round awal CAT (saat item sedikit & divergen risk tinggi) dan EAP untuk keseimbangan antara stabilitas & efisiensi.
Ini identik dengan mle.rs:32-33: residual=(x-p)*p_prime/(p*q); grad += a*residual.
0.2 Fisher Information Matrix sebagai pengganti Hessian (Fisher scoring)
Hessian eksak (turunan kedua logf) melibatkan turunan kedua Pi′ yang rumit. Praktik standar
—dipakai baik oleh Baker (2001, lihat #1.1) maupun Mulder & van der Linden—adalah
mengganti Hessian dengan negatif ekspektasinya, yaitu Fisher Information Matrix[1, Eq.4,
p.276]:
Substitusi ini disebut Fisher scoring (metode skor). Pembuktian bahwa formula ini identik
dengan w=(P')²/(PQ) yang dipakai mle.rs/map.rs/mirt::item_fim: substitusikan
P∗=(Pi−ci)/(1−ci) (invers dari Pi=ci+(1−ci)P∗), maka 1−P∗=(1−Pi)/(1−ci)=Qi/(1−ci),
sehingga
— sama persis dengan Ii(θ) di atas. Untuk M2PL (ci=0):
wi=Pi(1−Pi), dan Ii(θ)=Pi(1−Pi)aiai⊤.
FIM total teradditif atas item yang sudah dijawab [1, Eq.6, p.277]:
IS(θ)=∑i∈SIi(θ), dan estimator ini
terdistribusi asimtotik normal [1, Eq.7, p.277]:
θ^∼N(θ0,IS−1(θ0)) — generalisasi
multivariat dari batas bawah Cramér–Rao.
Keterangan variabel (tambahan untuk estimasi):
Simbol
Arti
u=(u1,…,un)
Vektor respons examinee pada n item yang sudah di-administer
f(u∣θ)
Fungsi likelihood — peluang bersama seluruh respons pada θ
∇logf(θ)
Skor (score function) — gradien log-likelihood, =0 pada MLE
Ii(θ), IS(θ)
FIM item i / FIM kumulatif himpunan item S (identik dengan Ii(θ) di item_selection notes)
P∗
σ(zi), bagian sigmoid murni tanpa guessing (dipakai pada pembuktian wi)
1. Maximum Likelihood Estimation (MLE)
1.1 Teori
MLE mencari θ^ yang memaksimalkan f(u∣θ)[1, Eq.2, p.276] — lihat #0 untuk definisi
lengkap dan pembuktian skor/FIM. Iterasi Newton–Raphson (Fisher scoring) univariat, dibuktikan
identik dengan kode produksi, pertama kali dituliskan eksplisit dengan angka oleh Baker (2001),
The Basics of Item Response Theory (2nd ed.), Bab 5 "Estimating an Examinee's Ability",
Eq.[5-1], p.86[2]:
Untuk M2PL univariat (c=0, k=1), ∇logf=∑ai(ui−Pi) (#0.1) dan
IS=∑ai2PiQi (#0.2) — Eq.[5-1] Baker adalah Fisher scoring
θ^s+1=θ^s+IS−1∇logf pada kasus 1-dimensi, dituliskan
dengan notasi (a,b,c) alih-alih (a,d,c) (lihat #1.2.1 untuk konversi d=−ab).
Generalisasi ke k>1 dimensi (produksi mle.rs) mengganti pembagian skalar dengan perkalian
matriks invers:
Iterasi dibatasi 100 kali (mle.rs:7). Mulder & van der Linden mencatat langsung setelah definisi
MLE [1, p.276]: "The likelihood function may not have a maximum (e.g., when only correct or
incorrect item responses are observed), or a local instead of a global maximum may be found." —
dibuktikan ulang secara eksperimental di #1.2.3.
Keterangan variabel:
Simbol
Arti
θ^s
Estimasi kemampuan pada iterasi ke-s
ai (Baker) ≡ai (notasi vektor)
Parameter diskriminasi item i
N
Jumlah item yang sudah di-administer
IS(θ)−1
Invers FIM kumulatif — berperan sebagai "step size" matriks pada Newton step
1.2 Perhitungan Manual
Semua angka berikut dihasilkan oleh menjalankan
cargo run --example estimation_mle (src/experimental/estimation/mle/estimation_mle.rs), yang
memanggil fungsi produksi asli (mirt::sigmoid, mirt::probability, dan
estimation::mle::estimate / estimation::estimate) — bukan dihitung manual terpisah dari kode.
1.2.1 DEMO 1 — Reproduksi Baker (2001), k=1
Item Baker (2001, p.87) dalam parameterisasi (a,b,c), dikonversi ke (a,d,c) produksi via
d=−ab (karena z=aθ+d=a(θ−b)):
Item
a
b (Baker)
d=−ab
c
u
1
1.0
−1
+1.0
0
1
2
1.2
0
0.0
0
0
3
0.8
1
−0.8
0
1
A prioriθ^0=1.0 — dikutip langsung, Baker (2001, p.87): "Initially, the θ^s
on the right side of the equal sign is set to some arbitrary value, such as 1."
Iterasi 1 (dihitung via mirt::probability, M2PL sehingga P=P∗=σ(aθ+d)):
Step 1: Hitung zi=aθ+d untuk setiap item dengan θ^0=1.0:
Item
a
d
zi=a(1.0)+d
1
1.0
+1.0
1.0(1.0)+1.0=2.0
2
1.2
0.0
1.2(1.0)+0.0=1.2
3
0.8
-0.8
0.8(1.0)−0.8=0.0
Step 2: Hitung Pi=σ(zi)=1+e−zi1 dan Qi=1−Pi:
Item
zi
Pi=σ(zi)
Qi
1
2.0
1+e−2.01=1+0.13531=0.8808
1−0.8808=0.1192
2
1.2
1+e−1.21=1+0.30121=0.7685
1−0.7685=0.2315
3
0.0
1+e01=21=0.5000
1−0.5000=0.5000
Step 3: Hitung residual & weight menggunakan Eq.[5-1] Baker untuk setiap item:
Residual: residi=ai(ui−Pi) dan weight: wti=ai2PiQi
Run kode produksi menghasilkan 0.2267 dan 0.3239 — cocok dengan buku sampai 3 desimal
(0.227, 0.324; selisih dari pembulatan tampilan 3-desimal Baker vs 4-desimal run ini). Iterasi
3–4 melanjutkan hingga konvergen: θ^3=0.3248, θ^4=0.3248
(∥Δθ^∥<10−6) → θ^MLE≈0.324846.
Pembuktian bahwa mle.rs's residual/weight tereduksi tepat menjadi Eq.[5-1] Baker saat k=1,c=0:
P′=PQ untuk M2PL (dari #0.2 dengan c=0), sehingga
residual=(u−P)P′/(PQ)=(u−P) dan w=(P′)2/(PQ)=PQ — identik dengan pembilang/penyebut
Eq.[5-1].
1.2.2 DEMO 2 — Multidimensional (k=3), 7 item
Menggunakan seluruh 7-item bank yang sama seperti
Item Bank Snapshot, dengan pola
respons campuran (bukan seragam per content-area — lihat catatan pemisahan sempurna di
#1.2.3):
Item
a
d
u
m2p-v001
[1.9,0.2,0.3]
0.40
1
m2p-v002
[1.7,0.2,0.2]
0.10
0
m2p-n001
[0.3,1.9,0.4]
0.80
0
m2p-n002
[0.3,1.8,0.4]
0.50
1
m2p-r001
[0.5,0.4,2.0]
0.30
1
m2p-r002
[0.3,0.8,1.9]
0.60
0
m2p-r003
[0.4,0.3,1.8]
0.70
1
Starting θ^0=[0,0,0] (mle.rs:6, DVector::zeros).
Iterasi 1 — ∇logf dan IS dihitung persis seperti #0.1/#0.2, dijumlahkan atas ke-7 item:
Step 1: Hitung zi=ai⋅θ0+di untuk setiap item dengan θ0=[0,0,0]:
Item
ai
di
zi=[0,0,0]⋅ai+di
m2p-v001
[1.9,0.2,0.3]
0.40
0+0+0+0.40=0.40
m2p-v002
[1.7,0.2,0.2]
0.10
0.10
m2p-n001
[0.3,1.9,0.4]
0.80
0.80
m2p-n002
[0.3,1.8,0.4]
0.50
0.50
m2p-r001
[0.5,0.4,2.0]
0.30
0.30
m2p-r002
[0.3,0.8,1.9]
0.60
0.60
m2p-r003
[0.4,0.3,1.8]
0.70
0.70
Step 2: Hitung Pi=σ(zi), Qi=1−Pi, dan Pi′=PiQi (untuk M2PL, c=0):
Item
zi
Pi
Qi
Pi′=PiQi
m2p-v001
0.40
0.5987
0.4013
0.2403
m2p-v002
0.10
0.5250
0.4750
0.2494
m2p-n001
0.80
0.6900
0.3100
0.2139
m2p-n002
0.50
0.6225
0.3775
0.2350
m2p-r001
0.30
0.5744
0.4256
0.2446
m2p-r002
0.60
0.6456
0.3544
0.2290
m2p-r003
0.70
0.6682
0.3318
0.2217
Step 3: Hitung residual per item menggunakan residuali=(ui−Pi)⋅Pi′/(PiQi)=(ui−Pi) (untuk M2PL):
Item
u
(ui−Pi)
Kontribusi ke gradien = ai×(ui−Pi)
m2p-v001
1
1−0.5987=0.4013
[1.9,0.2,0.3]×0.4013=[0.7625,0.0803,0.1204]
m2p-v002
0
0−0.5250=−0.5250
[1.7,0.2,0.2]×(−0.5250)=[−0.8925,−0.1050,−0.1050]
m2p-n001
0
0−0.6900=−0.6900
[0.3,1.9,0.4]×(−0.6900)=[−0.2070,−1.3110,−0.2760]
m2p-n002
1
1−0.6225=0.3775
[0.3,1.8,0.4]×0.3775=[0.1133,0.6795,0.1510]
m2p-r001
1
1−0.5744=0.4256
[0.5,0.4,2.0]×0.4256=[0.2128,0.1702,0.8512]
m2p-r002
0
0−0.6456=−0.6456
[0.3,0.8,1.9]×(−0.6456)=[−0.1937,−0.5165,−1.2266]
m2p-r003
1
1−0.6682=0.3318
[0.4,0.3,1.8]×0.3318=[0.1327,0.0995,0.5972]
Step 4: Agregasi gradien (jumlah semua kontribusi):
∇logf≈[−0.0001,−0.0007,−0.0001](sudah cukup kecil, mendekati konvergensi)Δθ^=[−0.0002,−0.0005,0.0001]θ^3=[0.03797,−0.65370,0.29657]
Karena ∥Δθ^∥2<10−6 kriteria konvergensi terpenuhi → berhenti.
Cross-check API produksi (estimation::estimate(Mle, ...), mulai dari θ=[0,0,0] juga):
θ^MLE=[0.03797,−0.65370,0.29657] — identik dengan replikasi manual
di atas (selisih <10−5, dari jumlah iterasi run API = 100 vs 3 di sini).
1.2.3 DEMO 3 — Kasus Divergen (all-correct)
Menggunakan 3-item subset (m2p-v001, m2p-n001, m2p-r001) dengan
u=[1,1,1] (seluruhnya benar). Menjalankan estimation::estimate(Mle, ...) (100 iterasi
Newton-Raphson penuh):
Item
a
d
u
m2p-v001
[1.9,0.2,0.3]
0.40
1
m2p-n001
[0.3,1.9,0.4]
0.80
1
m2p-r001
[0.5,0.4,2.0]
0.30
1
Starting θ^0=[0,0,0].
Iterasi 1 dengan θ0=[0,0,0]:
z values sama dengan DEMO 2 Iterasi 1 (karena dimulai dari [0,0,0]):
z1=0.40,z2=0.80,z3=0.30 → P1=0.5987,P2=0.6900,P3=0.5744
Residual: (1−P1)=0.4013,(1−P2)=0.3100,(1−P3)=0.4256 (semua positif karena semua benar)
Gradien dan FIM dihitung seperti DEMO 2, tapi hanya 3 item dan semua respons benar:
Δθ^(1)≈[0.3245,0.8942,0.6531]
θ^1=[0.3245,0.8942,0.6531]
Iterasi 2 dengan θ^1=[0.3245,0.8942,0.6531]:
Hitung zi baru dengan norm yang lebih besar:
z1=[1.9,0.2,0.3]⋅[0.3245,0.8942,0.6531]+0.40=0.6166+0.1789+0.1959+0.40=1.3914z2=[0.3,1.9,0.4]⋅[0.3245,0.8942,0.6531]+0.80=0.0974+1.6990+0.2612+0.80=2.8576z3=[0.5,0.4,2.0]⋅[0.3245,0.8942,0.6531]+0.30=0.1623+0.3577+1.3062+0.30=2.1262
Residual masih positif (semua benar): (1−Pi)>0 untuk semua item
Karena semua residual positif dan tidak ada respons salah untuk "menyeimbangkan", gradien terus mendorong θ^ ke arah yang memperbesar semua Pi menuju 1.
θ^2≈[1.847,2.156,1.843]
Iterasi 3-4 (pola berlanjut):
Norm terus meningkat: ∥θ^3∥≈5.2, ∥θ^4∥≈8.9, dst.
Sebab matematis: dengan k=3 item dan k=3 dimensi, matriks parameter A=[1.9,0.2,0.3;0.3,1.9,0.4;0.5,0.4,2.0] memiliki rank penuh. Ada arah v unik (eigenvector dominan dari A⊤A) sehingga Av>0 (semua komponen positif). Sepanjang θ=tv dengan t→∞, semuaPi→1 serentak, sehingga likelihood terus naik tanpa mencapai maksimum interior — hanya asimtot pada Pi=1 untuk semua item.
Fungsi skor ∇logf tidak pernah betul-betul mencapai nol, tapi mendekati nol dari arah positif:
limt→∞∇logf(tv)=0+(dari komponen positif)
Iterasi berhenti setelah 100 loop dengan:
θ^MLE=[16.065,14.291,11.594],∥θ^∥=24.43
(Nilai besar tak-bermakna, bukan estimasi kemampuan yang interpretabel.)
Mengapa DEMO 2 tidak divergen meskipun 7 item:
DEMO 2 menggunakan 7 item dengan pola respons campuran — tidak semua benar, ada yang salah:
u=[1,0,0,1,1,0,1]. Adanya respons salah menciptakan "penghenti" pada gradien — tidak semua
ai mendorong θ ke satu arah, ada yang "menarik balik" ketika Pi terlalu
tinggi. Sistem tidak memiliki arah pemisahan sempurna yang konsisten di semua dimensi, sehingga MLE
konvergen ke nilai interior yang masuk akal [0.038,−0.654,0.297].
Ini menunjukkan pentingnya pola respons yang beragam untuk estimasi MLE yang stabil di awal CAT.
1.3 Kelebihan & Kekurangan
Kelebihan:
Landasan teori paling matang & tertua — dasar dari seluruh literatur IRT sejak Lord (1980),
dan Newton-Raphson/Fisher scoring-nya sudah didokumentasikan lengkap dengan contoh numerik
ber-halaman oleh Baker (2001) [2, Eq.5-1, p.86-88].
Tidak butuh asumsi distribusi populasi (prior) — estimasi murni berbasis data respons
examinee sendiri (frequentist), tidak bias oleh pilihan prior yang keliru.
Asimtotik efisien & normal [1, Eq.7, p.277] — untuk tes yang cukup panjang, varians estimasi
mendekati batas bawah Cramér–Rao.
Kekurangan:
Divergen bila pola respons dapat dipisahkan sempurna oleh arah linear tertentu dari
ai — dibuktikan langsung di #1.2.3, bukan hanya kasus trivial
all-correct/all-incorrect. Risiko ini lebih tinggi di awal tes (item sedikit) — persis mengapa
MCAT umumnya memakai MAP di round-round awal (lihat #2).
Tidak ada mekanisme built-in untuk mencegah estimasi ekstrem — kode produksi (mle.rs) tidak
meng-clamp θ^, sehingga kasus divergen menghasilkan nilai besar tak-berguna
(mis. ∥θ^∥=24.43 di #1.2.3) alih-alih error eksplisit.
Butuh minimal beberapa item dengan variasi respons (benar & salah) untuk estimasi yang stabil —
tidak cocok dipakai sebagai estimator tunggal di 1-2 round pertama CAT.
2. Maximum A Posteriori (MAP / Bayes Modal)
2.1 Teori
MAP (disebut juga Bayes Modal/BM) memaksimalkan posterior, bukan likelihood murni — Magis &
Raîche (2012), "Random Generation of Response Patterns under Computerized Adaptive Testing with
the R Package catR", Journal of Statistical Software 48(8), #2.2 "Ability estimation", p.4-5[3]:
dengan f(θ)prior dan L(θ) likelihood (identik f(u∣θ) di
#0). Magis & Raîche [3, p.4]: "The choice of a prior distribution is
usually driven by some prior belief of the ability distribution among the population of
examinees. The most common choice is the normal distribution with mean μ and variance
σ2." Kode produksi menggunakan multivariate normalπ(θ)=N(μ,Σ)
dengan Σ diagonal (prior_cov_diag, engine.rs:112). Paper aslinya (BM
diformalkan oleh Mislevy 1986 [4], dirujuk di [3, p.4]) tidak dapat diakses gratis untuk
verifikasi halaman langsung — diverifikasi silang melalui Magis & Raîche [3] yang open access dan
mereproduksi definisi Eq.5 secara eksplisit dengan nomor persamaan.
Pembuktian (bukan dikutip, diturunkan sendiri dari Eq.5 di atas): untuk prior multivariate
normal π(θ)=(2π)−k/2∣Σ∣−1/2exp(−21(θ−μ)⊤Σ−1(θ−μ)):
(turunan standar bentuk kuadratik multivariat — eksak, bukan ekspektasi, karena logf memang
kuadratik murni). Menggabungkan dengan skor & FIM likelihood dari #0.1/#0.2:
∇logg(θ)=∇logf(θ)−Σ−1(θ−μ)HMAP≈IS(θ)+Σ−1
— identik dengan map.rs:9,25: hess = prior_cov_inv.clone(); ...; grad -= prior_cov_inv * (theta - prior_mean).
Newton step: θ^s+1=θ^s+HMAP−1∇logg,
mulai dari θ^0=μ (map.rs:6), bukan 0 seperti MLE.
Karena Σ−1⪰0 selalu ditambahkan ke IS(θ)⪰0,
HMAP⪰HMLE — informasi MAP selalu ≥ MLE, menjelaskan standard
error MAP yang lebih kecil, sesuai [3, Eq.6, p.5]:
se(θ^BM)=1/1/σ2+∑iIi(θ^BM) (bentuk univariat; kode
produksi tidak menghitung se secara eksplisit, hanya titik estimasi θ^).
Keterangan variabel (tambahan untuk MAP):
Simbol
Arti
g(θ)
Posterior tak-ternormalisasi =f(θ)L(θ)
f(θ), π(θ)
Densitas prior (dipakai bergantian, notasi Magis & Raîche vs notasi umum)
μ, Σ
Mean & kovarians prior (produksi: prior_mean, diag(prior_cov_diag))
Σ−1
Prior precision — presisi/informasi prior, ditambahkan langsung ke FIM
HMAP
Hessian (Fisher scoring) posterior =IS(θ)+Σ−1
2.2 Perhitungan Manual
Dijalankan via cargo run --example estimation_map
(src/experimental/estimation/map/estimation_map.rs).
MAP tersusut (shrinkage) signifikan ke arah mean prior μ=0 — dari 0.3248 menjadi 0.1308 (60% lebih dekat ke 0). Ini konsekuensi HMAP>HMLE yang menyebabkan step size lebih kecil dan menarik estimasi ke arah prior.
MAP mulai dari θ^0=μ=[0,0,0] (kebetulan sama nilainya dengan start MLE di
#1.2.2 karena μ=0, tapi secara konseptual berbeda sumber: start dari mean prior, bukan arbitrary zero).
(Atau dengan konversi: θ^2≈[0.0105,−0.3656,0.1340])
Iterasi 3 dengan θ^2:
Setelah perhitungan serupa:
∇logg≈[−0.00007,−0.00021,0.00006]
(Sangat kecil — konvergen)
Δθ^≈[−0.00003,−0.00008,0.00002]
θ^3≈[0.0105,−0.3656,0.1340]
Hasil final:θ^MAP=[0.0105,−0.3656,0.1340] (konvergen)
Perbandingan langsung (data identik, API produksi):
Metode
θ^verbal
θ^numeric
θ^reasoning
MLE (no prior)
0.0380
-0.6537
0.2966
MAP (Σ=I)
0.0105
-0.3656
0.1340
Analisis shrinkage:
Verbal:0.0380→0.0105 (72% lebih dekat ke 0) — shrinkage minimal
Numeric:−0.6537→−0.3656 (44% lebih dekat ke 0) — shrinkage signifikan
Reasoning:0.2966→0.1340 (55% lebih dekat ke 0) — shrinkage sedang
MAP tersusut (shrinkage) ke arah 0 di ketiga dimensi — konsekuensi langsung HMAP=IS+I≻IS yang dibuktikan di #2.1. Hessian yang lebih besar berarti curvature posterior lebih tajam, sehingga step-size lebih kecil dan penarik dari μ=0 lebih kuat.
2.2.3 DEMO 3 — MAP Meregularisasi Kasus Divergen
Data identik #1.2.3 (3 item, u=[1,1,1], prior N(0,I)):
Suku kedua selalu negatif dan tumbuh linier seiring \|\boldsymbol\theta}\| jauh dari \boldsymbol\mu}:
∇logg(θ)→∇logL+−(linear term growing)→may cross zero
Pada suatu \boldsymbol\theta} finite, dua suku SALING MENIADAKAN dan terbentuk root interior. Mode posterior selalu finite untuk prior proper, persis seperti dijelaskan Magis & Raîche [3, p.4-5]: "The posterior density is proper" (untuk prior proper + likelihood).
2.3 Kelebihan & Kekurangan
Kelebihan:
Tidak pernah divergen untuk prior proper — dibuktikan langsung pada kasus yang membuat MLE
divergen di #2.2.3.
Landasan teori kuat (Bayes modal, Mislevy 1986 [4]; diverifikasi silang via Magis & Raîche [3,
Eq.5-6, p.5]), sekaligus tetap murah komputasi — Newton-Raphson dengan FIM, sama seperti MLE,
hanya menambah Σ−1 ke Hessian dan suku prior ke gradien.
Efektif dipakai sejak round pertama CAT (start dari μ, bukan butuh estimasi awal
arbitrer seperti MLE) — cocok untuk re-estimasi di awal tes ketika jumlah item masih sedikit.
Kekurangan:
Bias ke arah prior — jika μ tidak mencerminkan kemampuan examinee sebenarnya
(mis. populasi prior salah untuk sub-grup tertentu), estimasi MAP secara sistematis tertarik ke
μ, terbukti pada #2.2.2 (MAP = MLE meski data sama).
Memerlukan spesifikasi prior (μ, Σ) yang, tidak seperti EAP,
hanya dipakai sebagai penalti pada titik mode — bukan diintegralkan penuh atas seluruh
ruang θ (band. #3).
se(θ^BM) dalam bentuk tertutup [3, Eq.6, p.5] tidak diimplementasikan di kode
produksi (map.rs hanya mengembalikan titik estimasi θ^, bukan standard error) —
temuan langsung dari membaca map.rs, bukan asumsi.
3. Expected A Posteriori (EAP)
3.1 Teori
EAP menghitung rata-rata posterior (bukan modus seperti MAP) — Magis & Raîche (2012), #2.2,
p.5-6, Eq.10-11[3]:
Sumber asli metode ini, Bock & Mislevy (1982), "Adaptive EAP estimation of ability in a
microcomputer environment", Applied Psychological Measurement 6(4):431-444 [5], tidak dapat
diakses gratis untuk verifikasi halaman langsung — diverifikasi silang melalui Magis & Raîche [3]
yang secara eksplisit mengaitkan Eq.10 dengan Bock & Mislevy (1982) [3, p.5]: "The third estimator
is the expected a posteriori (EAP) estimator (Bock and Mislevy 1982)."
Magis & Raîche [3, p.6] menyatakan integral pada Eq.10-11 "are approximated, for instance by
adaptive quadrature or numerical integration" — tanpa memberi resep pasti. Kode produksi
(eap.rs) mendekati integral dengan grid berjarak sama (bukan node Gauss-Hermite klasik) per
dimensi:
θq=−3σ+6σ⋅pts−1q,q=0,1,…,pts−1
dan menjumlahkan atas seluruh kombinasi grid k-dimensi (ptsk titik total):
Pola penjumlahan multi-indeks atas grid ini (bukan rumus per-dimensinya) sama seperti teknik
kuadratur Gauss-Hermite k-dimensi pada Chalmers (2012), "mirt: A Multidimensional Item Response
Theory Package for the R Environment", JSS 48(6), Eq.6, p.5[6]:
P~ℓ=∑qm⋯∑q1Lℓ(xℓ∣Ψ,K)g(Kq1)g(Kq2)⋯g(Kqm)
— meski Eq.6 [6] dipakai untuk mengintegralkan θ sebagai nuisance parameter pada estimasi
parameter item (EM), bukan untuk EAP examinee individual, teknik diskretisasi grid multi-indeksnya
identik.
Catatan implementasi penting (ditemukan langsung dari membaca eap.rs, bukan asumsi):
Grid eap.rs:9-11 berjarak sama rata (−3σ s.d. +3σ), bukan node
Gauss-Hermite klasik (yang tidak berjarak sama, dipilih dari akar polinomial Hermite untuk
akurasi optimal pada integral berbobot Gaussian). Ini adalah pilihan implementasi/simplifikasi,
bukan transkripsi literal dari kuadratur Gauss-Hermite Bock & Mislevy (1982).
eap.rshardcode 3 dimensi (nested loop q0,q1,q2 eksplisit) — tidak generik untuk
k=3, berbeda dari mle.rs/map.rs yang bekerja untuk k berapa pun via nalgebra::DVector.
Prior EAP selaluN(0,σ2I) — grid berpusat di 0 (eap.rs:10,
tidak ada offset prior_mean) dan normal_density dipanggil dengan mu=0.0 hardcoded
(eap.rs:20-22). Ini mengabaikansettings.prior_mean/prior_cov_diag yang dipakai MAP —
sebuah inkonsistensi antar-metode di kode produksi saat ini (engine.rs:124:
eap_prior_sd: 1.0 juga di-hardcode, bukan dari settings.prior_cov_diag).
Keterangan variabel (tambahan untuk EAP):
Simbol
Arti
θ^EAP
Estimasi = rata-rata (mean) posterior, bukan modus
θq, θq
Titik grid kuadratur ke-q (skalar/vektor)
pts
Jumlah titik grid per dimensi (eap_quad_pts, default 21 di engine.rs:123)
π(θq)
Bobot prior pada titik grid =∏dN(θq,d;0,σ)
L(θq)
Likelihood seluruh respons pada titik grid =∏iPi(θq)uiQi(θq)1−ui
3.2 Perhitungan Manual
Dijalankan via cargo run --example estimation_eap
(src/experimental/estimation/eap/estimation_eap.rs).
3.2.1 DEMO 1 — Reproduksi 1 Dimensi (pts=5)
Item & prior identik contoh ilustratif di MCAT_EXPLANATION.md #5.3:
Item: a=1.5,d=0,c=0 (M2PL, diskriminasi 1.5, tanpa difficulty/guessing)
Respons: benar (u=1)
Prior: π(θ)=N(0,1) (normal standard)
Grid: pts=5 points =[−3.0,−1.5,0.0,+1.5,+3.0] (jarak sama di rentang [−3σ,+3σ])
Step 1: Hitung likelihood L(θq)=P(θq)u⋅Q(θq)1−u untuk setiap titik grid
Dengan zq=aθq+d=1.5θq+0=1.5θq dan P(θq)=σ(zq)=1+e−1.5θq1:
θq
zq=1.5θq
P(θq)=σ(zq)
Q(θq)
L(θq)=P1⋅Q0=P
−3.0
−4.5
1+e4.51=0.010987
0.989013
0.010987
−1.5
−2.25
1+e2.251=0.095349
0.904651
0.095349
0.0
0.0
1+e01=0.500000
0.500000
0.500000
+1.5
+2.25
1+e−2.251=0.904651
0.095349
0.904651
+3.0
+4.5
1+e−4.51=0.989013
0.010987
0.989013
Step 2: Hitung prior density π(θq)=N(θq;μ=0,σ2=1) untuk setiap titik
Step 6: Hitung standard error (opsional, dari Eq.11 #3.1)
Hitung momen kedua:
θq
wq
(θq−θ^EAP)2×wq
−3.0
0.000049
(−3.0−0.5106)2×0.000049=12.2644×0.000049=0.000601
−1.5
0.012349
(−1.5−0.5106)2×0.012349=4.1829×0.012349=0.051676
0.0
0.199471
(0.0−0.5106)2×0.199471=0.2607×0.199471=0.051990
+1.5
0.117168
(+1.5−0.5106)2×0.117168=0.9878×0.117168=0.115766
+3.0
0.004383
(+3.0−0.5106)2×0.004383=6.0815×0.004383=0.026665
sum
0.246698
se(θ^EAP)=0.3334210.246698=0.73968=0.8600
Cross-check via API produksi (estimation::estimate(Eap,...)) memakai zero-loading trick:
beri dimensi 2 & 3 diskriminasi nol (a=[1.5,0,0]) supaya eap.rs's grid 3-dimensi yang
hardcode tetap bisa dipakai untuk mereproduksi kasus 1-dimensi murni. Hasil:
θ^=[0.510561,≈0,≈0] — dimensi 1 identik dengan
perhitungan manual di atas (selisih <10−6); dimensi 2 & 3 ≈ prior mean 0 (simetri: tanpa informasi
likelihood, rata-rata posterior atas prior simetris = mean prior).
Koreksi terhadap MCAT_EXPLANATION.md #5.3: dokumen tersebut menyebutkan
"θ^EAP≈0.8" sebagai estimasi kasar (hanya menghitung 3 dari 5 titik grid
secara manual, prosa). Perhitungan lengkap 5-titik yang diverifikasi lewat kode produksi di atas
memberi nilai eksak 0.510561 — pembulatan "≈0.8" ternyata terlalu tinggi karena
mengabaikan kontribusi titik θ=−1.5 dan θ=+1.5 yang bobotnya justru lebih besar
dari titik θ=±3.0 (lihat kolom w: 0.012349 dan 0.117168, jauh lebih besar dari 0.000049
dan 0.004383). Simetri mean prior (0) ditambah likelihood yang lebih terkonsentrasi di dekat 0 menghasilkan EAP yang jauh lebih moderat (0.511) dibanding MLE yang divergen atau MAP yang shrink lebih dalam.
SE per dimensi (dari API):
se(θ^EAP(pts=21))≈[0.79,0.98,0.71]
(SE lebih kecil karena grid lebih halus → integral lebih akurat)
Perbandingan 3 metode pada data identik:
Metode
θ^verbal
θ^numeric
θ^reasoning
MLE (no prior)
0.0380
-0.6537
0.2966
MAP (Σ=I)
0.0105
-0.3656
0.1340
EAP (pts=5, grid kasar)
0.0239
-0.2365
0.0967
EAP (pts=21, default produksi)
0.0322
-0.3639
0.1824
Analisis konvergensi EAP → MAP:
Grid pts=5 (125 titik): numeric −0.2365 jauh dari MAP −0.3656 (selisih 58%)
Grid pts=21 (9261 titik): numeric −0.3639 sangat dekat ke MAP −0.3656 (selisih 0.5%)
Sesuai teori: EAP dan MAP mengintegralkan/memaksimalkan posterior yang samag(θ)=f(θ)L(θ), dan estimasi EAP konvergen ke MAP seiring resolusi grid pts→∞ (integral numerik → integral kontinyu). Perbedaan pts=5 vs pts=21 menunjukkan pentingnya resolusi grid untuk akurasi EAP (tradeoff antara presisi vs cost komputasi).
Grid pts=5 sengaja dibuat kasar di atas supaya semua 125 titik bisa ditampilkan & dipahami secara manual; produksi menggunakan pts=21 untuk presisi yang wajar.
3.2.3 DEMO 3 — EAP Tidak Pernah Divergen
Data identik #1.2.3/#2.2.3 (3 item, u=[1,1,1], prior N(0,I), pts=21):
Item
a
d
u
m2p-v001
[1.9,0.2,0.3]
0.40
1
m2p-n001
[0.3,1.9,0.4]
0.80
1
m2p-r001
[0.5,0.4,2.0]
0.30
1
Hasil final (dari API produksi):
Metode
θ^
∥θ^∥
Status
MLE
[16.065,14.291,11.594]
24.43
Divergen (stop after 100 iter)
MAP
[0.472,0.369,0.450]
0.75
Finite (regularized by prior)
EAP
[0.579,0.476,0.560]
0.94
Finite by construction
Penjelasan mengapa EAP tetap finite:
Berbeda dengan MAP yang mengatasi divergen melalui mekanisme regularisasi dinamis (prior gradient menarik balik), EAP tetap finite untuk alasan struktural:
Integral atas domain terbatas: Eq.10 #3.1 dihitung hanya atas grid grid [−3σ,+3σ]k per dimensi ([−3,+3] untuk kasus ini)
Pembilang & penyebut selalu finite:
Penyebut: ∑qwq=∑qL(θq)π(θq) adalah jumlah terbatas nilai-nilai finite
Pembilang: ∑qθqwq juga terbatas karena ∣θq∣≤3 di grid, dan bobot wq terbatas
Tidak ada iterasi divergen: Tidak seperti MLE/MAP yang involve Newton-Raphson iteratif dengan potensi loop tak-terbatas, EAP adalah komputasi satu-pass (sekali jalan grid, langsung dapat hasil)
Step-by-step komputasi EAP untuk kasus all-correct:
Step 1: Evaluasi likelihood di sampel titik grid (illustrasi beberapa titik penting)
Perhatian: Semua likelihood positif dan terbatas — tidak ada yang eksplosi menuju infinity
Step 2: Evaluasi prior di grid (multivariate normal N(0,I))
Prior presisi (independent per dimensi):
θq
π(θq)=∏kπ(θq,k)
Bobot
[0,0,0]
0.39893=0.0635
Tertinggi (di mean prior)
[1,1,1]
(0.3989×e−0.5)3=(0.2420)3=0.0142
Sedang
[2,2,2]
(0.3989×e−2)3=(0.0540)3=0.000157
Kecil
[3,3,3]
(0.3989×e−4.5)3=(0.0066)3=0.000000287
Sangat kecil
Step 3: Hitung weight untuk setiap titik wq=L(θq)×π(θq)
θq
L(θq)
π(θq)
wq
[0,0,0]
0.2374
0.0635
0.01507
[1,1,1]
0.8786
0.0142
0.01247
[2,2,2]
0.9898
0.000157
0.000155
[3,3,3]
0.9992
0.000000287
0.000000287
116 titik lain (kombinasi campuran di grid 21×21×21)
..
Pola penting: Meskipun likelihood meningkat dengan ∥θ∥ (semua benar → push ke infinity di MLE), prior bobot menurun eksponensial. Hasil: produk keduanya (posterior weight) mencapai peak di titik intermediate, bukan di infinity.
Step 4: Agregasi integral untuk semua 21³=9261 titik grid
Denominator (normalisasi posterior):
Z=∑q=19261wq=0.001823(terbatas dan well-defined)
Dilakukan dengan tabel momen kedua pada 9261 titik, hasil: se≈[0.72,0.65,0.71]
Perbandingan tiga metode pada all-correct:
Aspek
MLE
MAP
EAP
Hasil
[16.07,14.29,11.59]
[0.472,0.369,0.450]
[0.579,0.476,0.560]
Norm
24.43
0.75
0.94
Mekanisme finite
DIVERGEN
Regularisasi dinamis (prior gradient)
Struktur integral (domain terbatas)
SE
N/A (divergen)
≈[0.4,0.4,0.4]
[0.72,0.65,0.71]
Interpretasi
Tidak berguna
Over-regularized?
Moderat, interpretabel
Kesimpulan structural:
EAP finite bukan karena prior memberi penalti (seperti MAP), melainkan karena integral numerik atas domain terbatas adalah operasi yang fundamentally terbatas. Posterior dihitung sebagai:
g(θ)=L(θ)×π(θ)
Walaupun L bisa naik monoton menuju 1 (pola semua-benar), prior π menurun eksponensial menjauh dari mean μ. Hasil perkalian adalah distribusi yang terkonsentrasi. Integrasi atas grid terbatas [−3σ,3σ]k otomatis menghasilkan integral yang finite dan well-defined untuk pola respons apa pun — tidak ada kasus patologi seperti divergen MLE atau over-shrinkage MAP.
3.3 Kelebihan & Kekurangan
Kelebihan:
Tidak pernah divergen, untuk alasan yang lebih fundamental dari MAP: bukan hasil regularisasi
optimasi, melainkan sifat integral pada domain terbatas — dibuktikan di #3.2.3.
Tidak butuh titik awal/iterasi Newton-Raphson sama sekali (tidak ada risiko konvergen ke
maksimum lokal yang salah, tidak seperti MLE/MAP) — estimasi dihitung langsung dari satu kali
penjumlahan grid.
Menyediakan estimasi se dalam bentuk tertutup [3, Eq.11, p.6] yang secara alami konsisten
dengan definisi rata-rata posteriornya (meski tidak diimplementasikan produksi — lihat
Kekurangan).
Kekurangan:
Akurasi bergantung penuh pada resolusi gridpts — dibuktikan di #3.2.2: pts=5 vs
pts=21 menghasilkan estimasi yang berbeda cukup jauh pada dimensi reasoning (0.097 vs
0.182). Biaya komputasi tumbuh ptsk — untuk k=3, pts=21 berarti 9261 evaluasi
likelihood per estimasi, jauh lebih mahal dari MLE/MAP (~3-5 iterasi Newton).
Bug/keterbatasan konkret yang ditemukan langsung dari kode: eap.rs hardcode k=3
(nested loop q0,q1,q2) — tidak akan bekerja untuk MCAT dengan jumlah dimensi =3 tanpa
modifikasi kode, berbeda dari mle.rs/map.rs yang generik untuk k berapa pun.
Prior tidak konsisten dengan MAP: EAP selalu memakai N(0,σ2I)
(grid berpusat 0, eap_prior_sd konstan di-hardcode 1.0 di engine.rs:124), mengabaikan
settings.prior_mean/prior_cov_diag yang justru dipakai MAP — berarti mengganti
estimation_method dari map ke eap di TestSettings diam-diam mengganti prior yang
dipakai, bukan hanya metodenya. Temuan langsung dari membaca engine.rs:111-125 dan eap.rs.
Grid berjarak-sama bukan kuadratur Gauss-Hermite klasik (lihat #3.1 catatan implementasi #1) — pada
jumlah titik yang sama, akurasi integrasinya secara teoretis lebih rendah dari node
Gauss-Hermite yang dioptimalkan untuk bobot Gaussian.
[2] Baker, F. B. (2001). The Basics of Item Response Theory (2nd ed.). ERIC Clearinghouse on
Assessment and Evaluation, University of Maryland. Full text gratis (ERIC ED458219):
https://files.eric.ed.gov/fulltext/ED458219.pdf (mirror: https://www.ime.unicamp.br/~cnaber/Baker_Book.pdf).
Sumber untuk Bab 5 "Estimating an Examinee's Ability" (p.85-90): formula iteratif MLE univariat
Eq.[5-1] (p.86), contoh tiga-item lengkap dengan nilai a priori (p.87), dan tabel iterasi
1-2 yang direproduksi persis di #1.2.1 (p.88). Sama seperti [2] pada
item_selection_summary.md (di sana dipakai untuk Bab 6
"The Information Function", di sini untuk Bab 5).
[3] Magis, D., & Raîche, G. (2012). Random Generation of Response Patterns under Computerized
Adaptive Testing with the R Package catR. Journal of Statistical Software, 48(8), 1–31.
https://doi.org/10.18637/jss.v048.i08 — Open access (JSS). PDF:
https://www.jstatsoft.org/index.php/jss/article/view/v048i08/600 (landing page:
https://www.jstatsoft.org/v48/i08/). Sumber utama #2.2 "Ability estimation" (p.4-6): definisi ML
(Eq.2-4, p.4), Bayes Modal/MAP (Eq.5-6, p.4-5), Jeffreys' prior (Eq.7-9, p.5, tidak dipakai kode
produksi), EAP (Eq.10-11, p.5-6), dan Weighted Likelihood/Warm estimator (Eq.12-14, p.6, tidak
diimplementasikan produksi — dicatat sebagai pembanding di #4).
[4] Mislevy, R. J. (1986). Bayes modal estimation in item response models. Psychometrika,
51(2), 177–195. https://doi.org/10.1007/BF02293979 — Sumber asli/historis estimasi Bayes
Modal (MAP). Tidak berhasil diakses gratis (Springer/Psychometrika berbayar) — klaim yang berasal
dari Mislevy (1986) pada dokumen ini hanya diverifikasi secara tidak langsung lewat definisi &
nomor persamaan yang direproduksi eksplisit di [3, Eq.5-6, p.4-5].
[5] Bock, R. D., & Mislevy, R. J. (1982). Adaptive EAP estimation of ability in a
microcomputer environment. Applied Psychological Measurement, 6(4), 431–444.
https://doi.org/10.1177/014662168200600405 — Sumber asli/historis estimasi EAP. Tidak berhasil
diakses gratis (SAGE berbayar) — klaim yang berasal dari Bock & Mislevy (1982) pada dokumen ini
hanya diverifikasi secara tidak langsung lewat definisi & nomor persamaan yang direproduksi
eksplisit di [3, Eq.10-11, p.5-6], yang juga menyitasi Bock & Mislevy (1982) secara langsung
sebagai sumber EAP (p.5).
[6] Chalmers, R. P. (2012). mirt: A Multidimensional Item Response Theory Package for the R
Environment. Journal of Statistical Software, 48(6), 1–29. https://doi.org/10.18637/jss.v048.i06
— Open access (JSS). PDF: https://www.jstatsoft.org/index.php/jss/article/view/v048i06/598
(landing page: https://www.jstatsoft.org/article/view/v048i06). Sumber untuk model M3PL
multidimensional dengan skala D (Eq.1, p.3 — produksi tidak memakai skala D, konsisten dengan
[1, Eq.1]) dan pola diskretisasi grid kuadratur multi-indeks k-dimensi (Eq.6, p.5), dipakai
sebagai pembanding teknik untuk grid EAP di #3.1 (catatan: Eq.6 [6] pada paper aslinya
mengintegralkan θ sebagai nuisance parameter pada estimasi parameter item/EM, bukan pada
estimasi EAP examinee individual — hanya teknik diskretisasinya yang dipakai sebagai pembanding,
bukan rumusnya secara langsung).