【試題反應理論】Ch5 能力值之估計(R code)

更新於 發佈於 閱讀時間約 6 分鐘

本文為閱讀Baker與Kim(2017)《The Basics of Item Response Theory using R》第五章部份之筆記,本文聚焦於估計能力參數(ability parameter)之R語言程式嗎。

設定ability 作為函式,其中參數有mdl (模型,即Rasch、2PL或3PL);u 為反應向量(由0與1構成的向量,0表該題錯誤,1表該題正確);b、a 與 c 表試題參數向量。為避免能力值(theta)在試題全對(即 u 向量全為1)或全錯(即 u 向量全為0)情況下使能力值之估計值出現無窮大之情況,我們設定其上下限,其中 J 為總題數,

th= -log(2*J) #theta hat lower bound
th= log(2*J) #theta hat upper bound

通過最大概似估計法(MLE)估計能力值,所得之一階條件(f.o.c)利用牛頓法迭代求數值解。我們採用 log(x/(J-x)) 作為迭代的起始值,其中 J 為總題數,x 為 u 向量內元素之總和(答對題數)。我們設定最大的迭代次數(S)為10,收斂標準為前後兩次迭代數值之差小於.001。

th =log(x/(J-x)) #starting value

S = 10 # the maximum number of iterations

ccrit=.001 #the converge criterion of Newton's method

印出每次之迭代之能力值,

cat(paste("th=",th,"\n"));flush.console()

待達成迭代終止條件後,計算其標準誤(standard error, SE),

cat(paste("se=",se,"\n"));flush.console()

我們可以簡單執行一個五題二參數模型之的範例,

u=c(1,0,1,1,0)
b=c(-1,0,1,0,1)
a=c(1,1.2,0.8,0.7,0.2)
ability(mdl=2,u=u,b=b,a=a)

得到的能力值估計值為0.6079441,其標準誤為1.1638076。

raw-image


附上課本之完整 R 程式碼。

ability = function(mdl,u,b,a,c){
J = length(b)
if(mdl==1|mdl==2|missing(c)){
c=rep(0,J)
}
if(mdl==1|missing(a)){a=rep(1,J)}
x=sum(u) #total score(a summation of u_j)
if(x==0){
th= -log(2*J)
}
if(x==J){
th= log(2*J)
}
if(x==0|x==J){
sumdem=0
for(j in 1:J){
pstar = 1/(1+exp(-a[j]*(th-b[j])))
phat = c[j]+(1-c[j])*pstar
sumdem = sumdem - a[j]**2 * phat*(1-phat)*(pstar/phat)**2 #3PL formula
}
se=1/sqrt(-sumdem)

}
if(x!=0 & x != J){
th =log(x/(J-x))
S = 10
ccrit=.001
for(s in 1:S){
sumnum = 0
sumdem = 0
for(j in 1:J){
pstar = 1/(1+exp(-a[j]*(th-b[j])))
phat = c[j]+(1-c[j])*pstar
sumnum = sumnum + a[j]*(u[j]-phat)*(pstar/phat)
sumdem = sumdem - a[j]**2*phat*(1-phat)*(pstar/phat)**2
}
delta = sumnum/sumdem
th=th-delta
if(abs(delta) < ccrit |s==S){
se = 1/sqrt(-sumdem)
break
}
cat(paste("th=",th,"\n"));flush.console()
}
}
cat(paste("th=",th,"\n"));flush.console()
cat(paste("se=",se,"\n"));flush.console()
thse=c(th,se)
return(thse)
}


參考資料:

Baker, F. B., & Kim, S. H. (2017). The Basics of Item Response Theory Using R (Vol. 10). New York: Springer.

留言
avatar-img
留言分享你的想法!
avatar-img
紙本與畫面
9會員
24內容數
過去幾年寫了一些在紙上,將這些內容潤飾後上傳,希望分享一些因為書籍與電影產生的共鳴。
紙本與畫面的其他內容
2025/09/04
本文為閱讀Baker與Kim(2017)《The Basics of Item Response Theory using R》第五章部份之筆記,這一章節主要聚焦於估計能力參數(ability parameter)。本文聚焦在能力參數之估計過程。
Thumbnail
2025/09/04
本文為閱讀Baker與Kim(2017)《The Basics of Item Response Theory using R》第五章部份之筆記,這一章節主要聚焦於估計能力參數(ability parameter)。本文聚焦在能力參數之估計過程。
Thumbnail
2025/08/28
本文為閱讀Baker與Kim(2017)《The Basics of Item Response Theory using R》第四章之筆記,聚焦在測驗特徵曲線(Test Characteristic Curve, TCC)。
Thumbnail
2025/08/28
本文為閱讀Baker與Kim(2017)《The Basics of Item Response Theory using R》第四章之筆記,聚焦在測驗特徵曲線(Test Characteristic Curve, TCC)。
Thumbnail
2025/08/21
本文為閱讀Baker與Kim(2017)《The Basics of Item Response Theory using R》第三章之筆記,聚焦在試題特徵曲線(Item Characteristic Curve, ICC)之適配度。
Thumbnail
2025/08/21
本文為閱讀Baker與Kim(2017)《The Basics of Item Response Theory using R》第三章之筆記,聚焦在試題特徵曲線(Item Characteristic Curve, ICC)之適配度。
Thumbnail
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
高中數學主題練習—向量分點公式
Thumbnail
高中數學主題練習—向量分點公式
Thumbnail
邏輯,是幫助我們判斷事理的重要因子。本篇我們將從表述、系統、思維下手來探討如何透過邏輯來幫助我們看清問題,甚至是解決問題。
Thumbnail
邏輯,是幫助我們判斷事理的重要因子。本篇我們將從表述、系統、思維下手來探討如何透過邏輯來幫助我們看清問題,甚至是解決問題。
Thumbnail
高中數學主題練習—變異數與標準差計算
Thumbnail
高中數學主題練習—變異數與標準差計算
Thumbnail
最近有新的訂閱者加入, 想趁這個機會再分享一次學習心法與建議給第一次練習的讀者、同學們。 如果你本身已經很熟練演算法,那隨機挑題目練習ok,可以測試觀念是否正確,並且驗證寫code的效率與正確程度。 如果是剛畢業或還在學,以前沒有打過程式競賽。 想開始有系統地增強演算法&資料結構的能力
Thumbnail
最近有新的訂閱者加入, 想趁這個機會再分享一次學習心法與建議給第一次練習的讀者、同學們。 如果你本身已經很熟練演算法,那隨機挑題目練習ok,可以測試觀念是否正確,並且驗證寫code的效率與正確程度。 如果是剛畢業或還在學,以前沒有打過程式競賽。 想開始有系統地增強演算法&資料結構的能力
Thumbnail
高中數學主題練習—C計算(一)
Thumbnail
高中數學主題練習—C計算(一)
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News