Python dataframe绘制饼图_利用python进行相关性分析

5e4a85df4917db6d7c11d617d7968b78.png

相关性分析是指通过对变量的分析,判定两个变量因素的相关程度,然后通过对其中一个因素的引导,来影响另一个因素。

需要注意是,一般讨论的相关性分析均指代“线性相关性”。

假设我们通过分析发现,用户的网页浏览行为和用户的购买行为呈现较强的正相关性,那么理论上,产品运营同学通过引导用户浏览更多的网页便可以带来更多的购买订单数,进而提升平台的收入。

那么怎么判定两者是否存在正相关关系呢?

用户在网页上留下了行为数据,我们随机选取了100组数据(X,Y),X为用户的浏览数据(日浏览门店数量),Y为用户的购买数据(日购买商品数)。

判定两者相关的方式有两种:

  1. 图形观测法:通过绘制散点图判断两者是否存在一定相关关系
  2. 科学计算法:通过计算相关性系数r

图形观测法可以通过python直接绘制散点图来实现,形象可见,但是无法数据化。

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

# 随机生成一组数据(X,Y)
data = pd.DataFrame(np.random.randn(200,2)*100, columns=['X','Y'])  
# 绘制散点图
plt.figure(figsize = (6,6))  # 图片像素大小
plt.scatter(data.X, data.Y,color="blue")  # 散点图绘制
plt.grid()  # 显示网格线
plt.show()  # 显示图片

9f9821036b7740fe0bcb9b3d08b89e35.png
得到(X,Y)散点分布图

6f07e8cc18d178cbab951c13ab79cb33.png
散点图和相关性系数关系图(数字为相关性系数)--转自维基百科

科学计算法也可以通过python直接实现,但需要注意的是,该方法会得到两个指标:1)相关性系数r;2)显著性水平p。

两者的关系为:当p<0.05(或者0.01)的前提下,才可以参考r值,不能仅仅只看r值。

假设p=0.02,r=0.8,认为两组数据存在高度线性关系
假设p=0.5,r=0.8,认为两组数据不能进行相关性比较,更别提相关性是高还是低(此时的相关性表现可能是巧合)

好奇的商业分析师会问:什么是r?什么是p?为什么需要他们?

具体原因请参考:walt:说人话系列-相关性

# -----------------------------
# |r|<0.3 不存在线性关系
# 0.3<|r|<0.5  低度线性关系
# 0.5<|r|<0.8  显著线性关系
# |r|>0.8  高度线性关系
# ------------------------------

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

data = pd.DataFrame(np.random.randn(200,2)*100, columns=['X','Y'])
r,p = stats.pearsonr(data.X,data.Y)  # 相关系数和P值
print('相关系数r为 = %6.3f,p值为 = %6.3f'%(r,p))

得到:相关系数r为 = 0.021,p值为 = 0.766。

对于多维数据,需要计算两两之间的相关性

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

# 导入数据
data = pd.DataFrame(np.random.randn(200,4)*100, columns = ['A','B','C','D'])
# 相关性计算
print(data.corr())
# 绘图
fig = pd.plotting.scatter_matrix(data,figsize=(6,6),c ='blue',marker = 'o',diagonal='',alpha = 0.8,range_padding=0.2)  # diagonal只能为'hist'/'kde'
plt.show()

pandas的corr()函数只能计算相关系数r,无法计算p值。

1ea9a79a9036dd60d0989c560f981c37.png
得到两两变量之间的散点分布图

488131277031f26515225a5e48478f8a.png
得到两两变量之间的相关性系数r

来自:WALT(淡然)

得之坦然,失之淡然
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值