Python3数据分析与挖掘建模(10)复合分析-交叉分析与实现示例

news2024/11/29 8:47:11

1. 复合分析

1.1 概述

复合分析(Factorial Analysis)是一种统计分析方法,用于研究多个因素对观测结果的影响,并探究各个因素之间的相互作用效应。

在复合分析中,研究者会选择多个因素(也称为处理变量或独立变量),并对这些因素的不同水平进行组合。每个因素的水平表示该因素所具有的不同取值或条件。通过对不同因素水平的组合进行实验或观测,研究者可以探索这些因素对结果变量(也称为因变量)的影响。

复合分析可以帮助研究者了解以下方面:

  1. 主效应(Main Effects):即每个因素对结果变量的独立影响。通过比较不同因素水平的组合,可以确定每个因素对结果的影响程度。

  2. 交互效应(Interaction Effects):即多个因素之间的相互作用对结果的影响。交互效应表示多个因素同时存在时,它们之间是否存在非加性的影响,即相互作用效应。

复合分析可以应用于各种领域和实验设计,例如生物学、心理学、社会科学等。研究者可以利用复合分析来确定最佳因素组合、解释因素之间的相互作用以及预测结果变量在不同条件下的表现。

在实施复合分析时,常用的统计方法包括方差分析(ANOVA)、线性回归模型、混合效应模型等。这些方法可以帮助研究者对复合分析的数据进行建模和推断,以得出结论和进行预测。

总而言之,复合分析是一种多因素的统计分析方法,用于研究多个因素对观测结果的影响,并探索因素之间的相互作用效应。它可以提供对因素影响和相互作用的深入理解,以支持科学研究和决策制定。

1.2 交叉分析

交叉分析(Cross-Tabulation Analysis): 交叉分析是一种统计分析方法,用于研究两个或多个变量之间的关系。它通过将数据按照不同变量的不同取值进行分组,并计算各组之间的频数或比例,从而揭示变量之间的相关性或差异。交叉分析常用于描述分类变量之间的关系,例如性别与购买偏好、地区与产品偏好等。

1.3 因子分析

因子分析(Factor Analysis): 因子分析是一种统计方法,用于探索多个观测变量之间的潜在结构或维度。它通过分析观测变量之间的协方差矩阵,将这些变量归纳为较少的因子或维度,以解释变量之间的共同方差。因子分析可用于数据降维、变量分类和构建潜在变量模型。

1.4分组与钻研

分组与钻研(Segmentation and Drilling): 分组与钻研是一种数据分析方法,用于将数据按照特定的标准或属性进行分组,并对各组进行深入研究。通过分组与钻研,可以识别出不同组之间的差异和相似性,发现隐藏在数据中的模式和洞察,并为不同组别制定针对性的策略或决策。

1.5聚类分析

聚类分析(Cluster Analysis): 聚类分析是一种无监督学习方法,用于将相似的个体或对象归类到同一组别中。聚类分析通过测量个体之间的相似性或距离,并将相似的个体划分为不同的簇或群组。聚类分析可用于发现数据中的群集结构、识别潜在的子群体或细分市场,并支持个性化营销、客户分类和产品定位等领域。

1.6 相关分析

相关分析(Correlation Analysis): 相关分析是一种统计方法,用于衡量两个或多个变量之间的相关性或关联程度。它通过计算变量之间的相关系数(如皮尔逊相关系数)来评估它们之间的线性关系。相关分析可以帮助研究者确定变量之间的正向或负向关系,从而理解它们之间的相互依赖性或影响关系。

2. 交叉分析-独立t检验

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as ss
import seaborn as sns

# 读取 HR.csv 文件并存储为 DataFrame
df = pd.read_csv("../data/HR.csv")

# 按部门分组并获取索引
dp_indices = df.groupby(by="department").indices

# 获取销售部门和技术部门的离职情况值
sales_values = df["left"].iloc[dp_indices['sales']].values
technical_values = df["left"].iloc[dp_indices['technical']].values

# 执行 t 检验并打印 p 值
t_statistic, p_value = ss.ttest_ind(sales_values, technical_values)
print(p_value)

# 获取部门名称列表
dp_keys = list(dp_indices.keys())

# 创建用于存储 t 值的矩阵
dp_t_mat = np.zeros([len(dp_keys), len(dp_keys)])

# 创建一个新的图形对象
plt.figure()

# 遍历部门名称列表,计算 t 值并填充矩阵
for i in range(len(dp_keys)):
    for j in range(len(dp_keys)):
        # 执行 t 检验并获取 p 值
        p_value = ss.ttest_ind(df["left"].iloc[dp_indices[dp_keys[i]]].values,
                               df["left"].iloc[dp_indices[dp_keys[j]]].values)[1]
        if p_value < 0.05:
            dp_t_mat[i][j] = -1  # 如果 p 值小于 0.05,则将 t 值设置为 -1,表示显著差异
        else:
            dp_t_mat[i][j] = p_value

# 绘制热力图并设置部门名称标签
sns.heatmap(dp_t_mat, xticklabels=dp_keys, yticklabels=dp_keys)

# 显示图形
plt.show()

该代码的功能是对 HR 数据集中的部门进行交叉分析。主要步骤如下:

  1. 导入所需的库:pandas、numpy、matplotlib、scipy.stats 和 seaborn。

  2. 读取 HR.csv 文件并将其存储为 DataFrame。

  3. 使用 groupby 方法对数据按部门进行分组,并获取各个部门的索引。

  4. 从 DataFrame 中提取销售部门和技术部门的离职情况值。

  5. 使用 ss.ttest_ind 函数执行 t 检验,比较销售部门和技术部门的离职情况,并打印出 p 值。

  6. 创建一个矩阵来存储各个部门之间的 t 值。

  7. 创建一个新的图形对象。

  8. 使用嵌套循环计算每对部门之间的 t 值,并将结果填充到矩阵中。如果 p 值小于 0.05,则将 t 值设为 -1,表示存在显著差异。

  9. 使用 seaborn 库的 heatmap 函数绘制热力图,显示部门之间的 t 值

分析的图示:

 

交叉分析结果的热图中,黑色部分表示离职率存在显著差异的部门对,而红色部分表示离职率没有显著差异的部门对。

具体来说,黑色部分代表的部门对(如IT与technical)在离职情况上存在相关影响,即这两个部门的离职情况之间有显著差异,可能是由于工作性质、工作环境或其他因素导致的。

而红色部分代表的部门对(如hr与technical)在离职情况上没有显著差异,即这两个部门的离职情况之间的差异不具有统计学上的显著性,可能是因为这两个部门的工作性质、员工群体或其他因素相似,导致离职情况相对一致。

通过观察交叉分析结果的热图,可以更直观地了解不同部门之间的离职情况差异,并对可能存在的相关影响进行初步分析和解释。

3. 交叉分析-透视表

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# 读取HR.csv数据文件,并将其存储在DataFrame对象df中
df = pd.read_csv("../data/HR.csv")

# 使用pd.pivot_table()函数创建透视表,计算"left"列的均值,按照"promotion_last_5years"和"salary"作为行索引,
# "Work_accident"作为列索引,np.mean作为聚合函数
piv_tb = pd.pivot_table(df, values="left", index=["promotion_last_5years", "salary"], \
                        columns=["Work_accident"], aggfunc=np.mean)

# 打印透视表piv_tb
print(piv_tb)

# 使用seaborn库的heatmap函数绘制热图,将透视表piv_tb作为数据,设定颜色映射为"Reds",颜色范围为0到1
sns.heatmap(piv_tb, vmin=0, vmax=1, cmap=sns.color_palette("Reds", n_colors=256))

# 显示图形
plt.show()

在上述代码中,我们首先使用pd.read_csv()函数读取HR.csv数据文件,并将其存储在DataFrame对象df中。然后,使用pd.pivot_table()函数创建透视表piv_tb,计算"left"列的均值,并按照"promotion_last_5years"和"salary"作为行索引,"Work_accident"作为列索引。

接下来,我们使用seaborn库的heatmap()函数绘制热图,将透视表piv_tb作为数据,设定颜色映射为"Reds",并将颜色范围设置为0到1。最后,使用plt.show()显示图形。热图将展示不同组合条件下"left"列的均值,并以颜色的深浅表示不同的数值。

如下图:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/626362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

武汉涉密系统集成资质保密制度涵盖哪些内容

涉密信息系统集成资质申请其中最核心的就是保密制度管理&#xff0c;这里面涉及到保密管理的方方面面&#xff0c;现场审查也是围绕保密制度建设内容来打分的。申报单位应当建立规范、操作性强的保密制度&#xff0c;并根据实际情况及时修订完善。保密制度的具体要求应当体现在…

highlight clock tree

当分析clock tree需要在图形界面highlight clock tree时&#xff0c;最朴实无华的方法就是贴报告&#xff0c;除此之外这里也分享一下用命令的方法。 1.Imported Path Pins 1&#xff09;Highlight > Color By > Imported Path Pins 2&#xff09;report_timing icc2…

智慧园区物业可视化大屏

随着万物互联、数字信息时代的到来&#xff0c;也给物业园区管理行业带来变革性影响。 园区作为城市的基本组成单元&#xff0c;是人口和产业的重要聚集区&#xff0c;现已逐渐成为中国经济转型升级和创新发展的主力。 智慧园区物业可视化整合园区现有信息系统的数据资源&#…

OpenStack部署(四)

OpenStack部署 8. Dashboard8.1 安装并配置8.2 重启web服务器以及会话存储服务8.3 浏览器访问配置 9. Designate9.1 创建Designate数据库并授权9.2 获得admin凭证9.3 创建designate用户并设置密码9.4 添加admin角色到designate用户9.5 创建designate服务实体9.6 创建designate服…

【计算机组成与体系结构Ⅰ】章节测试(1-3)

下列是计算机中几种常见的机器数编码&#xff1a; ①原码 ②反码 ③补码 零的表示唯一的是&#xff08; &#xff09; A&#xff0e;仅③ B&#xff0e;② C&#xff0e;①、② D&#xff0e;①、③ 下列采用偶校验的8位奇偶校验编码中正确的是&#xff08; &#xff09;…

【Spring】——Spring简单 读和取

前言 ❤️❤️❤️Spring专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring_冷兮雪的博客-CSDN博客 上期我们讲解了Spring的创建与使用&#xff0c;发现 将Bean 注册到容器 这一步中&#xff0c;如果Bean对象…

Matter协议高速崛起,你真的了解它吗?

今天我们要聊的话题&#xff0c;和智能家居有关。 说到智能家居&#xff0c;大家应该都不会陌生。早在本世纪初&#xff0c;物联网概念刚刚诞生的时候&#xff0c;最主要的应用领域&#xff0c;就是智能家居。 这些年来&#xff0c;随着数字技术的不断发展&#xff0c;越来越多…

MINIX 已死,Linux 又将如何呢?

导读MINIX 操作系统大约的确已经死了。Minix 原来是荷兰阿姆斯特丹的 Vrije 大学计算机科学系的 Andrew S. Tanenbaum 教授所开发的一个类 Unix 操作系统&#xff0c;全部代码共约 12,000 行&#xff0c;起初是为给学生讲解操作系统的运作细节而开发。 Linus Torvalds 也曾表示…

报表生成器FastReport .Net用户指南:“Rich Text“对象

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案&#xff0c;使用FastReport .NET可以创建独立于应用程序的.NET报表&#xff0c;同时FastReport .Net支持中文、英语等14种语言&#xff0c;可以让你的产品保证真正的国际性。 FastReport.NET官方版…

1999-2020年31省省农村人口就业和文化程度相关数据

1999-2020年31省省农村人口就业和文化程度相关数据 1、时间&#xff1a; 2、范围&#xff1a;包括全国31省 3、来源&#xff1a;整理自各省NJ、统计NJ、农村NJ 4、指标包括&#xff1a; 乡村人口和乡村就业人员&#xff1a;乡村人口&#xff08;万人&#xff09;、乡村人口&…

opencv实践项目-停车位检测

目录 1. 步骤1.1 selector选择器1.2 detector探测器 2. 代码3. 效果图 1. 步骤 1.1 selector选择器 我们可以选择摄网络摄像头提供的第一帧&#xff0c;在该图像上选择停车位。为此&#xff0c;保存并使用该图像选择停车位。使用selectROIs函数标记停车位。ROI被定义为感兴趣…

分布式限流算法及实现介绍

分布式系统架构下面对突增的高并发访问请求&#xff0c;如何实现限流以保护系统的可用性是需要关注的一个问题。分布式限流实现机制上有很多中&#xff0c;包括基于网关实现、基于中间件如Redis实现等&#xff0c;本文简要介绍限流的常用算法以及实现方案。 1、分布式限流概述 …

Windows操作系统渗透测试

Windows操作系统渗透测试 任务环境说明&#xff1a;服务器场景名&#xff1a;Server02服务器场景操作系统&#xff1a;未知&#xff08;关闭链接&#xff09; 1.通过本地PC中渗透测试平台Kali对服务器场景进行系统服务及版本扫描渗透测试&#xff0c;并将该操作显示结果中808…

可视化报表系统推荐

在当今信息时代&#xff0c;数据的处理和分析已经成为了企业管理中不可或缺的一部分。而报表则是这个过程中最常见的工具之一。手工写报表虽然简单易懂&#xff0c;但是随着数据量的增加&#xff0c;这种方式逐渐暴露出许多痛点。比如说&#xff1a; 1.时间耗费长&#xff1a;…

Linux之进程间通信——管道

文章目录 前言一、进程间通信1.概念2.目的3.进程间通信分类 二、管道1.管道介绍2.管道分类1.匿名管道pipi创建管道文件&#xff0c;打开读写端fork子进程关闭父进程的读取端&#xff0c;关闭子进程的写入端读写特征管道特征 2.命名管道mkfifo创建管道文件删除管道文件通信 三、…

【openframework】实时路径规划(RTRRTstar算法)

程序框架 视频演示 实时RRT-star算法介绍 实时RRT-star算法是一种基于采样的运动规划算法&#xff0c;它可以在有限的时间内找到一条渐进最优的路径。实时RRT-star算法是在RRT-star算法的基础上进行了改进&#xff0c;主要有两个方面&#xff1a; - 实时更新起始点。实时RRT-st…

那些漏洞挖掘高手都是怎么挖漏洞的?

前言 说到安全就不能不说漏洞&#xff0c;而说到漏洞就不可避免地会说到三座大山&#xff1a; 漏洞分析 漏洞利用 漏洞挖掘 从个人的感觉上来看&#xff0c;这三者尽管通常水乳交融、相互依赖&#xff0c;但难度是不尽相同的。本文就这三者分别谈谈自己的经验和想法。 漏洞分析…

Mac图片批处理工具

PhotoMill X是一款强大的图像处理软件&#xff0c;它可以帮助用户快速地对照片进行编辑、调整和转换。它支持在单个或批量模式下处理大量的图像文件&#xff0c;并具有直观的用户界面和易于使用的工具。 PhotoMill X具有广泛的编辑功能&#xff0c;包括裁剪、缩放、旋转、调整明…

记录基于Vue.js的Tree组件_Liquor Tree

酒树 (Liquor Tree) A Vue tree component that allows you to present hierarchically organized data in a nice and logical manner. Vue 树组件&#xff0c;可让您以美观和逻辑的方式呈现层次结构的数据。 supports mobile, and has a variety of response events. Flex…

软考A计划-电子商务设计师-模拟试题卷三

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…