計算機自適應測驗(Computerized Adaptive Testing,簡稱CAT)是近年來發展起來的一種新的測驗形式。計算機自適應測驗不同于傳統的紙筆測驗,它的測驗試題的呈現和被試對試題的解答都是通過計算機完成的。計算機自適應測驗也不同于一般的計算機化測驗,計算機在測驗過程中不光是呈現題目,輸入答案、自動評分、得出結果,而且根據被試對試題的不同回答,它能自動選擇最適宜的試題讓被試回答,最終達到對被試能力作出最恰當的估計。本文將簡單介紹計算機自適應測驗的原理和方法。
1? 題庫的分析與實現
1.1? 原理
計算機自適應題庫要解決的關鍵問題是建立適合每一個應試者能力的個性化測驗。
一般將測量理論分為經典測量理論、概化理論和項目反應理論三大類,或稱三種理論模型。人們將以真分數理論(True Score Theory)為核心理論假設的測量理論及其方法體系,統稱為經典測驗理論(Classical Test Theory,CTT),也稱真分數理論。它對建立試卷、考分轉換、等值等均有一套較為完整的方法。但隨著測驗實踐的深入,此理論暴露了難以克服的弱點: (1)題目難度、區分度等嚴重依賴于應試者;(2)對應試者的某項能力或特質水平的估計值,只有當所有應試者使用的都是同一個或并行測驗時才是可以比較的,而對于同一能力或特質的不同測驗的測量效果則無法進行直接比較;(3)在應用方面,經典測量理論也表現出許多不足。
項目反應理論(item response theory)也稱潛在特質理論或潛在特質模型,是一種現代心理測量理論,其意義在于可以指導項目篩選和測驗編制。項目反應理論假設被試有一種“潛在特質”,潛在特質是在觀察分析測驗反應基礎上提出的一種統計構想,在測驗中,潛在特質一般是指潛在的能力,并經常用測驗總分作為這種潛力的估算。項目反應理論認為被試在測驗項目的反應和成績與他們的潛在特質有特殊的關系。但在實際考試中,存在有應試者猜題的因素,因此本題庫中采用了特征函數的三參數模式。三參數模式的公式為:
式中,D=1.702;θ是應試者能力值;a是題目的區分度;b是題目的難度;c是題目的猜測系數;P(θ)能力為θ的人答對此題目的概率。
根據特征函數可畫出題目的特征曲線,圖1為典型的三參數模式的特征曲線。從該圖中可以看出:
(1)a參數,即特征曲線的斜率。它的值越大說明題目對應試者的區分程度越高。
(2)b參數,即特征曲線在橫坐標上的投影。
(3)c參數,即特征曲線的截距。它的值越大,說明不論應試者能力高低,都容易猜對本道題目。
項目反應理論同經典測量理論相比,最大優點就是項目參數的不變性。對項目各參數值的確定,采用了2種途徑:一是經試測后進行統計分析,另一種是由專家進行評估后,再采用統計方法確定參數。這2種途徑都存在著統計中使用的樣本采集異常困難的問題,因此本題庫設計中使用CTT采集樣本,結合IRT的三參數模式,確定了試題的3個質量參數。
1.2? 題庫的建立
本題庫建立過程中,首先要錄入試題編號及題干等信息,其次錄入參加試題參數測試人員做題情況的信息,最后進行試題的三質量參數測試,并將測試結果寫入數據庫。
1.3? 模塊設計
本題庫中的模塊及功能如下:
(1)試題質量參數測試
該模塊包括試題的CTT參數計算和IRT參數計算等功能。
①試題的CTT參數計算。根據參加試題參數測試人員的做題情況,使用CTT獲取標準分Z:
式中,RH、RL分別表示高分組和低分組通過該題的人數;n為每組的人數。
②試題的IRT參數計算。對IRT能力參數和質量參數的估計如下:
首先,按下列方式為能力參數、質量參數指定初值:
IRT能力參數的初值=經典測量理論中的標準分Z;
IRT區分度參數的初值=經典測量理論中的難度值
+2(2是比例因子),其中難度;
IRT猜測參數的初值=試題j的可選項數倒數。
然后,按以下步驟進行迭代運算:
●把3個質量參數看作已知值,用極大似然估計法[2]估算出能力參數;
●將上一步中估需出的能力參數作為已知值,用極大似然估計法估算出3個質量參數;
●判別結束條件是否滿足,若滿足,則最后1次的估計值即為最終估計值;若不滿足,則返回第1步繼續迭代運算。結束條件可以是指定的迭代次數,也可以是趨于穩定的參數值。
(2)試題庫維護
該模塊包括試題、樣本信息的錄入和增添等功能。
①試題和樣本信息的錄入。該功能包括試題錄入和樣本信息錄入,其中前者錄入的是試題編號及題干等信息;后者錄入的是參加試題參數測試人員做題情況的信息。
② 試題和樣本信息的增添。試題管理員可以及時添加樣本信息和試題。系統管理員可以根據情況重新計算試題的質量參數。
1.4? 數據庫表的結構設計
在本系統建立的自適應試題庫中,有單選題、多選題、判斷題等3類題型。在單選題題型中需要用到單選表single_choice、單選分析表single_choice_analysis。單選表、單選分析表single_choice_analysis以及二表之間的主外鍵關系如圖2所示。
本系統涉及到的人員有教師、管理員、應試者和參加試題參數測試人員,他們的相關信息如圖3所示。其中,student_info表用來存放應試者和參加試題參數測試人員的基本信息, login表用來存放所有人員的登錄信息。
1.5 題庫的實現
以經典測量理論(CTT)和項目反應理論(IRT)為基礎,使用三參數模式建立了計算機自適應題庫,從而能夠根據題目的參數及應試者的反應情況估計應試者的能力參數,然后根據“最大信息量原則”從題庫中選取符合應試者能力的題目進行測試。
由于篇幅有限,下面只給出其中的幾個實現算法。
(1) 計算一階導數的函數
yijiedaoshu(parameters para[ ],integer j, integer n),返回 double 類型的值。其中parameters{ double a,double b,double c,double? ability,double? u}是一個結構體,由某試題的三質量參數a、b、c、應試者當前能力值 ability和做題情況u 組成。
該函數的功能是計算對某試題的第j次迭代的一階導數,用于計算具備初始能力值ability的受測者的真實能力值。實現代碼如下:
double result;
int i;
for i=1 to n
result +=? para[i].a * (para[i].u - calculate(para[i].? a,para[i].b,para[i].c,para[i].ability)) & * (calculate
(para[i].a,para[i].b,para[i].c,para[i].ability) - para? [i].c)
next i
if (calculate(para[j].a,para[j].b,para[j].c,para[j].ability))
* (1 - para[j].c) <> 0 then result = (1.702 *
result) / (calculate(para[j].a,para[j].b,para[j].c,para [j].ability)) & *(1 - para[j].c);
else
MessageBox(“錯誤提示”,“錯誤編號:005~r~n計算錯誤!程序終止!”);
halt;
end if
// 第j次迭代一階導
return result
(2) 計算概率的函數
calculate(double a ,double b, double c,double ability),返回double 類型的值。
該函數的功能是計算某試題被答對的概率。實現代碼如下:
double resultnum,mid;
mid= - 1.702*a*(ability - b);
if (1+exp(mid)) < > 0 then
resultnum=(1 - c)/(1+exp(mid))+c;
else
MessageBox(“錯誤提示”,“錯誤編號:
006~r~n計算 錯誤!程序終止
!”);
halt;
end if
return resultnum;
(3) 計算信息函數
information(parameters para[],integer j, double? ability),返回double類型的值。
該函數的功能是用來計算某試題的信息量,用來為具備ability初始能力值的應試者選擇合適的下一道試題。實現代碼如下:
double result=0
result = (1.702 * 1.702 * para[j].a * para[j].a) * (1 -
para[j].c);
if ((para[j].c + exp(1.702 * para[j].a * ((1 - (calculate
(para[j].a,para[j].b,para[j].c,ability)) &-para[j].b))))* (1 + exp(- 1.702 * para[j].a * (1 -
(calculate(para[j].a,para[j].b,para[j].c,ability)) & - para[j].b))) * (1 + exp(- 1.702 * para[j].a * (1 -
(calculate(para[j].a,para[j].b,para[j].c,ability)) &- para[j].b)))) < > 0 then
result=result/((para[j].c+exp(1.702*para[j].a*((1-(calcu- late(para[j].a,para[j].b,para[j].c,&
ability))-para[j].b))))*(1+exp(-1.702*para[j].a*(1 - (calculate(para[j].a,para[j].b,para[j].c,&
ability))-para[j].b)))*(1+exp(-1.702*para[j].a * (1 -? (calculate(para[j].a,para[j].b,para[j].c,&
ability)) - para[j].b))))
else
MessageBox(“錯誤提示”,“錯誤編號:007~r~n計算錯誤!程序終止!”);
halt;
end if
return result
本計算機自適應題庫以經典測量理論和項目反應理論為基礎,采用Newton-Raphson迭代法,解決了基于IRT的考試系統建設中出現的系統題庫建設的最大難題。
?
評論
查看更多