測量資料的變異度 (Measures of Variability and Dispersion)


套路 3: 測量資料的變異度 (Measures of Variability and Dispersion)

什麼是資料的變異度與分散程度? 說白了就是變異數 (variance)、標準差 (standard variation)、標準誤差 (standard error)或變異係數 (coefficient of variation)
範圍(range)公式
如何使用Python計算範圍?
方法: 將上述計算公式寫成Python 程式
第一步: 資料 numStudent = [58,57,54,59,53,56,58,59,60]  #生物統計學歷年班級學生數
第二步: 程式
nRange = max(numStudent) - min(numStudent)
nRange
# 結果: 7

變異數(variance) 公式
Population variance: 其中μ母體(population)的算數平均數Xii個樣本N母體的樣本數
Sample variance: 其中X橫槓樣本(sample)的算數平均數Xii個樣本n抽樣的樣本數

如何使用Python計算變異數?
方法一: 將上述計算公式寫成Python 程式
第一步: 資料 numStudent = [58,57,54,59,53,56,58,59,60]  #生物統計學歷年班級學生數
第二步: 程式
n = len(numStudent)
t1 = 0
for i in range(n):
   t1 = t1 + numStudent [i]
m = t1 / n
t2 = 0
for i in range(n):
   t2 = t2 + (numStudent [i] - m)**2
v = t2 / (n-1)
v
# 結果: 5.611111111111112

方法二: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
import statistics
statistics.variance(numStudent)
# 結果: 5.611111111111111

方法三: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
from statistics import variance
variance(numStudent)
# 結果: 5.611111111111111

標準差 (standard variation) 公式
Population STD:其中Xii個樣本N母體的樣本數
Sample STD: 其中Xii個樣本n抽樣的樣本數

如何使用Python計算標準差?
方法一: 將上述計算公式寫成Python 程式
第一步: 資料 numStudent = [58,57,54,59,53,56,58,59,60]  #生物統計學歷年班級學生數
第二步: 程式
n = len(numStudent)
t1 = 0
for i in range(n):
   t1 = t1 + numStudent[i]
m = t1 / n
t2 = 0
for i in range(n):
   t2 = t2 + (numStudent[i] - m)**2
std = (t2 / (n-1))**(1/2)
std
# 結果: 2.3687784005919825

方法二: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
import statistics
statistics.stdev(numStudent)
# 結果: 2.3687784005919825

方法三: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
from statistics import stdev
stdev(numStudent)
# 結果: 2.3687784005919825

標準誤差 (standard error) 公式
Population standard error of mean: 其中s母體標準差 (population standard deviation)n樣本數
Sample standard error of mean: 其中s樣本標準差 (sample standard deviation)n樣本數

如何使用Python計算標準誤差?
方法一: 將上述計算公式寫成Python 程式
第一步: 資料 numStudent = [58,57,54,59,53,56,58,59,60]  #生物統計學歷年班級學生數
第二步: 程式
n = len(numStudent)
t1 = 0
for i in range(n):
   t1 = t1 + numStudent[i]
m = t1 / n
t2 = 0
for i in range(n):
   t2 = t2 + (numStudent[i] - m)**2
se = (t2 / (n * (n-1)))**(1/2)
se
# 結果: 0.7895928001973276

方法二: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
import statistics
std = statistics.stdev(numStudent)
n = len(numStudent)
se = std / (n**(1/2))
se
# 結果: 0.7895928001973275

方法三: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
from statistics import stdev
std = stdev(numStudent)
n = len(numStudent)
se = std / (n**(1/2))
se
# 結果: 0.7895928001973275

變異係數 (coefficient of variation) 公式
Population CV: 其中μ母體(population)的算數平均數s母體標準差 (population standard deviation)
Sample CV: 其中X橫槓樣本(sample)的算數平均數s樣本標準差 (sample standard deviation)

如何使用Python計算變異係數?
方法一: 將上述計算公式寫成Python 程式
第一步: 資料 numStudent = [58,57,54,59,53,56,58,59,60]  #生物統計學歷年班級學生數
第二步: 程式
n = len(numStudent)
t1 = 0
for i in range(n):
   t1 = t1 + numStudent[i]
m = t1 / n
t2 = 0
for i in range(n):
   t2 = t2 + (numStudent[i] - m)**2
std = (t2 / (n-1))**(1/2)
cv = std * 100 / m
cv
# 結果: 4.147666460180514

方法二: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
import statistics
cv = statistics.stdev(numStudent) * 100 / statistics.mean(numStudent)
cv
# 結果: 4.147666460180514

方法三: 使用Python 函數(function)
numStudent = [58,57,54,59,53,56,58,59,60]
import scipy.stats
scipy.stats.variation(numStudent)
# 結果: 0.0391045744012486


留言

這個網誌中的熱門文章

三因子變異數分析 (Three-Way ANOVA)

比較多組不同變異數獨立樣本平均值檢定 (Welch's Test for Analysis of Variance,parametric)

雙因子變異數分析 (Two-Way ANOVA)