R语言与多元线性回归方程及各种检验

R语言实战:多元线性回归与共线性、异方差性检测及其修正

R语言与多元线性回归方程及各种检验


一、模型建立

数据放在最后,自取试建立y与x1,x2,x3,x4,x5的线性回归方程
试建立y与
代码如下:

a<-read.csv("eg2.1.csv",header=T);a
b<-lm(y~x1+x2+x3+x4+x5,data=a)

这里介绍一个包,可以把结果用表格显示:

install.packages("flextable")
library(flextable)#制作表格
as_flextable(b)

输出结果如下:
在这里插入图片描述
得到回归方程

y = − 32 + 0.163 x 1 + 0.228 x 2 + 0.881 x 3 − 0.05 x 4 + 0.169 x 5 y=-32+0.163x_1+0.228x_2+0.881x_3-0.05x_4+0.169x_5 y=32+0.163x1+0.228x2+0.881x30.05x4+0.169x5

二、多重共线性

(1)产生的背景:

1.经济变量间具有共同变化的趋势。例如,对于时间序列数据收入、消费、就业率等等,在经济上升时期均呈现增长的趋势,而在经济收缩期,又都呈现下降趋势。当这些变量同时作为解释变量进入模型时就会带来多重共线性问题。
2.模型中引入了滞后变量,变量X常常与滞后变量高度相关
3.利用截面数据建立模型也可能会出现多重共线性。利用截面数据建模时,许多变量变化与发展规模有关,会出现同步增长的趋势,如资本、劳动力、科技、能源等投入与产出的规模相关,这时容易产生多重共线性。
4.样本数据自身的原因。例如,抽样仅仅限于总体中解释变量取值的一个有限范围,使得变量间变异不大;或由于总体受限,多个解释变量的样本数据相关,这时都可能出现多重共线性。

(2)多重共线性的检验

1.简单相关系数法:

一般而言,如果每两个解释变量的简单的相关系数(0阶自相关系数)比较高,如大于0.8,则可认为存在严重的多重共线性。

ab<-a[,c(2:6)]#只保留解释变量
corr<-cor(ab);corr
corrplot(corr,method="number",type="full",mar=c(0,0,0,0) ,bg="black",tl.col = "blue")

其中corrplot函数详细见这篇文章:
相关系数热力图
在这里插入图片描述
由上图可知,x1和x3的相关系数为0.73,初步判断不存在多重共线性。

2.方差膨胀因子(vif)法

一般vif大于10即可认为存在严重的多重共线性:
通过建立x1~x2+x3+x4+x5的线性关系得到R方,那么x1的方差膨胀因子就是
V I F = 1 1 − R 2 VIF=\frac{1}{1-R^2} VIF=1R21
其他的类似,r语言有vif这个函数可以直接求:

library(car)#检验多重共线性的包
vif(b)#b是线性回归的结果

VIF
可以看出:vif值都小于10,即可判断出没有多重共线性

3.矩阵 X T X X^TX XTX的条件数k

条件数的定义为:
   k ( X T X ) = ∥ X T X ∥ ⋅ ∥ ( X T X ) − 1 ∥ = λ max ⁡ ( X T X ) λ min ⁡ ( X T X ) \,\,k\left( X^TX \right) =\left\| X^TX \right\| \cdot \left\| \left( X^TX \right) ^{-1} \right\| =\frac{\lambda _{\max \left( X^TX \right)}}{\lambda \min \left( X^TX \right)}

<think>好的,用户现在问的是QR分解中的Q矩阵是什么矩阵。之前他们问过正则矩阵和正定阵的关系,现在转向矩阵分解,可能是在学习线性代数或数值分析的相关内容。需要先确认QR分解的基本概念,然后重点解释Q矩阵的性质。 首先,QR分解是将一个矩阵分解为正交矩阵Q和上三角矩阵R的乘积。用户可能已经知道分解的存在,但需要明确Q的具体性质。Q是正交矩阵,这一点是关键,所以需要详细说明正交矩阵的定义,比如列向量单位正交,Q转置乘Q等于单位矩阵等。 然后,要考虑用户可能的疑问,比如Q矩阵是否一定是方阵?这里需要指出,当A是m×n矩阵且m≥n时,Q是m×m的正交矩阵,而R是m×n的上三角矩阵。如果是经济版本的分解,Q可能是m×n,但列仍然正交,这时候可能不是方阵,但通常QR分解指的是完全的分解,Q是方阵。 还要注意用户可能混淆正交矩阵和可逆矩阵的关系。正交矩阵一定是可逆的,因为其行列式绝对值是1,所以Q矩阵也是可逆的,但用户之前的问题是关于正定阵和可逆矩阵的关系,这里可能需要避免混淆,强调正交矩阵的特殊性质。 另外,用户可能需要了解Q矩阵的作用,比如在解线性方程组、最小二乘法中的应用,或者特征值计算中的用途。但问题主要问的是Q是什么矩阵,所以应该先回答定义,再简要提及应用场景。 需要检查是否有常见的误解,例如是否所有矩阵都能进行QR分解?应该说明任何实矩阵都可以进行QR分解,而Q的正交性是通过Gram-Schmidt过程或其他方法(如Householder变换)实现的。 最后,结构要清晰,先定义QR分解,然后Q的性质,再举例说明,可能的话对比不同情况下的Q矩阵维度,确保用户理解不同情况下的形式。同时保持语言简洁,避免过于技术化,适合不同层次的理解。</think>以下是关于 **QR分解中Q矩阵** 的逐步解释: --- ### 1. **QR分解的定义** QR分解是将一个实矩阵 $A$($m \times n$,通常 $m \geq n$)分解为两个矩阵的乘积: $$ A = Q \cdot R $$ 其中: - **$Q$ 是正交矩阵**(Orthogonal Matrix) - **$R$ 是上三角矩阵**(Upper Triangular Matrix) --- ### 2. **Q矩阵的性质** #### (1) **正交性** - $Q$ 的每一列都是 **单位向量**,且列向量之间 **两两正交**。 数学表述:若 $Q = [\mathbf{q}_1, \mathbf{q}_2, \dots, \mathbf{q}_n]$,则: $$ \mathbf{q}_i^T \mathbf{q}_j = \begin{cases} 1 & \text{若 } i = j, \\ 0 & \text{若 } i \neq j. \end{cases} $$ - 正交矩阵满足: $$ Q^T Q = I \quad \text{且} \quad Q^{-1} = Q^T $$ 其中 $Q^T$ 是 $Q$ 的转置,$I$ 是单位矩阵。 #### (2) **维度** - 当 $A$ 是 $m \times n$ 矩阵时: - **完全 QR分解**:$Q$ 是 $m \times m$ 方阵,$R$ 是 $m \times n$ 上三角矩阵。 - **经济版 QR分解**(常用):若 $m > n$,$Q$ 保留前 $n$ 列正交向量,维度为 $m \times n$,$R$ 为 $n \times n$ 上三角矩阵。 --- ### 3. **Q矩阵的作用** - **几何意义**:$Q$ 的列向量构成 **标准正交基**,代表旋转/反射操作,保持向量长度和夹角不变。 - **数值稳定性**:正交变换(如Householder变换或Gram-Schmidt过程)在计算中避免误差放大。 - **应用场景**: - 解线性方程组($Ax = b$) - 最小二乘问题(如线性回归) - 计算特征值(如QR算法) --- ### 4. **示例说明** **例1**:对矩阵 $A = \begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}$ 进行QR分解,得到: $$ Q = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}, \quad R = \frac{1}{\sqrt{2}} \begin{pmatrix} 2 & 1 \\ 0 & 1 \end{pmatrix} $$ 验证 $Q^T Q = I$: $$ Q^T Q = \frac{1}{2} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} = I $$ --- ### 5. **其它矩阵的对比** | 矩阵类型 | 正交矩阵 $Q$ | 可逆矩阵 | 正定阵 | |------------|-----------------------------|----------------|-----------------| | **性质** | $Q^T Q = I$ | $\det(A) \neq 0$ | 对称且 $\mathbf{x}^T A \mathbf{x} > 0$ | | **关系** | 正交矩阵必可逆($Q^{-1}=Q^T$) | 可逆矩阵未必正交 | 正定阵必可逆 | --- ### 6. **总结** - **Q矩阵是正交矩阵**,其列向量构成标准正交基。 - QR分解的核心是通过正交变换将原矩阵 $A$ 转换为易于处理的上三角形式 $R$。 - Q的正交性保证了数值计算的稳定性和几何意义的不变性。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值