統計分析

Missing data 資料缺失簡介

Missing data (缺失資料;亦有人翻成缺失數據) 是在研究界日益受到重視的問題,要寫grant proposal,很多補助機構都會特別要求在提案時,清楚說明要如何處理missing data。但由於處理missing data 有一定的難度,其中的概念也不太好了解,中文方面的資料也不太多。我就根據我所讀的/所懂的,儘量用淺顯的語言讓大家知道。

在一開始說明missing data之前,要先來談談為什麼要討論missing data。如果你的研究是利用survey,從人群裡取出1000位具有代表性的受試者,調查他們的行為。當你在跑multiple regression的時候,程式會自動用listwise deletion–也就是在你的分析模式裡面,如果該受試者沒有回答,就不列入model裡面,這樣的話,你的分析模式裡面的人,肯定會少於1000入,甚至小於500人。這時候問題就來了:原本1000位的受試者是具有代表性的,當分析時,你的受試者降到500位,你的sample還能代表整個population嗎?

因為這種種問題,所以了解missing data是很重要的。

Model

首先會提到model這個詞。這個詞會用在三個地方:

1.

Missing data 資料缺失簡介 Read More »

Stata: 字串變成小寫

在輸入資料的時候,有時候團隊有不同人輸入,大小寫會不一致。當幾個資料檔想要match起來的時候,就會match不起來。這時候,不妨將資料全部標準化,字串全部變成小寫。

這部分很簡單,一個變數只要一行就可以搞定。如果原本的變數叫name的話,那一行程式就是:

replace name = strlower(name)

這樣就可以解決大小寫不一致的問題了。

Stata: 字串變成小寫 Read More »

計算 Effect Size:p 值顯著了,還要看什麼?

「你的結果 p < .05,但 effect size 呢?」

這是我在回審稿意見時,最常打的一句話。

很多研究生花了大量時間讓 p 值顯著,卻沒想到審稿人還想看一個數字。為什麼?

p 值告訴你「有沒有」,Effect Size 告訴你「有多大」

p 值受樣本數影響極大。樣本夠大,幾乎任何差異都能顯著。

但「顯著」不等於「重要」。一個 0.1 分的差距,樣本大到一定程度,p 也可以 < .001。

Effect size 才是真正告訴你:這個效果,在實際上有多大、有多重要。

最常用的 Effect Size:
Cohen's d 效應值解讀標準
Cohen’s d

適用情境:兩組平均數比較(如實驗組 vs 控制組的後測差異)

公式:

d = (M實驗組 − M控制組) ÷ SD合併

其中 SD合併的算法:

SD合併 = √[(SD實驗組² + SD控制組²) ÷ 2]

📊 舉例:M實驗 = 24,M控制 = 20,SD實驗 = 5,SD控制 = 4

  • SD合併 = √[(25 + 16) ÷ 2] = √20.5 ≈ 4.53
  • d = (24 − 20) ÷ 4.53 ≈ 0.88

怎麼解讀 d 值?

Cohen(1988)提供的參考標準(教育研究中常用):

  • d = 0.2 → 小效果(small)
  • d = 0.5 → 中效果(medium)
  • d = 0.8 → 大效果(large)

⚠️ 這只是參考值,不同領域有不同的基準。教育研究中,d = 0.4 就已經算有實務意義了(Hattie, 2009)。

懶人計算工具

不想手動算?這個線上工具直接幫你算:

🔗 Campbell Collaboration Effect Size Calculator

把平均值和標準差輸進去,直接出 d 值,還支援多種計算方式。

其他類型的 Effect Size

Cohen’s d 只是其中一種。依統計方法不同,有不同的 effect size:

  • r(相關係數):r = 0.1 小,r = 0.3 中,r = 0.5 大
  • η²(eta squared):ANOVA 用,說明組間變異佔總變異的比例
  • ω²(omega squared):比 η² 更保守的版本,大樣本推薦
  • Odds Ratio:邏輯回歸、勝算比分析常用

meta-analysis 中計算 effect size 的方式更複雜,建議參考 Borenstein et al.…

計算 Effect Size:p 值顯著了,還要看什麼? Read More »

Excel: 計算單字出現次數

有時候我貪圖省事,就會拿 Excel 來作 interview 的 coding,其實codes不多的話,拿excel作coding 真的滿快、滿方便的。

通常我會把一句話或短的段落放在一個excel 的 cell,然後直接作 coding,像是abca。

問題就來了:如果我要知道全部有幾個 a、幾個b,該怎麼作呢?

非常簡單,在另外一個cell,用以下的公式:

=LEN(A2)-LEN(SUBSTITUTE(A2,"a",""))

A2 就是要計算的 cell。所以我會把所有的 cells 分別算次數,然後再加總。

這樣作如果熟練的話,其實滿快的。唯一的缺點就是如果你cell裡面句子長的話,你又直接作coding,會沒辦法知道你的codes對應哪一個部分。

Excel: 計算單字出現次數 Read More »

Stata: 加總同性質的資料(Aggregate similar Observations) ~2

以前寫過一篇:Stata: 加總同性質的資料(Aggregate similar Observations),裡面用的方法是collapse,這種情況用於:一個人有多筆資料 (用術語說,就是資料格式是長格式),你想要加總同性質資料,將每個人的資料變成一筆。

這種方法雖好,但如果你想要維持資料是長格式 (一個人有多筆資料),那collapse就不符合你的需求。

假設資料格式如下圖所示。sid代表student id,did代表文件 id,words代表每個文件的字數。

stata-aggregate-1

如果用 collpase 指令:

collapse (mean) words, by(sid)

結果會如下圖所示。原本一個學生有多筆sid,跑完collapse之後,每個學生只剩一筆資料了。

stata-aggregate-2

但這有可能不是你要的,你可能還想維持長格式,那該怎麼辦呢?重新載入資料,我們從頭來過。

如果想知道每個學生平均words,那可以利用egen指令:

bys sid: egen avgwords = mean(words)

結果如下圖所示:

stata-aggregate-3

兩種方法都可以,但結果稍有不同。要選用哪種,就看你要作哪種分析。

Stata: 加總同性質的資料(Aggregate similar Observations) ~2 Read More »

Scroll to Top