Category: 資料分析

試題反應理論(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之間),當能力相同的時候,預期得分越高的項目,難度則越低;反之,難度則越高。或者,難度高的題目,給能力好和能力不好的兩個受試者去測試,能力好的受試者預期得分會高於能力不好的受試者。參考下圖:

在古典測驗理論(Classical Test Theory)中計算信度(reliability)

古典測驗理論(Classical Test Theory)中,存在一些假設:一、Observed Scored = True Score + (Measurement) ErrorX = T + E二、mean(X) = T三、Corr(E,T) = 0四、Corr(E1,E2) = 0五、Corr(E1,T2) = 0如果平行測驗的兩次所觀察到的分數滿足上述五個假設,則兩次的真實分數(True Score)相等,兩次的van(E)相等。van(E)為每一個題項(item)的變異數的總和。從古典測驗理論的假設下,可以延伸出以下:一、mean(E) = 0二、Var(X) = Var(T) + Var(E)三、[Corr(X,T)]squar = Var(T)/Var(X)四、Var(X) = Var(X’)(當兩者為平行測驗時)五、Corr(X,X’) = Var(T)/Var(X)(此用以計算單一測驗的信度) 計算單一測驗的信度,可利用Cronbach’s Alpha:Cronbach’s Alpha = (n/(n-1))*(Var(T)/Var(X))= (n/(n-1))*((Var(X) – Var(E))/Var(X))n/(n-1)用來校正,當n很大時,可忽略不計。 Cronbach’s Alpha作為信度係數,可以用測同一個構念的內部一致性(internal consistency)。若同一個構念中,含有多個子成分,各別子成分計算Cronbach’s Alpha,可討論各個子成分裡頭的內部一致性。然而,將以多個子成分組成的構念,再計算出一個屬於整體構念的Cronbach’s Alpha會很奇怪。[如果可以算一個Cronbach’s Alpha,為啥還要多個子成分的Cronbach’s Alpha?如果多個子成分才能組成一個構念,自然不存在內部一致性。]

使用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) + […]

交叉因子(crossed factor)和套疊因子(nested factor)的差別

當我們只有一個因子的時候,我們不需要去擔心因子間交叉(crossing)或套疊(nesting)的區別。但當我們有兩個以上的因子時,分辨因子間的關係就非常重要,因為這會影響我們對於資料的分析。 當兩個因子交叉的時候,不論是在A因子中的每一個類別,都可以在B因子中每一個類別同時出現。換句話說,每一種來自兩個因子可能的組合都會出現於我們的觀察值中。 倘若一個因子套疊於(nested within)另一個因子之中,若其出現在第一個因子中,則不會出現在其它因子中。同理,觀察值若出現在第二個因子中,則我們知道會有另一個觀察值出現在第一個因子中。所有的組合不會同時出現。 當兩個因子交叉時,就可以計算交互作用;如果彼此套疊,則會因為沒有同時出現的組合,而無法進行如此動作。 將兩個因子以列聯表(cross tabulation)呈現時,就可以知道彼此的關係是交叉或套疊了。 參考文章

在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:  […]

我讀陳春敏、陳振宇的《實驗研究法》:實驗設計的基本術語

依變項(變量)、自變項(因子)水準、實驗情境(處理)隨機選取(選機抽樣)、隨機分派受試者間、受試者內獨立樣本、相依樣本固定效果、隨機效果變異來源 陳春敏.; and 陳振宇. 2015. 實驗研究法. 社會及行為科學研究法, ed. by 瞿海源. 1版. 臺北市: 臺灣東華.

我讀《How Science Takes Stock: The Story of Meta-Analysis》:如果只看p值的話…

當p值小於.05的時候,進行假設檢定的人就可以推論實驗組和對照組有差異的機會在20次當中,只會有不到1次。而當我們真得遇見這樣的可能性時,我們就可以大膽地說實驗組和對照組確實存在差異。但是僅僅透過點估計(point estimate),很可能因為抽樣誤差而對於實際的情況有誇張或不足的推論。只看統計顯著性的p值,是無法告訴我們差距大小。信賴區間(confidence interval)是p值無法告訴我們的。越小的樣本,信賴區間會越大、越寬;相對的,大樣本,的信賴區間小,研究者就更有信心地說樣本的推論接近母體。 當實驗組和對照組的操弄或處理的效果是非常小的時候,要說明兩個組別確實存在差異時,可能就不夠力(powerful)。假設實驗處理只有很小、很小的效果,當樣本數也非常小的時候,它的信賴區間便會擴大,於是可能存在的效果就會被遺忘在較大的信賴區間裡了。 即使樣本夠大,它可以說明母體具有統計上的顯著的差異,但是只靠p值仍無法知道這樣的效果究竟多大,也許這樣的效果根本不值得我們去追求。 只看p值就會遇到以上的問題,它有點像一人一票(vote-counting),只看最後的結果。如果我們想知道實驗組和對照組的差異多大時,這是p值無法提供的。 Hunt, M. (1999). How Science Takes Stock: The Story of Meta-Analysis (Revised ed. edition). New York: Russell Sage Foundation.