iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0
自我挑戰組

用數據守護雙眼:生活型態對視力影響的探索性資料分析系列 第 17 篇

校園 vs. 職場的統計決鬥!身分組群的假設檢定與卡方獨立性檢定

  • 分享至 

  • xImage
  •  

深入 Day 12 觀察到的「學生 vs. 職場人士」族群差異,使用SciPy進行雙軌假設檢定——針對連續指標(螢幕時數、睡眠時數、CESI 綜合疲勞指數)執行獨立樣本 $t$ 檢定與 Mann-Whitney U 檢定;針對類別特徵「疲勞風險等級(Digital_Eye_Strain_Risk)」執行卡方獨立性檢定,驗證職場高風險佔比突破三成是否具備統計顯著性。

一、實作前情境:職場人士的高風險比例(31.6% vs. 27.4%)真的顯著嗎?
在 Day 12 的分組探索中,我們發現了幾項引人注目的現象:

  • 職場人士在每日螢幕時數上略高(8.22h vs. 8.01h),且在 10~12 小時重度暴露區間有更寬廣的密度平台。 * 職場人士在「高度疲勞風險(High Risk)」的佔比達到 31.6%,比學生族群(27.4%)高出 4.2 個百分點。

然而,如同 Day 16 的分析原則:差4.2個百分點不能單憑肉眼定案。

  • 在連續變數上:學生與上班族在總暴露與作息上是否有本質差異?
  • 在類別變數上:身分角色與用眼疲勞風險分級(Digital_Eye_Strain_Risk)之間是否存在統計上的關聯性?還是兩者純粹相互獨立?

今天我們將推論統計工具擴充至卡方檢定,一次排查連續與類別兩大維度的族群顯著性。

二、撰寫雙軌統計假設檢定腳本
在 Colab 中新增儲存格,建立連續變數檢定迴圈與卡方列聯表檢驗:

# ==========================================
# Day 17:學生 vs 職場人士之連續與類別統計檢定
# ==========================================

import warnings
warnings.filterwarnings('ignore')

import pandas as pd
import numpy as np
from scipy import stats

# 1. 連續型特徵假設檢定 (Student vs. Professional)
group_stu = df[df['Role'] == 'Student']
group_pro = df[df['Role'] == 'Professional']

cont_targets = ['Daily_Screen_Hours', 'Sleep_Hours', 'CESI_Score']
cont_names = ['每日螢幕時數', '每日睡眠時數', 'CESI綜合指數']

cont_results = []

for col, name in zip(cont_targets, cont_names):
    data_stu = group_stu[col]
    data_pro = group_pro[col]
    
    # 常態性檢定 (Shapiro-Wilk)
    _, p_norm_stu = stats.shapiro(data_stu)
    _, p_norm_pro = stats.shapiro(data_pro)
    is_normal = (p_norm_stu > 0.05) and (p_norm_pro > 0.05)
    
    # 變異數同質性檢定 (Levene)
    _, p_levene = stats.levene(data_stu, data_pro)
    equal_var = p_levene > 0.05
    
    # 獨立樣本 t 檢定
    t_stat, p_ttest = stats.ttest_ind(data_stu, data_pro, equal_var=equal_var)
    
    # Mann-Whitney U 檢定
    u_stat, p_utest = stats.mannwhitneyu(data_stu, data_pro, alternative='two-sided')
    
    cont_results.append({
        '指標項目': name,
        '學生(均值)': round(data_stu.mean(), 2),
        '職場人士(均值)': round(data_pro.mean(), 2),
        '差值(Pro-Stu)': round(data_pro.mean() - data_stu.mean(), 2),
        '常態性': '符合' if is_normal else '偏離常態',
        't檢定 p值': round(p_ttest, 4),
        'Mann-Whitney p值': round(p_utest, 4),
        '顯著性(α=0.05)': '顯著差異' if (p_ttest if is_normal else p_utest) < 0.05 else '無顯著差異'
    })

print("=== 1. 連續變數之雙樣本檢定報告 ===")
display(pd.DataFrame(cont_results))

# 2. 類別特徵卡方獨立性檢定 (Role vs. Digital_Eye_Strain_Risk)
contingency_table = pd.crosstab(df['Role'], df['Digital_Eye_Strain_Risk'])
chi2, p_chi2, dof, expected = stats.chi2_contingency(contingency_table)

print("\n=== 2. 疲勞風險分級觀察頻數列聯表 (Observed) ===")
display(contingency_table)

print("\n=== 3. 卡方獨立性檢定結果 ===")
chi2_summary = pd.DataFrame([{
    '卡方統計量 (Chi2)': round(chi2, 4),
    '自由度 (df)': dof,
    'p 值': round(p_chi2, 4),
    '顯著性判定 (α=0.05)': '兩者具有顯著相關' if p_chi2 < 0.05 else '兩者獨立 (無顯著關聯)'
}])
display(chi2_summary)

https://ithelp.ithome.com.tw/upload/images/20261001/20178794mH1xyummAJ.png

三、圖表解讀與統計檢定結論
本實作整合了雙樣本檢定與卡方獨立性檢定,針對「學生 vs. 職場人士」展開全維度驗證,得出以下客觀結論:

  1. 連續型生活與綜合指標:作息差距純屬隨機抽樣波動
    a.每日螢幕時數(Daily_Screen_Hours):
  • 學生平均 8.01 小時,職場人士平均 8.22 小時(職場微幅高出 0.21 小時,約 12 分鐘)。
  • Shapiro-Wilk 檢定顯示兩組資料偏離常態,故以無母數檢定為主。
  • t檢定 p = 0.4982;Mann-Whitney U 檢定 p = 0.4944。
  • 因 p 遠大於 0.05,未達顯著水準,證實這 12 分鐘的微弱差距不具備統計學意義,職場人士與學生在每日總螢幕暴露量上基本處於同一水平線。

b.每日睡眠時數(Sleep_Hours):

  • 學生平均 6.40 小時,職場人士平均 6.45 小時(差距僅 0.05 小時,約 3 分鐘)。
  • t檢定p = 0.6830;Mann-Whitney U 檢定p = 0.6598。
  • p值遠大於 0.05,顯示睡眠不足是現代數位生活族群的普遍共態,並無顯著的身分階層偏向。

c.CESI 綜合疲勞指數(CESI_Score):
學生平均 40.55 分,職場人士平均 42.03 分(差值 +1.47 分)。
經 Shapiro-Wilk 檢定,綜合指數符合常態分佈。
獨立樣本 t 檢定 p = 0.2628;Mann-Whitney U 檢定 p = 0.3071。
即使融合了暴露比、自覺症狀與急性警訊,兩大族群的綜合用眼疲勞負擔依然無統計顯著差異。

  1. 疲勞風險分級卡方獨立性檢定:破除職場高風險的表象迷思
    a.觀察頻數列聯表(Observed Counts):
    職場人士(共 234 人):高風險 74 人、低風險 53 人、中風險 107 人。
    學生(共 266 人):高風險 73 人、低風險 65 人、中風險 128 人。

b.卡方檢定統計量:
卡方值 X^2 = 1.0601。
自由度 df=2。
p 值 = 0.5886。

c.統計推論與實質意涵:
檢定結果明確顯示 p = 0.5886 遠大於 0.05,無法拒絕虛無假設,判定「身分角色」與「疲勞風險分級(Digital_Eye_Strain_Risk)」兩者相互獨立!
雖然在 Day 12 的描述統計中,職場人士高風險比例看似比學生高出 4.2%(31.6% vs. 27.4%),但卡方檢定證實該差異在統計上完全不顯著,純屬隨機抽樣過程中的自然波動。


上一篇
告別看圖說故事!統計假設檢定:抗藍光濾鏡真有顯著差異嗎?
下一篇
機器學習前哨戰!特徵編碼、標準化與分層資料切分
系列文
用數據守護雙眼:生活型態對視力影響的探索性資料分析 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言