问题描述
根据在R中指定线性回归模型(用于分类变量)的方式,我得到不同的标准误差值。
例如,
library(alr4)
library(tidyverse)
FactorModel <- lm(I(log(acrePrice)) ~ I(as.factor(year)),data = MinnLand)
summary(FactorModel)
但是,如果我将回归模型指定为“ +0”,则标准误差(以及其他值)也会有所不同。
FactorModel1 <- lm(I(log(acrePrice)) ~ I(as.factor(year)) + 0,data = MinnLand)
summary(FactorModel1)
我怎么知道哪一个是正确的标准错误?我有点理解如何解释这些估计。例如,在第一个模型中,如果我想知道2003年的估计值,则其截距+ 2003年的系数。但是,在第二个模型中,它会自动计算实际值。
对标准错误有类似的解释吗?
解决方法
第一个模型具有截距,但是第二个模型根本没有截距,因此它们具有不同的残差。因此,假设标准误差是残差标准偏差的估计值,则它们具有不同的残差标准误差。由于它们是不同的模型,因此它们也具有不同的系数和系数标准误差。我们可以看到第一个模型的截距很重要(旁边有三颗星),但是您也可以使用anova
比较模型:
anova(FactorModel1,FactorModel)
使用predict
来获取预测,但是如果您首先将转换后的变量放入数据框中,然后使用这些变量而不是尝试在公式中对其进行转换,则使用预测会更容易。