溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

卡方的原理及python代碼實現

發布時間:2021-09-01 12:39:26 來源:億速云 閱讀:305 作者:chen 欄目:大數據

卡方的原理及Python代碼實現

1. 引言

卡方檢驗(Chi-Square Test)是一種常用的統計方法,主要用于檢驗分類變量之間的獨立性或擬合優度??ǚ綑z驗廣泛應用于醫學、社會科學、市場研究等領域,用于分析兩個或多個分類變量之間的關系。本文將詳細介紹卡方檢驗的原理,并通過Python代碼實現卡方檢驗。

2. 卡方檢驗的基本概念

2.1 卡方統計量

卡方統計量(Chi-Square Statistic)是卡方檢驗的核心指標,用于衡量觀察值與期望值之間的差異??ǚ浇y計量的計算公式如下:

[ \chi^2 = \sum \frac{(O_i - E_i)^2}{E_i} ]

其中,(O_i) 表示觀察值,(E_i) 表示期望值??ǚ浇y計量越大,觀察值與期望值之間的差異越顯著。

2.2 卡方分布

卡方分布(Chi-Square Distribution)是卡方統計量的概率分布??ǚ椒植嫉男螤钊Q于自由度(Degrees of Freedom, df)。自由度越大,卡方分布越接近正態分布??ǚ椒植纪ǔS糜谟嬎憧ǚ浇y計量的p值,從而判斷觀察值與期望值之間的差異是否顯著。

2.3 卡方檢驗的類型

卡方檢驗主要有兩種類型:

  1. 卡方獨立性檢驗(Chi-Square Test of Independence):用于檢驗兩個分類變量是否獨立。
  2. 卡方擬合優度檢驗(Chi-Square Goodness-of-Fit Test):用于檢驗觀察值的分布是否符合預期的理論分布。

3. 卡方獨立性檢驗

3.1 檢驗步驟

卡方獨立性檢驗的步驟如下:

  1. 建立假設

    • 原假設((H_0)):兩個分類變量獨立。
    • 備擇假設((H_1)):兩個分類變量不獨立。
  2. 構建列聯表:將兩個分類變量的觀察值整理成列聯表(Contingency Table)。

  3. 計算期望值:在假設兩個變量獨立的情況下,計算每個單元格的期望值。

  4. 計算卡方統計量:根據觀察值和期望值計算卡方統計量。

  5. 確定顯著性水平和臨界值:根據自由度和顯著性水平查找卡方分布的臨界值。

  6. 做出決策:如果卡方統計量大于臨界值,拒絕原假設;否則,接受原假設。

3.2 Python代碼實現

下面通過一個例子演示如何使用Python進行卡方獨立性檢驗。

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

# 示例數據:性別與購買意愿的列聯表
data = np.array([[50, 30], [40, 60]])

# 進行卡方獨立性檢驗
chi2_stat, p_val, dof, expected = chi2_contingency(data)

print(f"卡方統計量: {chi2_stat}")
print(f"P值: {p_val}")
print(f"自由度: {dof}")
print("期望值表:")
print(expected)

3.3 結果解釋

  • 卡方統計量:衡量觀察值與期望值之間的差異。
  • P值:如果P值小于顯著性水平(通常為0.05),則拒絕原假設,認為兩個變量不獨立。
  • 自由度:自由度的計算公式為 ((行數-1) \times (列數-1))。
  • 期望值表:在假設兩個變量獨立的情況下,每個單元格的期望值。

4. 卡方擬合優度檢驗

4.1 檢驗步驟

卡方擬合優度檢驗的步驟如下:

  1. 建立假設

    • 原假設((H_0)):觀察值的分布符合預期的理論分布。
    • 備擇假設((H_1)):觀察值的分布不符合預期的理論分布。
  2. 計算期望值:根據理論分布計算每個類別的期望值。

  3. 計算卡方統計量:根據觀察值和期望值計算卡方統計量。

  4. 確定顯著性水平和臨界值:根據自由度和顯著性水平查找卡方分布的臨界值。

  5. 做出決策:如果卡方統計量大于臨界值,拒絕原假設;否則,接受原假設。

4.2 Python代碼實現

下面通過一個例子演示如何使用Python進行卡方擬合優度檢驗。

from scipy.stats import chisquare

# 示例數據:觀察值與期望值
observed = np.array([50, 30, 20])
expected = np.array([40, 40, 20])

# 進行卡方擬合優度檢驗
chi2_stat, p_val = chisquare(observed, f_exp=expected)

print(f"卡方統計量: {chi2_stat}")
print(f"P值: {p_val}")

4.3 結果解釋

  • 卡方統計量:衡量觀察值與期望值之間的差異。
  • P值:如果P值小于顯著性水平(通常為0.05),則拒絕原假設,認為觀察值的分布不符合預期的理論分布。

5. 卡方檢驗的注意事項

  1. 樣本量:卡方檢驗對樣本量較為敏感,樣本量過小可能導致檢驗結果不準確。通常要求每個單元格的期望值大于5。

  2. 數據類型:卡方檢驗適用于分類數據,不適用于連續數據。

  3. 獨立性假設:卡方獨立性檢驗假設樣本之間是獨立的,如果樣本之間存在依賴關系,檢驗結果可能不準確。

  4. 多重比較:在進行多個卡方檢驗時,需要注意多重比較問題,避免假陽性結果的增加。

6. 總結

卡方檢驗是一種強大的統計工具,適用于分析分類變量之間的關系。通過本文的介紹,讀者可以了解卡方檢驗的基本原理,并掌握如何使用Python進行卡方獨立性檢驗和擬合優度檢驗。在實際應用中,需要注意卡方檢驗的適用條件和限制,以確保檢驗結果的準確性。

7. 參考文獻

  1. Agresti, A. (2013). Categorical Data Analysis. Wiley.
  2. Pearson, K. (1900). On the criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can be reasonably supposed to have arisen from random sampling. Philosophical Magazine, 50(302), 157-175.
  3. Scipy Documentation: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chi2_contingency.html
  4. Scipy Documentation: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chisquare.html

通過本文的學習,讀者應能夠理解卡方檢驗的基本原理,并能夠使用Python進行卡方檢驗的實際操作。希望本文對讀者在數據分析和統計建模中的工作有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女