汪文義,鄭娟娟,宋麗紅,胡海洋
(1.江西師范大學(xué)計(jì)算機(jī)信息工程學(xué)院,江西 南昌 330022;2.江西師范大學(xué)教育學(xué)院,江西 南昌 330022)
認(rèn)知診斷評(píng)估(cognitive diagnostic assessment)是20世紀(jì)中后期興起的一種新的測(cè)驗(yàn)方式,它以心理學(xué)、教育學(xué)為指導(dǎo),同時(shí)借助現(xiàn)代測(cè)量學(xué),對(duì)被試答錯(cuò)的項(xiàng)目進(jìn)行深入分析與解釋,能夠分析被試對(duì)項(xiàng)目所考察的所有知識(shí)點(diǎn)(屬性)的掌握情況,基于此可以對(duì)癥下藥制定補(bǔ)救措施,加強(qiáng)短板的學(xué)習(xí).認(rèn)知診斷評(píng)估通常借助于認(rèn)知診斷模型(cognitive diagnostic model,CDM),根據(jù)設(shè)定好的Q矩陣,建立被試的屬性掌握情況與項(xiàng)目反應(yīng)之間的關(guān)系[1].
現(xiàn)有的認(rèn)知診斷模型有100種以上,主要分為簡(jiǎn)化模型、飽和模型2個(gè)大類,其中簡(jiǎn)化模型又分為補(bǔ)償模型和非補(bǔ)償模型,它們的最常用模型分別為DINO模型[2]和DINA模型[3],在飽和模型中最常用的模型為G-DINA模型.然而要想借助于認(rèn)知診斷模型實(shí)現(xiàn)認(rèn)知診斷,就必然離不開(kāi)認(rèn)知診斷模型的參數(shù)估計(jì)方法,故參數(shù)估計(jì)對(duì)于模型的發(fā)展與實(shí)現(xiàn)有著非常重要的意義.
J. de la Torre等[4]將馬爾可夫鏈蒙特卡羅方法(Monte Carlo Markov chain,MCMC)用于高階DINA模型參數(shù)估計(jì).J.L. Templin等[2]也將MCMC方法用于DINO模型參數(shù)估計(jì).J. de la Torre[3]提出DINA模型EM參數(shù)估計(jì)算法并考查了EM算法的表現(xiàn),但沒(méi)有通過(guò)模擬研究去比較EM參數(shù)估計(jì)算法和MCMC參數(shù)估計(jì)算法的表現(xiàn).S. Sen等[5]對(duì)可用于DINA模型參數(shù)估計(jì)(EM方法)的6個(gè)軟件表現(xiàn)進(jìn)行比較,結(jié)果顯示各軟件表現(xiàn)基本相當(dāng).J. de la Torre[6]提出G-DINA模型及其EM估計(jì)算法.有研究將變分貝葉斯推斷方法用于DINA模型和G-DINA模型參數(shù)估計(jì)[7-8].
Zhan Peida等[9]為G-DINA模型(與對(duì)數(shù)線性認(rèn)知診斷模型LCDM等價(jià))提供了MCMC估計(jì)的JAGS代碼.S.A. Culpepper等[10]基于數(shù)據(jù)擴(kuò)張的MCMC方法,并采用吉布斯方法對(duì)屬性條件概率下的知識(shí)狀態(tài)進(jìn)行取樣,用于簡(jiǎn)化的重新參數(shù)化融合模型參數(shù)估計(jì),以提高M(jìn)CMC效率.隨后,Wang Juntao等[11]將其推廣用于G-DINA模型參數(shù)估計(jì),然而也沒(méi)有與EM算法比較.Jiang Zhehan等[12]還使用MCMC的其他變形形式實(shí)現(xiàn)了G-DINA模型的參數(shù)估計(jì).
通過(guò)對(duì)已有文獻(xiàn)分析發(fā)現(xiàn),這2類方法各有優(yōu)劣,如EM算法(或變分法)收斂速度較快,但會(huì)受初值影響且可能收斂到局部最優(yōu)值[8],而MCMC算法比較費(fèi)時(shí)但不依賴于初值.于是,有必要在不同樣本量、不同測(cè)驗(yàn)長(zhǎng)度、不同題目質(zhì)量的條件組合下,對(duì)DINA模型、DINO模型、GDINA模型下的EM算法和MCMC算法的表現(xiàn)進(jìn)行系統(tǒng)比較.因?yàn)檎J(rèn)知診斷模型常規(guī)的EM算法(非變分法)可借助于各種軟件包(如R語(yǔ)言實(shí)現(xiàn)的CDM或GDINA)來(lái)實(shí)現(xiàn),并且JAGS代碼實(shí)現(xiàn)認(rèn)知診斷模型的MCMC十分簡(jiǎn)單,所以,本文主要考慮在認(rèn)知診斷中常規(guī)的EM算法和JAGS代碼實(shí)現(xiàn)的MCMC算法,不考慮它們的其他變形方法.在簡(jiǎn)要介紹了認(rèn)知診斷模型下的EM算法和MCMC算法后,通過(guò)模擬研究,在不同樣本量、不同測(cè)驗(yàn)長(zhǎng)度、不同題目質(zhì)量的條件組合下,在DINO模型、DINA模型和GDINA模型下比較了EM算法和MCMC算法的表現(xiàn),可供讀者根據(jù)不同條件為各個(gè)模型選擇最適合的參數(shù)估計(jì)算法.
(i)DINA模型.確定性輸入噪音與門(DINA)模型是認(rèn)知診斷中運(yùn)用最廣的模型,同時(shí)也是一種完全非補(bǔ)償?shù)恼J(rèn)知診斷模型,它要求被試需掌握項(xiàng)目所考察的所有屬性,缺少其中任何一個(gè)屬性都會(huì)降低答對(duì)項(xiàng)目的概率[6].DINA模型的項(xiàng)目反應(yīng)函數(shù)為
(ii)DINO模型.確定性輸入噪音或門(DINO)模型恰好與DINA模型相反,在該模型中被試只要掌握了項(xiàng)目考察的任何一個(gè)屬性就能正確答對(duì)該項(xiàng)目,即屬性間可以相互替代或補(bǔ)償[7].DINO模型的項(xiàng)目反應(yīng)函數(shù)為
EM算法是一種迭代優(yōu)化策略,該策略在每次迭代中都分成了2個(gè)步驟:第1步是期望步,簡(jiǎn)稱為E步;第2步為極大步,簡(jiǎn)稱為M步.EM算法是數(shù)據(jù)挖掘經(jīng)典算法之一,它最初是為了解決在數(shù)據(jù)缺失情況下進(jìn)行參數(shù)估計(jì)的問(wèn)題而提出的,后來(lái)被用于尋找在缺失數(shù)據(jù)統(tǒng)計(jì)模型中參數(shù)的最大似然估計(jì)或者最大后驗(yàn)估計(jì)[9].
1.2.1 DINA、DINO模型的EM算法 通過(guò)上述介紹的EM算法,給定知識(shí)狀態(tài)αi,在條件獨(dú)立假設(shè)下(即同一被試對(duì)各個(gè)項(xiàng)目的作答是相互獨(dú)立的),被試在M個(gè)項(xiàng)目上的得分向量為Xi=(xi1,xi2,…,xiM),在N個(gè)被試的作答模式相互獨(dú)立假設(shè)下,得分矩陣X的條件似然函數(shù)為
將所有被試看成是來(lái)自同一母體,且給定屬性掌握模式的先驗(yàn)分布為P(αc),αc∈Qs,其中Qs為知識(shí)狀態(tài)全集,如在含K個(gè)屬性的獨(dú)立結(jié)構(gòu)下Qs包含2K列,于是可得邊際似然函數(shù)(邊際分布)為
即在DINA和DINO模型上邊際似然函數(shù)表示為
1.2.2 G-DINA模型的EM算法 在G-DINA模型上邊際似然函數(shù)表示為
(1)
(2)
(3)
(4)
最后將式(2)~(3)求得的數(shù)據(jù)代入式(1)來(lái)求得極大似然估計(jì)值,進(jìn)而得到相對(duì)應(yīng)的項(xiàng)目參數(shù)估計(jì)值.
MCMC是馬爾可夫鏈與蒙特卡羅方法的結(jié)合,即構(gòu)造合適的馬爾可夫鏈進(jìn)行抽樣并使用蒙特卡羅方法進(jìn)行積分計(jì)算,進(jìn)而使馬爾可夫鏈最后達(dá)到收斂平穩(wěn)的狀態(tài),Metropolis方法與W.K. Hastings的概括奠定了MCMC方法的基石[13-14].此方法在以π(x)為平穩(wěn)分布的馬氏鏈上產(chǎn)生相互依賴的樣本,即MCMC方法在本質(zhì)上是一個(gè)蒙特卡羅綜合程序,它的隨機(jī)樣本的產(chǎn)生與一條馬氏鏈有關(guān).基于條件分布的迭代取樣是另一種重要的MCMC方法,其中最著名的特殊情況就是Gibbs抽樣,它現(xiàn)已成為統(tǒng)計(jì)計(jì)算的標(biāo)準(zhǔn)工具,其最吸引人的特征是其潛在的馬氏鏈?zhǔn)峭ㄟ^(guò)分解一系列條件分布建立起來(lái)的.W.K. Hastings[14]推廣了Metropolis采樣法,在吉布抽樣中采用Metropolis采樣法對(duì)條件分布進(jìn)行抽樣,可以避免計(jì)算條件分布的正規(guī)化常數(shù)現(xiàn)象,被稱為MH within Gibbs[15].
本文在這3個(gè)模型下的MCMC估計(jì)均采取吉布斯的MH采樣法,通過(guò)Gibbs采樣法對(duì)未知參數(shù)的聯(lián)合后驗(yàn)分布進(jìn)行分解,然后應(yīng)用MH采樣法對(duì)各個(gè)參數(shù)的全條件分布進(jìn)行取樣,以構(gòu)建未知參數(shù)后驗(yàn)分布為平穩(wěn)分布的可逆的馬爾可夫鏈,從而進(jìn)行取樣,這樣就可以將取樣所得到的樣本分布近似為目標(biāo)分布,通過(guò)對(duì)近似分布推斷來(lái)實(shí)現(xiàn)參數(shù)估計(jì).在DINA模型、DINO模型以及G-DINA模型上分別采用MCMC算法進(jìn)行項(xiàng)目參數(shù)估計(jì),具體步驟如下:
(i)確立未知參數(shù)的聯(lián)合后驗(yàn)分布為目標(biāo)分布(平穩(wěn)分布).在局部獨(dú)立性假設(shè)滿足情況下,DINA模型的聯(lián)合似然函數(shù)為
DINO模型的聯(lián)合似然函數(shù)為
GDINA模型的聯(lián)合似然函數(shù)為
在貝葉斯框架中,給定得分矩陣的條件,所有參數(shù)的聯(lián)合后驗(yàn)分布(即平穩(wěn)分布)為
P(α,s,g|X)∝p(X|α,s,g)P(α,s,g)∝p(X|α,s,g)p(α)p(s)p(g),
P(α,δ|X)∝p(X|α,δ)P(α,δ)∝p(X|α,δ)p(α)p(δ).
在給定得分矩陣和其余參數(shù)條件下,各個(gè)參數(shù)的全條件分布為
p(α|X,s,g)∝L(α,s,g)p(α),p(g|X,α,s)∝L(α,s,g)p(g),p(s|X,α,g)∝L(α,s,g)p(s),p(δ|X,α)∝L(α,δ)p(δ),p(α|X,δ)∝L(α,δ)p(α),
αik~Bernoulli(0.5),s~Beta(1,1),g~Beta(1,1)∈
(ii)設(shè)定各參數(shù)初值,即按各參數(shù)的先驗(yàn)分布生成參數(shù)初值.
(5)
(6)
將式(5)和式(6)計(jì)算出的轉(zhuǎn)移概率與隨機(jī)數(shù)r~U(0,1)進(jìn)行比較,若轉(zhuǎn)移概率大于等于r則接受轉(zhuǎn)移,否則不轉(zhuǎn)移.
在EM算法估計(jì)出項(xiàng)目參數(shù)后,可采用屬性的邊際后驗(yàn)概率(MPPE/EAP)估計(jì)被試知識(shí)狀態(tài)(即被試i掌握屬性K的邊際概率),其計(jì)算公式為
知識(shí)狀態(tài)在MCMC算法中為未知的隨機(jī)向量,可直接從近似平穩(wěn)分布中所取的樣本計(jì)算均值,然后通過(guò)上述同樣的劃界分?jǐn)?shù)方法可得到被試在各屬性上的知識(shí)狀態(tài)估計(jì),進(jìn)而得到估計(jì)的知識(shí)狀態(tài).
在不同條件組合下,探討DINA模型、DINO模型和G-DINA模型下的EM算法和MCMC算法估計(jì)參數(shù)的表現(xiàn).
考慮到4個(gè)主要的影響因素:3種類型認(rèn)知診斷模型(3個(gè)水平)、樣本量(在DINA模型和DINO模型上為2個(gè)水平,在GDINA模型上為3個(gè)水平)、題目參數(shù)(2個(gè)水平)、測(cè)驗(yàn)長(zhǎng)度(2個(gè)水平).所采用的Q矩陣如圖1所示,其中20題和30題分別對(duì)應(yīng)Q1、Q2,參照J(rèn). de la Torre等[4]的設(shè)定:在30道題目上考察5個(gè)相互獨(dú)立屬性,1~10道題考察了1個(gè)屬性,11~20題考察了2個(gè)屬性,21~30題與1~10題一樣只考察了1個(gè)屬性.樣本量在DINA模型和DINO模型上分別設(shè)定為500、1 000.考慮到G-DINA模型的復(fù)雜性,在該模型上的3個(gè)水平樣本量分別設(shè)定為500、1 000以及2 000.題目質(zhì)量分別設(shè)定了高質(zhì)量、低質(zhì)量2個(gè)水平的項(xiàng)目參數(shù),參照文獻(xiàn)[16]在DINA模型上猜測(cè)參數(shù)與失誤參數(shù)分別服從U(0.05,0.25)和U(0.05,0.40)的設(shè)定,并在此基礎(chǔ)上進(jìn)行細(xì)化,其中在DINA模型、DINO模型下高質(zhì)量題目參數(shù)滿足失誤參數(shù)s和猜測(cè)參數(shù)g都服從均勻分布U~(0.05,0.15),低質(zhì)量題目參數(shù)滿足失誤參數(shù)s和猜測(cè)參數(shù)g都服從均勻分布U~(0.25,0.35).而在G-DINA模型上,未掌握的概率與答對(duì)題目概率參數(shù)在高質(zhì)量水平下分別服從均勻分布U~(0.05,0.15)和U~(0.85,0.95),在低質(zhì)量水平下分別服從均勻分布U~(0.25,0.35)和U~(0.65,0.75).程序通過(guò)R語(yǔ)言編寫(xiě),其中EM算法使用Ma Wenchao等[17]所開(kāi)發(fā)的GDINA包,MCMC算法使用JAGS來(lái)實(shí)現(xiàn)[9].
(i)采用偏差(fBIAS)、均方根誤差(fRMSE)和絕對(duì)偏差(fABS)指標(biāo)來(lái)考察參數(shù)估計(jì)的精度,這3指標(biāo)值越接近0說(shuō)明估計(jì)精度越高,由估計(jì)精度的高低來(lái)評(píng)價(jià)參數(shù)估計(jì)的返真性.
(ii)運(yùn)用模擬的平均屬性判準(zhǔn)率(attribute accuracy rate)來(lái)評(píng)價(jià)知識(shí)狀態(tài)判準(zhǔn)率,其值越高模型的表現(xiàn)越好,其計(jì)算公式為
表1~表4分別是EM算法與MCMC算法在DINA模型、DINO模型和G-DINA模型上的參數(shù)估計(jì)的偏差、均方根誤差以及絕對(duì)偏差.
從表1可以看出:在DINA模型上,無(wú)論哪種條件,EM算法的失誤參數(shù)都會(huì)對(duì)出現(xiàn)低估現(xiàn)象,而在DINO模型上卻相反,這可能跟模型本身類型有關(guān);同時(shí)在題目質(zhì)量低的情況下,在DINA模型和DINO模型上,EM算法對(duì)猜測(cè)參數(shù)也會(huì)出現(xiàn)低估現(xiàn)象.從整體來(lái)看,在題目質(zhì)量較低、樣本量N=500以及測(cè)驗(yàn)長(zhǎng)度L=20的組合條件下,MCMC算法在DINA模型和DINO模型上的表現(xiàn)更優(yōu)于EM算法的表現(xiàn).從表4可以看出:在G-DINA模型上,無(wú)論是高質(zhì)量題目還是低質(zhì)量題目,在樣本量N=1 000與測(cè)驗(yàn)長(zhǎng)度L=20的條件組合下,MCMC算法均優(yōu)于EM算法.但隨著樣本量的增大和測(cè)驗(yàn)長(zhǎng)度變長(zhǎng),EM算法估計(jì)出的項(xiàng)目參數(shù)越來(lái)接近真值.
從表2~表4可以看出:無(wú)論哪個(gè)模型的哪種條件,MCMC算法下參數(shù)估計(jì)的均方根誤差均優(yōu)于EM算法下參數(shù)估計(jì)的均方根誤差,尤其是在題目質(zhì)量較低和小樣本量的組合下,有著非常明顯的效果,均方根誤差差值均超過(guò)0.020;在DINA模型和DINO模型上的參數(shù)估計(jì)偏差的差值為0.015左右,在G-DINA模型上超過(guò)0.020.這表明了MCMC算法對(duì)參數(shù)估計(jì)的精確度高,且更適用于題目質(zhì)量較低和小樣本量的組合條件.但隨著樣本量的增大,EM算法在3個(gè)模型上的表現(xiàn)在大多數(shù)情況下卻是都略優(yōu)于MCMC算法在3個(gè)模型上的表現(xiàn).
表1 2種算法在DINA模型和DINO模型上的參數(shù)估計(jì)偏差
表2 2種算法在DINA模型和DINO模型上的參數(shù)估計(jì)均方根誤差
表3 2種算法在DINA模型和DINO模型上的參數(shù)估計(jì)平均絕對(duì)離差
表4 2種算法在G-DINA模型上的參數(shù)估計(jì)偏差、均方根誤差以及估計(jì)平均絕對(duì)離差
表5和表6分別是EM算法與MCMC算法在DINA模型、DINO模型和GDINA模型上得到的平均屬性判準(zhǔn)率,由表5和表6可以看出:隨著題目質(zhì)量的提高、樣本量的增大以及測(cè)驗(yàn)長(zhǎng)度的增長(zhǎng),這2種算法的平均屬性判準(zhǔn)率增大,且越來(lái)越趨于一致.但在題目質(zhì)量較低時(shí),MCMC算法下得到的平均屬性判準(zhǔn)率明顯優(yōu)于EM算法下的平均屬性判準(zhǔn)率,特別是在GDINA模型上,當(dāng)測(cè)驗(yàn)長(zhǎng)度L=20與樣本量N=500或者N=1 000的條件組合時(shí),在這2種算法下得到的平均屬性判準(zhǔn)率差值為0.04左右,這說(shuō)明了MCMC算法在題目質(zhì)量較低與短測(cè)驗(yàn)長(zhǎng)度組合條件下的優(yōu)越性.
表5 2種算法在DINA模型和DINO模型上的平均屬性判準(zhǔn)率
表6 2種算法在GDINA模型上的平均屬性判準(zhǔn)率
本文通過(guò)引入EM算法和MCMC算法,基于認(rèn)知診斷3種模型,在多種條件組合下進(jìn)行項(xiàng)目參數(shù)估計(jì),通過(guò)比較偏差、均方根誤差、絕對(duì)偏差、平均屬性判準(zhǔn)率來(lái)詳細(xì)分析在不同條件組合下這2種算法在這3種模型上進(jìn)行參數(shù)估計(jì)的效果.
當(dāng)題目質(zhì)量較低、測(cè)驗(yàn)短以及小樣本這3種條件的組合時(shí),MCMC算法得到的偏差、均方根誤差、絕對(duì)偏差、平均屬性判準(zhǔn)率的值均優(yōu)于EM算法下得到的值.但若項(xiàng)目質(zhì)量變高或者測(cè)驗(yàn)變長(zhǎng)、樣本量變大,則EM算法下得到的數(shù)據(jù)就略優(yōu)于MCMC算法下得到的值,同時(shí)在該條件下,考慮到MCMC算法在R程序中的運(yùn)行時(shí)間過(guò)長(zhǎng),不如EM算法計(jì)算快捷,故在題目質(zhì)量較高或者測(cè)驗(yàn)長(zhǎng)、樣本量大的條件下推薦使用EM算法進(jìn)行參數(shù)估計(jì),在題目質(zhì)量較低、測(cè)驗(yàn)短以及小樣本的條件下使用MCMC算法進(jìn)行參數(shù)估計(jì).
本文只考慮了在認(rèn)知診斷中常用的3個(gè)模型,在其他模型上不同條件下,EM算法和MCMC算法進(jìn)行參數(shù)估計(jì)的效果如何,值得思考.如本文所采用的Q矩陣僅考察了2個(gè)屬性,而在實(shí)際應(yīng)用中可能不限于2個(gè)屬性,在3個(gè)屬性甚至多個(gè)屬性下EM算法和MCMC算法進(jìn)行參數(shù)估計(jì)的效果如何;有些研究在屬性層級(jí)模型下考慮了EM算法的表現(xiàn)[18],在不同知識(shí)狀態(tài)分布和Q矩陣設(shè)計(jì)[19]條件下,這2種算法表現(xiàn)如何.Liu Yanlou等[20]將這2種算法用于在DINA模型下的誤差估計(jì).縱向認(rèn)知診斷模型的參數(shù)估計(jì)算法大多數(shù)采用MCMC算法[9],也有些研究針對(duì)縱向GDINA模型提出了EM算法[21],故在縱向認(rèn)知診斷模型下這2種算法的表現(xiàn)也有待進(jìn)行比較研究.另外,在估計(jì)未知參數(shù)標(biāo)準(zhǔn)誤方面[22],MCMC算法表現(xiàn)如何,有待考慮.