数据分析进阶 - 相关分析(皮尔逊相关系数)
相关分析
相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法。通过对不同特征或数据间的关系进行分析,发现其中关键影响及驱动因素。在实际的工作应用中,常常用于特征的发现与选择。针对不同数据类型的变量,需要选用不同的检验方法,具体如下表所示
变量个数 | 变量类型 | 检验方法 |
---|---|---|
两个 | 均为连续变量 | 皮尔逊相关系数、简单线性回归 |
两个 | 均为有序分类变量 | Mantel-Haenszel 趋势检验、 Spearman相关、Kendall’s tau-b相关系数 |
两个 | 均为无序分类变量 | 卡方检验、Fisher精确检验 |
两个 | 均为二分类变量 | 相对风险、比值比、卡方检验和Phi (φ)系数、Fisher精确检验 |
皮尔逊相关系数
皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation coefficient,简称 PPMCC或PCCs),是用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。
1.适用范围
- 两个变量之间是线性关系,都是连续数据。
- 两个变量的总体是正态分布,或接近正态的单峰分布。
- 两个变量的观测值是成对的,每对观测值之间相互独立。
2.原理
利用两个变量间的协方差和变量的标准差进行计算而来(分子是协方差,分母是两个变量标准差的乘积)
3.Python实现
import pandas as pd
import numpy as np# 数据
# 这里求a\b\c\d与e的相关系数
df = pd.DataFrame(np.random.randn(20).reshape(4,5),index = [1,2,3,4],columns=['a','b','c','d','e',])
x = df.values
correlation_matrix = np.corrcoef(x.T)
r = correlation_matrix[:, -1].tolist()
for i in range(len(r)):print(str(r[i]))
4.其他补充
为什么输出会有nan?
由于皮尔逊相关系数是利用两个变量间的协方差和变量的标准差进行计算而来,若相关系数为nan,说明数据存在问题
- 检查数据类型是否非数值型,可用info()
- 检查数据是否都一样,导致分母中的标准差为0
计算相关系数之前需不需要标准化?
不需要标准化,因为相关系数本来就是一个标准化的统计量,从上面的计算公式可见,这就是一个标准化的过程,即相关系数就是标准化了的协方差。
数据分析进阶 - 相关分析(皮尔逊相关系数)相关推荐
- 数据分析进阶 - 相关分析(卡方检验)
前言 上一篇博客是相关分析中的皮尔逊相关系数,具体可见链接:https://blog.csdn.net/Totoro1745/article/details/114748542?spm=1001.20 ...
- python二维散点分布图_深入理解皮尔逊相关系数amp;python代码
1.常见理解误区 (1)计算出变量A和变量B的皮尔逊相关系数为0,不代表A和B之间没有相关性,只能说明A和B之间不存在线性相关关系. 例:温度和冰淇淋销量之间的散点图像如下,可以发现大致成二次函数图像 ...
- 计算相关系数 皮尔逊相关系数 Pearson、Spearman
数据探索 计算相关系数 为了更加准确地描述变量之间的线性相关程度,可以通过计算相关系统来进行相关分析. 在二元变量的相关分析过程中比较常用的有Pearson相关系数,Spearman秩相关系数和判定系 ...
- 利用协方差,皮尔逊相关系数和斯皮尔曼相关系数确定变量间的关系
利用协方差,皮尔逊相关系数和斯皮尔曼相关系数确定变量间的关系 https://www.toutiao.com/i6550915552490029576/ 数据集中的变量之间可能存在复杂且未知的关系.重 ...
- 皮尔逊相关系数php,科学网—[严肃内容] 鲁索(Rousseau)教授对皮尔逊相关系数实质认识的图示 - 杨正瓴的博文...
[严肃内容]鲁索(Rousseau)教授对皮尔逊相关系数实质认识的图示 一.鲁索(Rousseau)教授简介 比利时情报学家.国际科学计量学与信息计量学学会前会长罗纳尔德·鲁索(Ronald Rous ...
- 皮尔逊相关系数_Pearson相关系数要求双变量正态分布,是两个变量均服从正态分布吗?...
两变量的Pearson相关系数有自己的使用条件,要求两个连续变量服从双变量正态分布,也叫做二元正态分布.双变量正态分布?是指两个变量均要服从正态分布吗?类似的问题比如:请问使用皮尔逊相关系数描述两变量 ...
- 《从Excel到R 数据分析进阶指南》一3.4 更改数据格式
本节书摘来自异步社区<从Excel到R 数据分析进阶指南>一书中的第3章,第3.4节,作者 王彦平(蓝鲸),更多章节内容可以访问云栖社区"异步社区"公众号查看 3.4 ...
- 基于用户的协同过滤和皮尔逊相关系数
基于用户的协同过滤和皮尔逊相关系数 2012 年 11 月 05 日 isnowfy algorithm, web frameborder="0" hspace="0&q ...
- 皮尔逊相关系数的计算(python代码版)
皮尔逊相关系数的计算(python代码版) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 fro ...
最新文章
- MFC如何打开文件路径
- AI算法在FPGA芯片上还有这种操作?| 技术头条
- poj1028 模拟浏览器后退和前进(栈)
- Linux16.04LTS 安装Intel RealSense D435驱动
- 要么出色,要么出局!威马公布三大核心技术矩阵背后的大野心
- 神码与SUSE共促Unix向x86+Linux迁移
- Leetcode刷题笔记(部分非原创)(1-20题)
- java新手笔记7 找最小、最大、排序
- 2月21日 CVST工具箱模块仿真与图像处理(一)
- idea打包docker镜像
- 网络安全攻防实验室通关教程-基础篇
- [转] 串、并行加法器
- TD-LTE原理及关键技术个人笔记(1)TD-LTE概述
- 水泥行业超低排放政策频发,企业如何完成超低排放改造?
- 景区介绍界面(Android)
- 使用 BEV 投影的高效城市规模点云分割
- html自动循环播放视频列表
- error: src refspec master does not match any error: failed to push some refs to ‘https://gitee.com/s
- 求任意两个整数的最大公因数
- 解决更改mysql密码时报错Your password does not satisfy the current policy requirements问题
热门文章
- RK3568开发笔记-RS9113NB-wifi模块调试笔记
- 传统语音增强——基本的维纳滤波语音降噪算法
- 诡异模式:果然很诡异
- 分区软件——MiniTool
- ArcMap和ArcGIS Pro加载星图地球wmts数据服务
- 高数考前答疑(待补充不熟悉的知识点)
- 查询计算机应用技术专业的班级编号和名称,关于班级编码和专业代码的说明 - 范文中心...
- JavaScript权威指南(第6版)中文版pdf
- 试析高校变配电室电力监控系统的设计与实现
- Anaconda3.6 下分别配置py2.7和py3.5环境