700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python 相关性检验怎么计算p值_数据分析---用Python进行相关性分析(兼谈假设检验)...

python 相关性检验怎么计算p值_数据分析---用Python进行相关性分析(兼谈假设检验)...

时间:2020-09-27 16:31:39

相关推荐

python 相关性检验怎么计算p值_数据分析---用Python进行相关性分析(兼谈假设检验)...

一、相关关系和相关系数

世上除了因果关系,还有相关关系。

有一个叫“相关系数”的指标来量化两个事物之间的相关程度。

其中相关系数用“r”表示,取值范围介于-1和1之间。

当(X,Y)正相关的时候,r=1;当(X,Y)负相关的时候,r=-1;当(X,Y)不相关的时候,r=0。

当然一般的线性相关有更严格的划分:

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

二、相关性和假设检验

有指标来衡量两者之间的相关程度,不代表能够去衡量相关程度。

因引入两个概念:

现在,针对我们分析的两组数据(X,Y)(两组数据被称为抽样),我们的疑问来了:

抽样的(X,Y)是否可以正确反应总体的情况呢?

这里涉及:假设检验。

具体操作如下:

零假设H0:总体的数据不呈相关性(相关系数为0),并先认为H0正确备选假设H1:总体的数据呈现相关性(相关系数不为0)引入一个指标:显著性水平p,一般将其设定为0.05或者0.01当p<0.05,拒绝原假设,备选假设正确;当p>0.05,原假设正确。所以,在进行相关性分析实验的之前,我们需要分两步走:1.进行假设检验,获得p值<0.05,得到结论:总体的数据呈现相关性2.进行相关性分析,得到r值如果p值>0.05(或者0.01),则实验失败,抽样数据无法反应整体情况。不管r值表现如何都是偶然事件。只有在p值<0.05(或者0.01)的前提下,才可以参考r值,进而判断相关程度。

三、兼谈假设检

假设检验的3种类型

假设检验的套路:

四、利用Python进行相关性分析

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

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

我们用第二种

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns from scipy.stats import kstestfrom scipy import stats#读入数据data=pd.read_csv('/datasets/normtemp.dat.txt',header=None,sep='s+',names=['Temperature','sex','heart'])print(data.describe())Temperature_data = data['Temperature']u = data['Temperature'].mean()std = data['Temperature'].std()r,p = stats.pearsonr(data.Temperature, data.heart)print('相关系数r为 = %6.3f,p值为 = %6.3f'%(r,p))相关系数r为 = 0.254,p值为 = 0.004

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

结论:总体的数据呈相关性,且相关系数为:0.021,但不是线性相关。

五、拓展

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

比如是思维数据,列名分别为:A、B、C、D

就需要计算:

A:B、C、D

B:A、C、D

C:A、B、D

D:A、B、C

代码如下:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport scipy.stats as stats# 导入数据data = pd.DataFrame(数据地址)#或者data=pd.read_csv(数据地址)# 相关性计算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()

假设检验

Python真香:用Python作假设检验​

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。