当前位置:   article > 正文

python多变量相关性分析_多变量相关性分析(一个因变量与多个自变量)

用python分析1个因变量和多个自变量之间的关系

目录:前言

偏相关或复相关

意义与用途

分析方法:

1、 样本相关系数矩阵、相关系数检验

2、 复相关分析

3、 决定系数

equation?tex=R%5E2 (RMSE的介绍)

小结

一、前言:

继上一篇文章,继续探讨相关性分析,这次不再是两个变量,而是3个或者以上的变量之间的相关关系分析。

没读过上篇文章请先仔细阅读再过来,因为多变量本质上是基于双变量的TzeSing Kong:相关性分析(两变量)​zhuanlan.zhihu.comv2-e69227d959b35b12f69b363c678df786_180x120.jpg

二、偏相关或复相关

简单相关:研究两变量之间的关系

偏相关或复相关:研究三个或者以上变量与的关系

在这里仍然是选择最简单的线性相关来解释:

三、意义与用途:

有些情况下,我们只想了解两个变量之间是否有线性相关关系,并不想拟合建立它们的回归模型,也不需要区分自变量和因变量,这时可用相关性分析。

四、分析方法:

1、样本相关阵

equation?tex=x_1%2Cx_2%2C%C2%B7%C2%B7%C2%B7%2Cx_n+ 来自正态总体

equation?tex=N_p%28%5Cmu%2C%5Csigma%5E2%29 容量为

equation?tex=n 的样本,其中每个样本

equation?tex=x

equation?tex=p 个观测

分别计算两两样本之间的简单相关系数

equation?tex=r_%7Bij%7D+ ,它们构成的矩阵就是:

equation?tex=%5Cbegin%7Bbmatrix%7D+r_%7B11%7D+%26+r_%7B12%7D+%26...+%26+r_%7B1p%7D+%5C%5C+r_%7B21%7D+%26+r_%7B22%7D+%26+...+%26r_%7B2p%7D+%5C%5C+...%26...%26...%26...+%5C%5Cr_%7Bp1%7D%26r_%7Bp2%7D%26...%26r_%7Bpp%7D+%5Cend%7Bbmatrix%7D%5Cquad

由于每个变量跟自己的相关系数就是

equation?tex=1 ,即:

equation?tex=%5Cbegin%7Bbmatrix%7D+1+%26+r_%7B12%7D+%26...+%26+r_%7B1p%7D+%5C%5C+r_%7B21%7D+%26+1+%26+...+%26r_%7B2p%7D+%5C%5C+...%26...%26...%26...+%5C%5Cr_%7Bp1%7D%26r_%7Bp2%7D%26...%261+%5Cend%7Bbmatrix%7D%5Cquad%3D%28r_%7Bij%7D%29_%7Bp%5Ctimes+p%7D

其中,

equation?tex=%28r_%7Bij%7D%29_%7Bp%5Ctimes+p%7D 就是两个变量的简单相关系数。

equation?tex=r_%7Bij%7D%3D%5Cfrac%7B%5Csum_%7B%7D%5E%7B%7D%7B%28x-%5Cbar%7Bx%7D%29%28y-%5Cbar%7By%7D%29%7D%7D%7B%5Csqrt%7B%5Csum%7B%28x-%5Cbar%7Bx%7D%29%5E2%5Csum%7B%28y-%5Cbar%7By%7D%29%5E2%7D%7D%7D%7D

例子:v2-c3cd33fcac270371c6d3c9d40a62f918_720w.jpg

> X <- read.table("clipboard", header = T)

> cor(X) # 相关系数矩阵

y x1 x2 x3 x4

y 1.0000000 0.9871498 0.9994718 0.9912053 0.6956619

x1 0.9871498 1.0000000 0.9907018 0.9867664 0.7818066

x2 0.9994718 0.9907018 1.0000000 0.9917094 0.7154297

x3 0.9912053 0.9867664 0.9917094 1.0000000 0.7073820

x4 0.6956619 0.7818066 0.7154297 0.7073820 1.0000000

再看看矩阵散点图:

> pairs(X, ...) # 多元数据散点图v2-61a5c0634204d0715edf11647f97174b_720w.jpg

相关系数检验:

> install.package('psych') # 先安装一个'psych'的包

> library(psych)

> corr.test(X)

Call:corr.test(x = yX)

Correlation matrix

y x1 x2 x3 x4

y 1.00 0.99 1.00 0.99 0.70

x1 0.99 1.00 0.99 0.99 0.78

x2 1.00 0.99 1.00 0.99 0.72

x3 0.99 0.99 0.99 1.00 0.71

x4 0.70 0.78 0.72 0.71 1.00

Sample Size

[1] 31

Probability values (Entries above the diagonal are adjusted for multiple tests.)

y x1 x2 x3 x4

y 0 0 0 0 0

x1 0 0 0 0 0

x2 0 0 0 0 0

x3 0 0 0 0 0

x4 0 0 0 0 0

To see confidence intervals of the correlations, print with the short=FALSE option

上面矩阵是相关系数的

equation?tex=t 值矩阵,下面矩阵是

equation?tex=P 值矩阵

可以看出

equation?tex=y

equation?tex=x_1%2C+x_2%2C+x_3%2C+x_4 的关系都十分密切

相关系数

equation?tex=r%3E0.8 且置信度

equation?tex=P%3C0.001

2、复相关分析

实际分析中,一个变量(

equation?tex=y )往往要受到多种变量(

equation?tex=x_1+...+x_4 )的综合影响,

所谓复相关,就是研究多个变量同时与某个变量的相关关系,

度量复相关程度的指标是复相关系数

多个变量同时与某个变量的相关关系不能直接测算,只能通过间接测算

复相关系数的计算:

设因变量

equation?tex=y ,自变量为

equation?tex=x_1%2Cx_2%2C%C2%B7%C2%B7%C2%B7%2Cx_p ,构造一个线性模型为:

equation?tex=y%3Db_0%2Bb_1x_1%2C%2B...%2Bb_px_p%2B%5Cvarepsilon

equation?tex=%5Chat%7By%7D+%3D+b_0%2Bb_1x_1%2B%C2%B7%C2%B7%C2%B7%2Bb_px_p

equation?tex=y

equation?tex=x_1%2Cx_2%2C%C2%B7%C2%B7%C2%B7%2Cx_p 作相关分析,就是对

equation?tex=y

equation?tex=%5Chat%7By%7D 做简单相关分析

记:equation?tex=r_%7By%C2%B7x_1%C2%B7%C2%B7%C2%B7x_p%7D

equation?tex=y

equation?tex=x_1%2Cx_2%2C%C2%B7%C2%B7%C2%B7%2Cx_p 的复相关系数,

equation?tex=r_%7By%C2%B7%5Chat%7By%7D%7D

equation?tex=y

equation?tex=%5Chat%7By%7D 的简单相关系数

equation?tex=r_%7By%C2%B7x_1%C2%B7%C2%B7%C2%B7x_p%7D 的计算公式:

equation?tex=R%3Dcorr%28y%2Cx_1%2C%C2%B7%C2%B7%C2%B7%2Cx_p%29%3Dcorr%28y%2C%5Chat%7By%7D%29%3D%5Cfrac%7Bcov%28y%2C%5Chat%7By%7D%29%7D%7B%5Csqrt%7Bvar%28y%29var%28%5Chat%7By%7D%29%7D%7D

复相关系数常用于多元线性回归分析中,我们希望知道因变量与一组自变量之间的相关程度,即复相关,复相关系数反映了一个变量与另一组变量的密切程度。

假设检验:

与多元回归的方差分析一样,所以我留在下篇文章阐述回归分析与方差分析的时候会继续详细说明

综上:

equation?tex=R%3D%5Csqrt%7B%5Cfrac%7B%5Csum_%7B%7D%5E%7B%7D%7B%28%5Chat%7By_i%7D-%5Cbar%7By%7D%29%5E2%7D%7D%7B%5Csum%28y_i-%5Cbar%7By%7D%29%5E2%7D%7D%3D%5Cfrac%7BSSR%7D%7BSST%7D

至于

equation?tex=SSR

equation?tex=SST 还有

equation?tex=SSE 是什么?

就由下篇文章阐述回归分析的时候会详细说明。TzeSing Kong:线性回归——描述变量间预测关系最简单的回归模型​zhuanlan.zhihu.comv2-ded72b64347f782cdb92e92d4fd6ee48_180x120.jpg

3、决定系数

equation?tex=R%5E2 (coefficient of determination)

在复相关系数中,根号里面的比值

equation?tex=%5Cfrac%7B%5Csum_%7B%7D%5E%7B%7D%7B%28%5Chat%7By_i%7D-%5Cbar%7By%7D%29%5E2%7D%7D%7B%5Csum%28y_i-%5Cbar%7By%7D%29%5E2%7D

其实说明了回归平方和与总离差平方和的比值,反应了回归贡献的百分比

把复相关系数两边平方一下就能得到决定系数

equation?tex=R%5E2%3D%5Cfrac%7B%5Csum_%7B%7D%5E%7B%7D%7B%28%5Chat%7By_i%7D-%5Cbar%7By%7D%29%5E2%7D%7D%7B%5Csum%28y_i-%5Cbar%7By%7D%29%5E2%7D%3D1-%5Cfrac%7BSSE%7D%7BSST%7D%3D1-%5Cfrac%7B%5Csum_%7B%7D%5E%7B%7D%7B%28%5Chat%7By_i%7D-y_i%29%5E2%7D%7D%7B%5Csum%28y_i-%5Cbar%7By%7D%29%5E2%7D

决定系数用于评价多元回归方程、变量选择、曲线回归方程拟合的好坏程度中,常常用到。

【注意】equation?tex=R%5E2 是相关性的度量,并不是准确性的度量!!!

equation?tex=R%5E2 依赖于

equation?tex=y 的波动程度(样本方差),这会使得我们看待模型的好坏有着巨大影响,例如,假设测试集

equation?tex=y 的方差是

equation?tex=4.2 ,如果一个模型的

equation?tex=RMSE%3D1

equation?tex=R%5E2 大致为

equation?tex=76%5C%25 ,但是另一个测试集

equation?tex=y 的方差是

equation?tex=3 (分母小了,

equation?tex=R%5E2 小了),

equation?tex=R%5E2 则变为

equation?tex=67%5C%25 。变成了模型好坏取决于测试集的波动程度,所以这个十分不靠谱

不明白上面的话,可以再看一个例子,如果我们建立了一个模型预测广州房价,如果测试集中广州房屋售价的波动范围较大——方差较大(40万-几千万),因为方差大,所以很可能导致

equation?tex=R%5E2 也比较大(假设

equation?tex=80%5C%25 ),但

equation?tex=RMSE 可能十万,这对于广州房价预测来说是一个很糟糕的预测范围。

具体用法,留在回归分析中详细阐述。TzeSing Kong:线性回归——描述变量间预测关系最简单的回归模型​zhuanlan.zhihu.comv2-ded72b64347f782cdb92e92d4fd6ee48_180x120.jpg

在 线性回归 中的 3.4 决定系数

# 先建立多元线性回归模型

> fm = lm(y~x1+x2+x3+x4,data = X)

计算多元线性回归模型决定系数

> R2 = summary(fm)$r.sq

> R2

[1] 0.9997162

计算复相关系数

> R = sqrt(R2)

> R

[1] 0.9998581

【补】

什么是RMSE?

RMSE是回归问题的性能指标,衡量的是 预测值

equation?tex=h%28x%5E%7B%28i%29%7D%29 与 真实值

equation?tex=y%5E%7B%28i%29%7D 间的差距

是测量预测误差的标准差

equation?tex=RMSE%28X%2Ch%29%3D%5Csqrt%7B%5Cfrac%7B1%7D%7Bm%7D%5Csum_%7Bi%3D1%7D%5Em%28h%28x%5E%7B%28i%29%7D%29-y%5E%7B%28i%29%7D%29%5E2%7D

举例子:RMSE 等于 50000,根据【

equation?tex=3%5Csigma 准则】意味着:

大约 68% 的预测值位于真实值的 50000元(

equation?tex=1%5Csigma )以内,

大约 95% 的预测值位于真实值的 100000元 (

equation?tex=2%5Csigma )以内,

大约 99.7% 的预测值位于真实值的 150000元内 (

equation?tex=3%5Csigma )以内

五、小结:

可以看出多变量相关分析跟回归分析的关系很密切,多变量相关分析能为回归分析服务,因为要具有相关性才有做线性回归拟合的价值

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/940765
推荐阅读
相关标签
  

闽ICP备14008679号