数据特征分析技能—— 相关性检验

本文介绍了数据特征分析中的相关性检验,包括通过图形判断、皮尔逊相关系数和斯皮尔曼秩相关系数来衡量变量间的关联程度。皮尔逊系数适用于正态分布的数据,而斯皮尔曼秩相关适用于非正态分布或等级数据。
摘要由CSDN通过智能技术生成

数据特征分析技能—— 相关性检验

相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度
一般常用四种方法:
- 画图判断
- pearson(皮尔逊)相关系数
- sperman(斯皮尔曼)相关系数
- Cosine similarity (余弦相关系数)

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
% matplotlib inline

绘制图形判断

一般对于强相关性的两个变量,画图就能定性判断是否相关

data1 = pd.Series(np.random.rand(50)*100).sort_values()
data2 = pd.Series(np.random.rand(50)*50).sort_values()
data3 = pd.Series(np.random.rand(50)*500).sort_values(ascending = False)
# 创建三个数据:data1为0-100的随机数并从小到大排列,data2为0-50的随机数并从小到大排列,data3为0-500的随机数并从大到小排列,

fig = plt.figure(figsize = (10,4))
ax1 = fig.add_subplot(1,2,1)
ax1.scatter(data1, data2)
plt.grid()
# 正线性相关

ax2 = fig.add_subplot(1,2,2)
ax2.scatter(data1, data3)
plt.grid()
# 负线性相关

这里写图片描述

# (2)散点图矩阵初判多变量间关系

data = pd.DataFrame(np.random.randn(200,4)*100, columns = ['A','B','C','D'])
pd.plotting.scatter_matrix(data,figsize=(8,8),
                         c = 'k',
                         marker = '+',
                         diagonal='hist',
                         alpha = 0.8,
                         range_padding=0.1)
data.head()
A B C D
0 83.463300 108.208281 -16.441879 -69.039664
1 -114.341786 -176.341932 -64.282506 54.378911
2 -108.781464 116.223511 11.996554 4.445215
3 -124.358401 -74.357458 -46.089528 -73.539092
4 87.330398 205.767923 59.964420 137.955811

这里写图片描述

pearson(皮尔逊)相关系数

要求样本满足正态分布
- 两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商,其值介于-1与1之间

  • 公式:

    协方差:
    

    sxy=1n1nk=1(xkx¯)(yky¯) s x y = 1 n − 1 ∑ k = 1 n ( x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值