卡方检验(Chi-square test/Chi-Square Goodness-of-Fit Test)

本文深入解析卡方检验,一种广泛应用于计数资料假设检验的方法。介绍其基本原理、计算过程及样本量要求,探讨卡方检验在分类资料统计推断中的应用,包括率或构成比的比较及分类资料的相关分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:https://blog.youkuaiyun.com/qunxingvip/article/details/50447864

什么是卡方检验

卡方检验是一种用途很广的计数资料的假设检验方法。它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析。其根本思想就是在于比较理论频数和实际频数的吻合程度或拟合优度问题。

它在分类资料统计推断中的应用,包括:两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。

卡方检验的基本原理

卡方检验的基本思想

卡方检验是以χ2χ2是:观察频数与期望频数没有差别。

  该检验的基本思想是:首先假设H0H0值很小,说明观察值与理论值偏离程度太大,应当拒绝无效假设,表示比较资料之间有显著差异;否则就不能拒绝无效假设,尚不能认为样本所代表的实际情况和理论假设有差别。

卡方值的计算与意义

 χ2χ2值表示观察值与理论值之问的偏离程度。计算这种偏离程度的基本思路如下。

  (1)设AA之差称为残差。

  (2)显然,残差可以表示某一个类别观察值和理论值的偏离程度,但如果将残差简单相加以表示各类别观察频数与期望频数的差别,则有一定的不足之处。因为残差有正有负,相加后会彼此抵消,总和仍然为0,为此可以将残差平方后求和。

  (3)另一方面,残差大小是一个相对的概念,相对于期望频数为10时,期望频数为20的残差非常大,但相对于期望频数为1 000时20的残差就很小了。考虑到这一点,人们又将残差平方除以期望频数再求和,以估计观察频数与期望频数的差别。

  进行上述操作之后,就得到了常用的χ2χ2(计算Ei时用到的参数个数)个自由度的卡方分布。

  作为学术界的领袖,PearsonPearson论文题目为: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.

  由卡方的计算公式可知,当观察频数与期望频数完全一致时,χ2χ2值来确定。

卡方检验的样本量要求

  卡方分布本身是连续型分布,但是在分类资料的统计分析中,显然频数只能以整数形式出现,因此计算出的统计量是非连续的。只有当样本量比较充足时,才可以忽略两者问的差异,否则将可能导致较大的偏差具体而言,一般认为对于卡方检验中的每一个单元格,要求其最小期望频数均大于1,且至少有4/5的单元格期望频数大于5,此时使用卡方分布计算出的概率值才是准确的。如果数据不符合要求,可以采用确切概率法进行概率的计算。

资料来源:智库百科

卡方分布

定义:

nn,均服从标准正态分布(也称独立同分布于标准正态分布),则这n个服从标准正态分布的随机变量的平方和这里写图片描述 构成一新的随机变量,其分布规律称为卡方分布(chi-square distribution),其中参数n称为自由度,正如正态分布中均值或方差不同就是另一个正态分布一样,自由度不同就是另一个 分布。记为这里写图片描述或者这里写图片描述 .

概率密度函数

这里写图片描述

其中, 这里写图片描述 是伽玛函数。
伽玛函数百度百科
期望和方差:
分布的均值为自由度nn越来越大)。
3)不同的自由度决定不同的卡方分布,自由度越小,分布越偏斜。

资料来源:百度百科

在 MATLAB 中,可以使用 `chi2gof` 函数进行卡方拟合优度检验(Chi-Square Goodness-of-Fit Test),也可以使用 `crosstab` 或 `chi2cont` 函数进行卡方独立性检验(Chi-Square Test of Independence)。 以下是几种常见的卡方检验的使用方法和示例代码: --- ### 1. 卡方拟合优度检验(Chi-Square Goodness-of-Fit Test) **场景**:你有一组观测频数,想检验它们是否符合某个理论分布。 ```matlab % 观测频数 observed = [20, 30, 25, 25]; % 理论分布的概率(例如:假设为均匀分布) expectedProb = [0.25, 0.25, 0.25, 0.25]; % 进行卡方拟合优度检验 [h, p, stats] = chi2gof(1:length(observed), 'Frequency', observed, 'Expected', expectedProb); % 输出结果 disp(['检验结果:', num2str(h)]); disp(['p值:', num2str(p)]); disp(stats); ``` **解释**: - `chi2gof` 是用于拟合优度检验的函数。 - `'Frequency'` 指定观测频数。 - `'Expected'` 指定期望的概率分布。 - `h` 是假设检验的结果(0 表示不拒绝原假设,1 表示拒绝)。 - `p` 是 p 值,用于判断显著性。 --- ### 2. 卡方独立性检验(Chi-Square Test of Independence) **场景**:检验两个分类变量是否独立。 ```matlab % 构造列联表(Contingency Table) contingencyTable = [20 30 25; 15 25 30]; % 使用 chi2cont 函数进行卡方独立性检验(chi2cont 需要统计工具箱) [h, p, chi2stat, df, expected] = chi2cont(contingencyTable); % 输出结果 disp(['检验结果:', num2str(h)]); disp(['p值:', num2str(p)]); disp(['期望频数矩阵:']); disp(expected); ``` **解释**: - `chi2cont` 用于检验两个分类变量是否独立。 - `contingencyTable` 是一个列联表。 - `expected` 是期望频数矩阵。 - `h` 和 `p` 含义同上。 > 注意:如果 `chi2cont` 不可用,你可以使用 `crosstab` 函数来替代。 --- ### 3. 使用 `crosstab` 进行列联表和卡方检验 ```matlab % 两个分类变量 x = [1, 2, 1, 2, 1, 2, 1, 2]'; y = [1, 1, 2, 2, 1, 1, 2, 2]'; % 创建列联表并进行卡方检验 [tbl, chi2pval] = crosstab(x, y); % 输出结果 disp('列联表:'); disp(tbl); disp(['p值:', num2str(chi2pval)]); ``` **解释**: - `crosstab` 可以同时生成列联表并进行卡方独立性检验。 - 输入是两个分类变量 `x` 和 `y`。 - `tbl` 是列联表,`chi2pval` 是 p 值。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值