Frisch-Waugh 定理:用 R 语言验证多重回归模型系数估计
Frisch-Waugh 定理是一个统计学结果,它指出多重回归模型中的系数可以通过在控制其他变量后对因变量和自变量分别进行回归来估计。
为了用 R 语言演示 Frisch-Waugh 定理,我们可以从加载数据集和拟合多重回归模型开始。假设我们有一个数据集,包含三个变量:'Y' 作为因变量,'X1' 和 'X2' 作为自变量,以及 'Z' 作为控制变量。
# 加载必要的包
library(lmtest)
# 加载数据集
data <- read.csv('dataset.csv')
# 拟合多重回归模型
model <- lm(Y ~ X1 + X2 + Z, data = data)
# 从模型中提取残差
residuals <- residuals(model)
# 对 Y 进行第一阶段回归,控制 X2 和 Z
stage1_model <- lm(Y ~ X2 + Z, data = data)
# 从第一阶段回归中提取残差
stage1_residuals <- residuals(stage1_model)
# 对 X1 进行第二阶段回归,控制 X2 和 Z
stage2_model <- lm(X1 ~ X2 + Z, data = data)
# 从第二阶段回归中提取系数
stage2_coefficients <- coef(stage2_model)
# 使用 Frisch-Waugh 定理估计 X1 对 Y 的影响,控制 X2 和 Z
FW_estimate <- lm(stage1_residuals ~ stage2_residuals)
# 打印系数估计值
print(coef(FW_estimate))
在这段代码中,我们首先加载必要的包,然后使用 read.csv() 函数加载数据集。我们使用 lm() 函数拟合多重回归模型,其中 'Y' 为因变量,'X1'、'X2' 和 'Z' 为自变量。
接下来,我们使用 residuals() 函数从模型中提取残差。我们对 'Y' 进行第一阶段回归,控制 'X2' 和 'Z',并从该回归中提取残差。
然后,我们对 'X1' 进行第二阶段回归,控制 'X2' 和 'Z',并从该回归中提取系数。
最后,我们通过对第一阶段残差进行简单线性回归,对第二阶段残差进行回归,使用 Frisch-Waugh 定理估计 'X1' 对 'Y' 的影响,控制 'X2' 和 'Z'。
Frisch-Waugh 回归的估计系数代表了控制 'X2' 和 'Z' 时 'X1' 对 'Y' 的影响。
原文地址: https://www.cveoy.top/t/topic/qCn4 著作权归作者所有。请勿转载和采集!