相关性分析p值_一行代码掌握皮尔逊相关分析,洞察变量关系
變量類型與推薦的假設檢驗方法
可以看到,當我們探索兩個連續變量之間的關系時,相關分析是一個很好的選擇。那么,相關分析的原理是什么?如何在Python中實現相關分析呢?
一、Pearson相關系數
針對兩個獨立的服從正態分布的連續變量,我們常用Pearson相關系數來衡量它們之間的相關性。Pearson相關系數的值域為[-1, 1],當相關系數小于0時,表明兩變量之間存在線性負相關關系;當相關系數大于0時,表明兩變量之間存在線性正相關關系;當相關系數等于0時,表明兩變量之間無明顯的相關關系。
當變量不符合正態分布或者是順序型變量時,我們常用Spearman相關系數來衡量變量間的關系;當我們需要探索變量間的非線性關系時,可以使用Kendall相關系數。不過這些不在本篇的討論范圍內,如果感興趣的人多,可以在下方留言。
一般情況下,我們用r來表示相關系數,r的取值與相關程度之間的關系如下:
皮爾遜相關系數的計算很簡單。假設我們有兩組數據,一組為x,一組為y。那么x與y之間的協方差作為分子,x的標準差與y的標準差之間的乘積作為分母,得到的就是x與y之間的相關系數r,我們用公式表示如下:
計算出相關系數r之后,我們還要檢驗它是否具有統計學意義,即我們常說的是否顯著。這里我們檢驗的計算公式為:
然后我們從t分布中找到對應的P值,與我們設定的顯著性水平做一下對比,比如說我們設定了顯著性水平為0.05,當P值小于0.05時,我們就拒絕零假設,認定x與y之間存在顯著的線性相關。需要注意的是,P值大小不代表兩個變量間相關性的強弱,r的大小才是衡量相關性的統計量。
當然,現在這些繁瑣的過程我們可以統統交給計算機來處理。
二、Python相關分析
在pandas中,計算相關系數非常簡單:
我們還可以用熱力圖來更直觀地感受一下:
sns.heatmap(iris.corr(), cmap='bwr', center=0)除了sepal_width變量與其他變量負相關以外,其他三個變量間都高度正相關。
但是我們注意到,這里并沒有顯著性檢驗的信息,那么我們如何得到這些信息呢?答案就是使用Scipy,Scipy是Python中一個非常強大的科學計算庫,提供了很多關于統計、科學計算的方法。
scipy.stats.pearsonr方法會根據輸入的兩組數據,計算Pearson相關性,返回相關系數r以及顯著性檢驗的P值,當P值低于我們設定的顯著性水平時,即可認為變量間顯著相關。
from scipy.stats import pearsonrpearsonr(iris.sepal_length, iris.petal_length)輸出為:
(0.8717537758865832, 1.0386674194497583e-47)好了,關于Pearson相關的分享就到這里,有任何問題可以在下方留言,我會及時回答。另外,除了計算相關系數,散點圖、回歸圖等都很適合用來探索變量間的關系,感興趣的可以去看我的歷史文章中關于數據可視化的幾個系列。
總結
以上是生活随笔為你收集整理的相关性分析p值_一行代码掌握皮尔逊相关分析,洞察变量关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微博polg什么意思_贾磊:广东发微博给
- 下一篇: redis最大储存512m_redis系