c语言sscanf函数的用法是什么
321
2022-09-26
多重共线性诊断与R语言实践
鄙人学习笔记 参考文献:《计量经济学模型及R语言应用》-王斌会
文章目录
变量的多重共线性诊断
特征根分析法条件数法方差扩大因子法直观判定法举个例子(R语言)
变量的多重共线性诊断
多元线性回归模型的一个基本假设,就是要求自变量矩阵X列满秩,即秩rank(X)=p,也就是要求X的列向量之间线性无关。如果X的列不满秩,则(X’X)-1将不存在,于是基于最小二乘回归系数估计,b = (X’X)-1X’y将不存在,所以很难得出稳定的结果。
特征根分析法
条件数法
方差扩大因子法
一般标准: ①当0
由于VIF=1/TOL (TOL称为容忍度),所以也可以用TOL来诊断复共线性。
直观判定法
举个例子(R语言)
数据:
输入:
Xdf <- testdf[, -1]Xscale <- scale(Xdf, T, T)#scale(data, center=T,scale=T)#1.center和scale默认为TRUE #2.center为TRUE 表示数据中心化 #3.scale为TRUE 表示数据标准化Rtest <- (t(as.matrix(Xscale)) %*% as.matrix(Xscale))/14# * 是表示两个矩阵中对应的元素的乘积# %*% 表示通常意义下的矩阵乘积,要求第一个矩阵的列数与第二个矩阵行数相等。#相关矩阵 = t(scale(X))*scale(X)/(n-1)#备注:X为解释变量矩阵,维度是n*p;n为样本量(Rtest)(R01 <- cor(Xscale))#查看我们自制的相关矩阵和R给出的相关矩阵是否一样#1.特征分析法(lamda = eigen(Rtest)$value)#本次实验的相关系数矩阵最小特征根为0.1626082 >0.1 则不存在复共线性#2.条件数法(CN = max(lamda)/min(lamda))#本次实验中CN = 11.53401,0<= CN <= 30, 则不存在多重共线性#3.方差扩大因子法(VIF)R2 <- summary(lm(x2 ~ x1 + x3, data = testdf))$r.sq(VIF1 <- 1/(1 - R2))#本次实验中VIF = 3.383924,0<= VIF <-5,同样没有复共线性
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~