赖江山的博客分享 http://blog.sciencenet.cn/u/laijiangshan 生态、统计与R语言

博文

为什么SEM中通径系数会大于1?

已有 1270 次阅读 2021-1-7 16:23 |系统分类:科研笔记

     SEM是现代生态学研究非常时髦的分析方式。但很多人可能无法理解一个现象,为什么选取的通径系数是标准化后的系数,其绝对值怎么能够超过1?其实,当解释变量如果存在强共线性的时候,这种情况是可能会出现的。因为,SEM里面的通径系数就是多元线性回归系数。这个问题也就等同于多元线性回归标准化的系数(beta系数)绝对值是否能超过1?要回答这个问题,我们来看一下多元线性回归的系数计算过程就能明白。

     多元线性回归中某个解释变量(xi)的回归系数算法:以xi为响应变量,以其他解释变量作为解释变量进行线性回归分析,得到残差再做为新的解释变量跟响应变量(y)进行一元线性回归后得到slope就是xi的在多元回归中的回归系数。在R里面的表达式:

               re=resid(lm(xi~其他的解释变量))

               lm(y~re)

    【如果不信的话可以自己在R里面试一下】

      而一元回归(也就是后面这步lm(y~re))的回归系数可以通过"解释变量与响应变量的相关系数x响应变量标准差/解释变量的标准差"(即:cor(y,re)*sd(y)/sd(re))。此时,cor(y,re)肯定是处于-1到1之间,而sd(y)为1(因为我们计算标准化的系数,y和原始的解释变量必须提前标准化),那么这时sd(re)可以小于1(因为没有对re进行标准化),因此“ cor(y,re)*sd(y)/sd(re)”的取值范围就可能超出[-1,1]范围,且sd(re)越小,回归系数超出范围的概率就越大,什么时候re小呢? 也就是目标解释变量(xi)与其他解释变量共线性很强的时候,第一步回归(lm(xi~其他的解释变量))的R2很高,re就可能很小,导致sd(y)/sd(re)很大,这个值乘于cor(y,re)还是可能超过1的。所有这样分析,就能理解为什么通径系数,也就是标准化的多元线性回归系数的取值可以超过-1,1]范围。总之一句话,标准化的回归系数的绝对值超过1是由于强共线性引起的,是一种常见的现象。



http://blog.sciencenet.cn/blog-267448-1266137.html

上一篇:群落Whittaker指数的R实现
下一篇:如何提取多元回归lm里面的全模型的p值

1 房苗

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-4-15 02:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部