Category: 統計軟體R

試題反應理論(Item Response Theory)中,需要看配適度(Fit)嗎?

從每個人在每個項目的實際得分(observed score)和該人該項目的預期得分(expected score)的差,除以變異數,可以得到這個資料點對模型的標準化的殘差(standardised residual),把所有這些標準化的殘差平方後再求平均,就是未權重配適度均方(unweighted fit mean-squar);若根據該資料點的變異數進行權重,則叫作權重配適度均方(weighted fit mean-square)。前者也叫outfit,因為它對極端值(outlier)相當敏感,如果高能力的人答錯簡單的題或低能力的人答對較難的題,則整個均方就會變大,資料和模型的配適就不好;後者又叫infit,因為其根據每個資料所能提供的資訊(information fit)進行權重,極端值的變異較小(例如:0.9*0.1或0.1*0.9,但中間的資訊較多(0.5*0.5)。我們可以使用R裡頭的TAM套件的msq.itemfit,去取得模型中每個項目的outfit和infit。把outfit的值畫出來的話,會如下圖: 在有800個來自常態分佈的樣本下裡的20個項目中,越接近1的項目,配適地越好,反之則越差。 隨著樣本數的增加或減少,在模擬的情況下,可以操控fit和1的距離。下面為樣本數為80和8000的情況。 如果看配適度t值的話,就沒有上面的問題。但是,在真實資料的情況下,又會遇到另一個問題,當樣本數越大,則越容易發現配適地不好的項目,越容易發現資料和模型之間存在差異。 我們可以這麼去理解配適度,它是一個項目和其餘項目總和的關係。從這個角度去理解配適度的話,其實「信度」或「鑑別度」已經提供我們足夠的資訊去決定一個項目的優劣了。如果我們以「配適度」去決定是否要採用某個項目,那反而會將具有鑑別度的項目剔除。當outfit離1很遠的時候,有兩種情況:一個是正方向的離1很遠,一個是負方向的離1很遠。正方向的離1很遠具有好的鑑別度,但我們可能因為判斷它的配適度不佳而刪除。倘若要從配適度去剔除不好的題目,就從outfit值最小的開始吧!

在項目反應理論(Item Response Theory)下,怎麼理解「難度」這個概念?三種取徑。

在項目反應理論(Item Response Theory)中,要描述一個項目的「難度」和古典測驗理論(classical test theory)有不一樣的方法。在古典測驗中,一個項目的「難度」被認為是參與答題者人中答對該項目的比率,越多人答對,難度越低。在項目反應理論中,我們可以從三個取逕來理解項目的難度。項目反應理論中的描述「難度」需要有兩個維度來定義,「樣本能力」和「答對機率」。在只有受試者只有1/0二元結果(答對或答錯)的情況下,以下圖為例,假設受試者的能力是0,則答對該項目的機率則為50%,則項目難度delta則為0。 同樣delta的概念,若在受試者的得分被評為三個等級,例如:0、1、2的時候,以下圖為例,黑色線(得0分的機率)和紅色線(得1分的機率)相交的地方,比50%小一點點的答對率;以及,紅色線(得1分的機率)和綠色線(得2分的機率)相交的地方,同樣比50%小一點點的答對率。前者往下延伸至x軸為delta1(難度為-0.5),後者往下延伸至x軸為delta2(難度為0.5)。delta1和delta2兩個節點,可以把人分成得0分、得1分和得2分機率最高的範圍。 如果把答對的機率累積起來,以下圖為例,則從50%答對率水平延伸至與黑線(得1分或2分的累積機率)和綠線(得2分的累積機率)相交(紅線為得1分、2分和3分的累積機率)後再往x軸延伸取得gamma1(難度為-0.5)和gamma2(難度為0.5)。gamma1和gamma2兩個節點,同樣可以把人分成得0分、得1分和得2分機率最高的範圍。 又或者利用預期得分,從受試者的能力去推估期可能的得分(0到2之間),當能力相同的時候,預期得分越高的項目,難度則越低;反之,難度則越高。或者,難度高的題目,給能力好和能力不好的兩個受試者去測試,能力好的受試者預期得分會高於能力不好的受試者。參考下圖:

使用R將預測變數的交互作用以圖形視覺化

當我們想要知道兩個變數之間是否存在交互作用時,可以使用下面函數產生視覺化的圖形加以輔助:interaction.plot(pred1, pred2, resp) pred1和pred2為要進行檢查的兩個變數,而resp則是反應變數。示例如下: interaction.plot(averagebyid$context, averagebyid$order, averagebyid$meanbyid) 從每個人的平均得分來看,在接觸1次的時候,高語境限制性和低語境限制性的得分並沒有太大的差異。 interaction.plot(averagebyword$context, averagebyword$order, averagebyword$meanbyword) 從每個字的平均得分來看,接觸1次、2次和3次新詞的在語境限制性的差異不大。 interaction.plot(averagebyid$order, averagebyid$context, averagebyid$meanbyid) 從每個人平均得分來看,接觸1次時,高語境限制性和低語境限制性的得分並沒有太大的差異。 interaction.plot(averagebyword$order, averagebyword$context, averagebyword$meanbyword) 從每個字平均得分來看,接觸1次時,高語境限制性和低語境限制性的得分並沒有太大的差異。 但是這些圖形只是暗示我們進一步檢定的話,可能存在交互作用。我們後續仍需要進刪統計檢定才可以驗證其顯著性。

在R進行有兩個隨機因子以上的混合線性模式

當我們只有一個隨機因子的時候,我們可以下面公式表示固定效果和隨機效果(以下公式皆使用lme4套件的lmer函數): correct ~ context + order + (context + order | id)correct ~ context + order + (1 +context + order | id) 上面兩種寫法,傳達相同的意思。兩種寫法中,前半的「context + order」為主要效果;後半的「(context + order | id)」和「(1 +context + order | id)」包含「|」的則是隨機效果。在「|」右邊的是隨機因子(id),而「|」左邊的則是受到隨機因子的影響,為了固定因子所產生、計算的截矩和斜率。 當我們有兩個隨機因子時,我們則必需先考慮這個因子的關係是交叉或套疊,才能撰寫相對應的公式。 當兩個因子彼此是套疊的時候,例如班級因子(class)套疊於學校因子(school),我們將兩者的交互作用另立一個欄位(school_class)去計算,如此我們可以有以下公式,下面兩個公式也是同義的公式: correct ~ context + order + (1 | school/class)correct ~ context + order + (1 | school) + […]

在R進行重覆量數(repeated-measur)ANOVA

我們想知道「語境限制性」(context)和「接觸新詞的次數」(order)是否會影響學習者對於新詞的理解(meanbyid)。我們在R使用以下語法: rmanovaid2<- aov(meanbyid ~  context * order + Error(id/ (context * order)), data = averagebyid) 裡頭的公式「meanbyid ~  context * order + Error(id/ (context * order)」可以分為兩個部分去理解。前半部分「meanbyid ~  context * order」,指的是學習者對於新詞的理解會受到語境限制性和接觸新詞的次數的影響。「*」是「context + order + context:order」的簡化,指的是考慮了語境限制性和接觸次數的主效應(main effect)和語境限制及接觸次數的交互作用(interaction)。後半部分的「Error(id/ (context * order)」,則是我們在可以進行適當的統計檢定不可或缺的要素。 「Error(id/ (context * order)」使得殘差平方和(Residual sum of squares, RSS)的來源,可以分成幾個可預知的部分(error strata)。它是「Error(id + id:context + id:order + id:context:order)」的簡化,指的是我們要將可預知的殘差分為來自「個人因素」、「個人和語境限制性的交互作用」、「個人和接觸次數的交互作用」以及「個人、語境限制性和接觸次數的交互作用」。 summary(rmanovaid2) 將我們一開始使用的語法進行摘要之後,我們得到以下結果: 對於語境限制性的檢定,是基於「個人和語境限制性的交互作用」,顯示在「Error:  […]

在R進行兩比例值的比較

比例值資料是二項類別資料,族群資料之特徵只有兩種觀測值,如資料只有雌與雄、死與活、答對與答對。這些是沒有度量衡的測定單位。把其中一種特徵當成0,另一個特徵當成1,整個資料只有0和1兩種觀測值。這樣的族群稱為二項族群(Bernoulli population)。其平均數為p,而變方則為pq。甲選手在25場比賽中,贏了17場比較;乙選手在20場比賽中,贏了8場比賽。 甲選手和乙選手兩個人贏比賽的機率是否相等?(兩個族群的平均數是否相等?)prop.test(c(17,8),c(25,20),correct=FALSE) 甲選手贏比賽的機率是否等於乙選手贏比賽的機率(0.4)?乙選手贏比賽的機率是否等於甲選手贏比賽的機率(0.68)?某一個族群的平均數是否等於某個特定的值?binom.test(x=17,n=25,p=8/20)binom.test(x=8,n=20,p=17/25) http://stats.stackexchange.com/questions/123609/exact-two-sample-proportions-binomial-test-in-r-and-some-strange-p-valueshttps://stat.ethz.ch/R-manual/R-devel/library/stats/html/binom.test.html