Learning Objectives
- 依「問題、資料、方法、結果、限制、結論」的順序組織一份分析報告
- 把結果寫成讀者能判斷的數字:人數、平均與標準差、信賴區間、效果量,以及正確格式的 p 值
- 畫出有標題、座標軸、單位、樣本數與誤差線說明的圖
- 用恰當的措辭寫結論:不把相關寫成因果、不把不顯著寫成沒有差異、不超出資料能支持的範圍
分析做完,還要讓別人看得懂、信得過
分析的最後一步是溝通:讀報告的人(老師、主管、同組同學)多半不會看你的程式,他們只看文字、數字和圖。 一份好的分析報告讓讀者能回答三個問題:你問了什麼、你怎麼得到這個結果、這個結果有多確定。
常見的結構:
| 段落 | 寫什麼 |
|---|---|
| 問題 | 一句話說清楚要回答的問題 |
| 資料 | 資料從哪裡來、幾個人或幾筆、觀察單位、怎麼清理、排除了誰 |
| 方法 | 用了哪些統計方法、檢定的選項(例如是否假設變異數相等) |
| 結果 | 數字、表、圖;先寫描述統計,再寫檢定與效果量 |
| 限制 | 這份資料與方法做不到什麼 |
| 結論 | 回答問題,措辭和證據的強度相符 |
這一課用 teaching_trial.csv:設定上是把 180 位同學隨機分到 A、B、C 三種教學方法(各 60 人),比較前測到後測的進步分數。
這是程式產生的模擬資料,不是任何學校的真實資料。
數字怎麼寫
- 一定寫人數:每一組有幾人、總共幾人、排除了幾人。
- 平均要配變異:只寫平均,讀者不知道組內有多分散。寫「平均 8.7 分(標準差 8.3)」或附上 95% 信賴區間。
- 檢定要配效果量與信賴區間:p 值只回答「假設虛無假設為真時,這麼極端的結果有多罕見」,不回答差異有多大。 寫出差距、它的 95% 信賴區間與效果量(例如 Cohen's d),讀者才能判斷差異重不重要。
- p 值的格式:寫出實際的值(p = 0.037),很小時寫 p < .001;不要只寫「p < 0.05」或「顯著」。
- 小數位數一致、合理:平均與標準差通常 1~2 位,p 值 2~3 位;不要把電腦印出的 15 位小數抄進報告。
- 單位:分、小時、度、千瓦小時,表頭與圖的座標軸都要寫。
數字最好直接由程式產生,例如用 f-string 組成句子:改了資料或清理步驟,重跑一次,報告裡的數字就跟著更新,不會抄錯。
逐步看:各組的人數、平均、標準差與信賴區間
報告裡的第一張表通常是描述統計。注意右邊 table 每一步多了哪一欄。
逐步看:檢定、效果量,以及用 f-string 寫出報告句子
fmt_p 把 p 值寫成報告用的格式。最後兩行印出的就是可以直接放進報告的句子。
報告用的圖
報告裡的每一張圖都要能單獨看懂:
- 標題說明圖在比較什麼;用模擬資料要寫出來。
- 座標軸寫名稱與單位(「進步分數(分)」而不是「gain」)。
- 樣本數放在類別標籤或註解裡。
- 誤差線要說明代表什麼:標準差、標準誤和 95% 信賴區間的長度差很多,不說明讀者無從判斷。
- 長條圖的 y 軸從 0 開始(第 14 課);顏色只用來區分,不要每一條都換一種顏色。
逐步看:有標題、單位、樣本數與誤差線的長條圖
最後一步畫出圖。對照上一個表:誤差線就是那三組的 95% 信賴區間。
結論的措辭與限制
結論的用字要和證據的強度相符:
| 情況 | 不恰當 | 比較恰當 |
|---|---|---|
| 觀察資料的關聯 | 「使用 AI 能提升成績」 | 「常用 AI 的同學平均進步較多;使用頻率不是隨機分派的,差異可能來自其他因素」 |
| 隨機分派的試驗 | 「B 方法證明最有效」 | 「在這個試驗中,B 方法的平均進步比 A 多 3.7 分(95% 信賴區間 0.7~6.7)」 |
| 沒有顯著 | 「兩者沒有差異」 | 「這份資料看不出明確的差異;信賴區間仍包含不小的差距」 |
| 推論範圍 | 「全國的大學都應該採用」 | 「結果來自一所學校、一個學期,推廣到其他情境需要再驗證」 |
限制段落不是自我否定,而是幫讀者判斷結論能用到哪裡:樣本從哪裡來、量測的是什麼、有哪些沒有控制的因素、做了幾個檢定。
用上面三個範例的數字,一段簡短的結果可以這樣寫:
180 位同學隨機分到三種教學方法(各 60 人)。進步分數的平均:A 方法 5.0 分(標準差 8.3)、B 方法 8.7 分(8.3)、C 方法 7.7 分(7.8)。 單因子 ANOVA:F(2, 177) = 3.36,p = 0.037。B 方法比 A 方法平均多進步 3.7 分(95% 信賴區間 0.7~6.7;t(118) = 2.46,p = 0.015;Cohen's d = 0.45)。 限制:資料為模擬的單一學期資料,進步分數只反映這份測驗。
實作:依 AI 使用頻率的描述統計表
仿照第一個範例,讀入 teaching_trial.csv,新增進步分數 gain(post − pre),
改成依 AI 使用頻率(ai_use)分組,算出 count、mean、std,再加上 95% 信賴區間的 ci_low、ci_high 兩欄,
四捨五入到小數 2 位印出。
寫完想一想:這張表可以寫成「使用 AI 讓學生進步比較多」嗎?
小測驗:報告的寫法
下面程式會印出什麼?
def fmt_p(p):
return "p < .001" if p < 0.001 else f"p = {p:.3f}"
print(fmt_p(0.0004), fmt_p(0.04567))
報告寫「B 方法平均進步 8.7 分,95% 信賴區間 6.6~10.8」。下列哪一個解讀正確?
一張長條圖畫了三組的平均與誤差線,但沒有說明誤差線代表什麼。為什麼這是問題?
下列哪一句結論的措辭最恰當?(資料是同學自己回報的 AI 使用頻率與成績)
重點整理
- 報告的結構:問題、資料、方法、結果、限制、結論;讀者要能知道你問了什麼、怎麼做、結果多確定。
- 數字:寫人數;平均配標準差或信賴區間;檢定配效果量與差距的信賴區間;p 值寫實際的值,很小時寫 p < .001。
- 用 f-string 由程式產生報告的句子,改了資料重跑就會更新。
- 圖:標題、座標軸名稱與單位、樣本數、誤差線代表什麼。
- 結論:觀察資料不寫因果;不顯著不等於沒有差異;不超出資料的範圍;限制要寫。
- 最後一課是專題:用宿舍用電與天氣資料,從清理、合併、時間序列、相關與迴歸,一路做到一份短報告。