正式開始前,請確保你已經完全清晰地理解了假設檢驗、Z分數、Z檢驗和置信區間的基本概念,若還有疑慮,這篇文章也許能幫到你,當然直接開始其實也沒問題。
統計學(三):置信區間; Z 檢驗(樣本平均數的假設檢驗), 均值分佈, 附Python實現(大牌護膚品碧歐泉背後的祕密)
Python 逐步實現Z檢驗
這裏直接貼上讀者 Jupyter Notebook 中的運行步驟流程,內涵精彩的可視化。
具體是怎麼一步到位實現快捷且含有不少細節的可視化的,可見文末的延伸閱讀
自定義 Z 檢驗函數
自定義置信區間函數
源代碼呈現
可以直接放進自己寫的庫 mystatistic:我的專屬統計學庫,函數中的一些變量設置可能會過於冗長,這裏只是方便闡述思路,可根據實際情況改裝.
# 基礎庫
import numpy as np
import pandas as pd
# 提高輸出效率庫
from IPython.core.interactiveshell import InteractiveShell # 實現 notebook 的多行輸出
InteractiveShell.ast_node_interactivity = 'all' #默認爲'last'
def z_test(sample, totality, alpha=0.05, size='double'):
""" 傳入樣本,總體,顯著性水平,默認爲雙側檢驗 """
N = len(sample) # N
sample_mean = np.mean(sample) # M
totality_mean = np.mean(totality) # mu_M
totality_std = np.std(totality) # sigma
sigma_m = totality_std / N**0.5 # sigma_M
z_score = (sample_mean - totality_mean) / sigma_m
return {'樣本數 N': N, '樣本均值 M': sample_mean,
'總體均值μ_m': totality_mean,
'總體標準差 σ': totality_std,
'均值分佈的標準差 σ_m': sigma_m,
'Z 分數': z_score,
'上臨界值': +1.96, '下臨界值': -1.96}
if size == 'hemi': # 單側檢驗
pass # 以後再自定義,先用着雙側的先
def confidence_interval(sample, totality, alpha=0.05):
""" 傳入樣本,總體,顯著性水平,默認爲雙側檢驗 """
N = len(sample) # N
sample_mean = np.mean(sample) # M
totality_mean = np.mean(totality) # mu_M
totality_std = np.std(totality) # sigma
sigma_m = totality_std / N**0.5 # sigma_M
# lb:lower bound;up:upper bound
LB = sample_mean - 1.96*sigma_m
UP = sample_mean + 1.96*sigma_m
return {'樣本數 N': N, '樣本均值 M': sample_mean,
'總體均值μ_m': totality_mean,
'總體標準差 σ': totality_std,
'均值分佈的標準差 σ_m': sigma_m,
'alpha_level': 0.05,
'置信上限': LB, '置信下限': UP}
延伸閱讀 & 精彩回顧
延伸閱讀
-
Python 數據可視化:seaborn displot 正態分佈曲線擬合圖代碼註釋超詳解(放入自寫庫,一行代碼搞定複雜細節繪圖)
-
Python 數據可視化:treemap 樹形圖 餅圖升級版超詳解,體現佔比的同時顯示出數量(放入自寫庫,一行代碼搞定複雜細節繪圖)
精彩回顧
-
統計學(三):置信區間; Z 檢驗(樣本平均數的假設檢驗), 均值分佈, 附Python實現(大牌護膚品碧歐泉背後的祕密)
-
Excel 還在重複輸入相同的數據?不用那麼麻煩(避免重複輸入,批量填充 – 非手動輸入與複製粘貼的快捷精準輸入的方法)
數據分析,商業實踐,數據可視化,網絡爬蟲,統計學,Excel,Word, 社會心理學,認知心理學,行爲科學,民族意志學 各種專欄後續瘋狂補充
歡迎評論與私信交流!