分类变量的相关性分析(独立性检验)

分类变量的相关性分析(独立性检验)

分类变量的相关性分析

在这里插入图片描述

分类变量的相关性分析常用方法

常见方法有卡方检验Fisher's 精确检验

卡方检验

代码示例:

import pandas as pd
from scipy.stats import chi2_contingency

# 读取数据
data = pd.read_excel('表单1_编码后.xlsx')

# 选择要分析的分类变量
var1 = '类型'
var2 = '纹饰'

# 创建列联表
contingency_table = pd.crosstab(data[var1], data[var2])

# 进行独立性检验
chi2, p, dof, expected = chi2_contingency(contingency_table)

# 输出结果
print("卡方值:", chi2)
print("p 值:", p)
print("自由度:", dof)
print("期望频数:")
print(expected)

卡方检验的原假设是两个分类变量之间相互独立。如果 p 值小于显著性水平(通常为 0.05),则可以拒绝原假设,认为两个变量之间存在相关性。

卡方检验的结果主要包括卡方值(chi2)、p 值、自由度(dof)和期望频数(expected)。

  • 卡方值:卡方值越大,说明观察值与期望值之间的差异越大,即变量之间的相关性可能越强。
  • p 值:p 值是用于判断原假设是否成立的重要指标。通常,当 p 值小于显著性水平(如 0.05)时,我们拒绝原假设,认为变量之间存在相关性;当 p 值大于等于显著性水平时,我们不能拒绝原假设,即没有足够证据表明变量之间存在相关性。
  • 自由度:自由度反映了列联表中独立信息的数量。
  • 期望频数:期望频数是在假设变量之间相互独立的情况下,每个单元格中应该出现的频数。

Fisher’s 精确检验

Fisher’s 精确检验是一种在样本量较小时或存在极端频数时更适用的检验方法,它直接计算精确的概率,前提是列联表是(2,2)形式。

Fisher 精确检验的结果主要包括比值比(oddsratio)和 p 值。

  • 比值比表示两个事件发生的相对概率。如果比值比大于 1,说明第一个事件发生的概率相对于第二个事件更高;如果比值比小于 1,说明第二个事件发生的概率相对于第一个事件更高;如果比值比等于 1,说明两个事件发生的概率相等。

  • p 值用于判断两个分类变量之间是否存在关联。通常,当 p 值小于显著性水平(如 0.05)时,我们拒绝原假设,认为两个变量之间存在关联;当 p 值大于等于显著性水平时,我们不能拒绝原假设,即没有足够证据表明变量之间存在关联。

Fisher 精确检验在样本量较小时或存在极端频数时更为准确,但在大样本情况下,卡方检验通常也能提供可靠的结果。

from scipy.stats import chi2_contingency,fisher_exact

# 创建列联表
type_pattern_crosstab = pd.crosstab(data['类型'], data['表面风化'])

# 进行独立性检验
# 卡方检验
chi2, p, dof, expected = chi2_contingency(type_pattern_crosstab)

# Fisher's 精确检验
oddsratio, p_value_fisher = fisher_exact(type_pattern_crosstab)

# 输出结果
print("卡方值:", chi2)
print("p 值:", p)
print("自由度:", dof)
print("期望频数:",expected)

print("\nFisher's 精确检验:")
print("比值比 =", oddsratio)
print("p 值 =", p_value_fisher)

独立性检验只是一种统计推断方法,其结果应结合实际问题和背景进行综合分析和解释。此外,样本量的大小、数据的质量等因素也可能会影响检验结果的可靠性。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来回答你的问题。 相关性分析相关性分析是一种用于研究两个或多个变量之间关系的统计方法。其中,协方差和相关系数是最常用的两种指标。 1. 协方差:协方差衡量的是两个变量的变化趋势是否一致,具体计算方法为:cov(X,Y) = E[(X-E(X))(Y-E(Y))],其中E表示期望。 2. 相关系数:相关系数是协方差的标准化形式,它反映的是两个变量之间的线性关系强度和方向。具体计算方法为:r = cov(X,Y) / (Sd(X) * Sd(Y)),其中Sd表示标准差。 对于多个变量之间的相关性分析,可以使用相关矩阵来表示各变量之间的相关系数。相关矩阵是一个对称矩阵,其中对角线上的元素都是1,表示每个变量和自身完全相关。 在进行相关性分析之前,需要先进行数据的清洗和变量的选择。对于连续变量,可以使用散点图和皮尔逊相关系数来描述其相关性;对于分类变量,可以使用列联表和卡方检验来描述其相关性。 独立性检验独立性检验是用于检验两个或多个变量之间是否独立的统计方法。其中,卡方检验和Fisher检验是最常用的两种方法。 1. 卡方检验:卡方检验用于检验两个或多个分类变量之间的独立性。具体计算方法为:χ²=∑(O-E)²/E,其中O表示观察值,E表示期望值。 2. Fisher检验:Fisher检验用于检验两个分类变量之间的独立性,但只适用于小样本情况。具体计算方法是根据双因素分布列出所有可能的分配方案,然后计算出每个方案的概率,最后选择概率最小的方案作为检验结果。 对于连续变量之间的独立性检验,可以使用t检验来进行。其中,独立样本t检验用于比较两个独立样本的均值是否相等,而非独立样本t检验用于比较同一组样本在两个不同条件下的均值是否相等。 总之,无论是相关性分析还是独立性检验,都需要先进行数据的清洗和变量的选择,然后再选择适当的方法进行分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值