数据分析进阶 - 相关分析(卡方检验)

news/2024/7/3 12:27:31

前言

上一篇博客是相关分析中的皮尔逊相关系数,具体可见链接:https://blog.csdn.net/Totoro1745/article/details/114748542?spm=1001.2014.3001.5502

卡方检验

皮尔逊相关系数用于两个连续性变量,当变量为两个无序分类变量时就需要用卡方检验。它是一种基于卡方分布的假设检验方法,根本思想就是在于比较理论频数和实际频数的吻合程度或拟合优度问题。主要应用于分类变量,根据样本数据推断总体分布与期望分布是否有显著差异或推断两个分类变量是否相关或相互独立。

卡方检验分为拟合度的卡方检验和卡方独立性检验,这里仅使用卡方独立性检验。

1.卡方检验步骤

  • 设置原假设与备择假设
  • 设置显著性水平
  • 根据问题选择具体的假设检验方式
  • 计算统计量,并通过统计量获取P值
  • 根据P值与显著性水平,决定接受原假设还是备择假设

2.Python实现

第一步我们先设立原假设:x因素与y因素无关
第二步设置显著性水平α=0.05, 若p值<0.05则拒绝原假设

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

data = pd.read_csv('data.csv')

# 如果数据已经是列联表的数据,可直接
observed = data[['x','y']]
print(stats.chi2_contingency(observed=observed))  # 输出卡方值,P值,自由度

# 若数据为源数据,需要处理成列联表形式
contingency_table = pd.crosstab(data['x'], data['y'], margins=True)

# x有两个值,y有3个值
f_obs = np.array([contingency_table.iloc[0][0:3].values,
                  contingency_table.iloc[1][0:3].values])
print(stats.chi2_contingency(f_obs)[0:3])

参考资料:
https://zhuanlan.zhihu.com/p/128905132
https://zhuanlan.zhihu.com/p/56423752


http://www.niftyadmin.cn/n/4411292.html

相关文章

数据分析进阶 - 基于聚类的用户标签构建

前言 在用户画像标签体系建设的过程中&#xff0c;大部分标签都是以规则映射的方式构建&#xff0c;当规则难以梳理时&#xff0c;可以考虑用聚类模型进行划分&#xff0c;再用决策树的方式输出规则&#xff0c;这里仅简单分享&#xff0c;欢迎交流~ 示例 确定目的 对用户消…

数据分析进阶-基于tslearn的单变量时间序列聚类

前言 最近受一篇2015年文章《时间序列用户生命周期的聚类方法》的启发,阅读了很多时间序列聚类相关的方法,用消费行为的时间序列尝试去对用户行为进行分群,虽然现阶段的效果不如预期,就当总结希望后续能有所交流~ 基于日消费总额的时间序列聚类 为了更好地保留用户消费行…

数据分析进阶-基于tsfresh的多变量时间序列聚类

前言 上一篇博客主要尝试了基于tslearn的单变量时间序列聚类,多变量时间序列的方法经过一番搜索也没有找到合适的方式,因此考虑借助强大的时间序列特征提取工具tsfresh与KMeans尝试多变量时间序列的聚类实验 基于日消费总额+日消费次数的时间序列聚类 一、tsfresh tsfres…

数据分析进阶-cx_Oracle的简单使用

本示例使用pandascx_Oracle完成数据的读取和插入&#xff0c;一开始是想尝试pd.to_sql方法&#xff0c;但是需要借助sqlalchemy&#xff0c;因此本示例单纯使用cx_Oracle import pandas as pd import cx_Oracle as cxconn cx.connect(user_name/passwordhostname:port/servic…

数据分析进阶-Excel绘制分段折线图

前言 今天1024程序员节&#xff0c;虽然好像和我没有特别强的关系&#xff0c;写篇博客蹭个勋章吧~ Excel绘制分段折线图 1、如何凸显折线图中的重点片段 &#xff08;1&#xff09;首先将需要重点表示的数值提取出来放置新的一行数据中&#xff0c;如图所示&#xff0c;此…

Windows-设置Python定时任务

定时弹窗提醒 环境&#xff1a; win8Python3.8 代码&#xff1a; import tkinter.messagebox tkinter.messagebox.showwarning(警告,该喝水了)设置定时任务&#xff1a; 1、打开任务计划程序-创建任务 2、填写任务信息 3、报错指南 可查看任务计划程序库中的上次运行结果…

数据分析进阶-Excel自动化工具包openpyxl的基础使用

安装工具包 pip install openpyxl工作簿的使用 注意读取的EXCEL文件只能是xlsx后缀的噢~ # 创建工作簿 wb openpyxl.Workbook() wb.save(demo.xlsx) # 在源文件修改后也可以作为另存为的选项# 打开工作簿 wb openpyxl.load_workbook(test.xlsx, data_onlyTrue) # 读取公式…