偏相关分析(partial correlation)-排除某些变量的影响( control variables)

在多要素所构成的系统中,当研究某一个要素对另一个要素的影响或相关程度时,把其他要素的影响视作常数(保持不变),即暂时不考虑其他要素影响,单独研究两个要素之间的相互关系的密切程度,所得数值结果为偏相关系数。也就是我们在论文中看到的control variables(Age, educateion, gender)等与实验无关的变量Z,但是又影响因变量Y。

多元回归分析中,在消除其他变量影响的条件下,所计算的某两变量之间的相关系数。在多元相关分析中,简单相关系数可能不能够真实的反映出变量X和Y之间的相关性,因为变量之间的关系很复杂,它们可能受到不止一个变量的影响。这个时候偏相关系数是一个更好的选择。

假设我们需要计算X和Y之间的相关性,Z代表其他所有的变量,X和Y的偏相关系数可以认为是X和Z线性回归得到的残差Rx与Y和Z线性回归得到的残差Ry之间的简单相关系数,即pearson相关系数。

得到便相关系数partial correlation coefficient。 x,y是想要分析相关的变量,z是想要control的变量。

R,Matlab 和spss上实现:

R method 1:借助工具包“dplyr"里面的函数pcor.test

library(dplyr)

stats2 <- pcor.test(X,Y,Z,method="pearson")

methods:"pearson", "spearman","kendall"

Results:


R method 2:用定义,借助工具包“stats"里面的cor.test,lm,residuals函数

library(stats)

r1 <- residuals(lm(formula=X~Z))

r2 <- residuals(lm(formula=Y~Z))

stats3 <- cor.test(r1,r2,method="pearson")

这样写lm 函数,线性回归拟合的方程为:X=B1*Z+B01; Y= B2*Z+B02, 默认线性回归的函数是有截距的。

Results:


Matlab:利用partialcorr 函数

[rho,p_value] = partialcorr(X,Y,Z,'type','Pearson');

Results:


Matlab method 2:用回归误差相关的思路来求偏相关系数(错误代码示例

[B1,BINT1,R1,RINT1] = regress(X,Z); 

[B2,BINT2,R2,RINT2] = regress(Y,Z); 

[rho,p_value] = corr(R1,R2,'type','Pearson');

这样写regress 函数,线性回归拟合的方程为:X=B1*Z; Y= B2*Z,默认回归函数没有截距。

Results:


注意:结果不一样,貌似做了同样的事情,得不到相同的结果。其实是因为Matlab regress函数的特殊用法,需要一个全一向量来占位b0

 正确代码示例

[B1,BINT1,R1,RINT1] = regress(X,[ones(size(Z,1),1),Z]); 

[B2,BINT2,R2,RINT2] = regress(Y,[ones(size(Z,1),1),Z]); 

[rho,p_value] = corr(R1,R2,'type','Pearson');

这样写regress 函数,线性回归拟合的方程为:X=B1(1,1)*1+B1(1,2)*Z; Y= B2(1,1)*1+B2(1,2)*Z. 由于regress默认回归函数没有截距,所以要自己添加一个全1的向量,回归结果中这个时候B1(1,2)(B2(1,2))才是变量Z的系数,B1(1,1)(B1(1,2))是截距.

Results:结果与上面一致了


SPSS:



Results:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容