我想知道是否有办法为线性回归模型包含错误术语,如:
r = lm(y ~ x1+x2)
答案 0 :(得分:4)
代码r = lm(y ~ x1+x2)
意味着我们将y建模为x1和x2的线性函数。由于模型不完美,因此会有一个剩余项(即模型无法适应的剩余项)。
在数学方面,正如Rob Hyndman在评论中所指出的那样y = a + b1*x1 + b2*x2 + e
,其中a
,b1
和b2
是常数,e
是你的残差(假设是正态分布的。)
要查看具体示例,请考虑R附带的虹膜数据。
model1 <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data=iris)
现在我们可以从模型中提取常量(相当于a
,b1
,b2
,在这种情况下也是b3
。
> coefficients(model1)
(Intercept) Sepal.Width Petal.Length Petal.Width
1.8559975 0.6508372 0.7091320 -0.5564827
已计算模型中使用的每行数据的残差。
> residuals(model1)
1 2 3 4 5
0.0845842387 0.2100028184 -0.0492514176 -0.2259940935 -0.0804994772
# etc. There are 150 residuals and 150 rows in the iris dataset.
(编辑:剪切摘要信息不相关。)
编辑:
您在评论中提到的Error
值,在aov的帮助页面上有解释。
If the formula contains a single ‘Error’ term, this is used to
specify error strata, and appropriate models are fitted within
each error stratum.
比较以下内容(改编自?aov
页面。)
> utils::data(npk, package="MASS")
> aov(yield ~ N*P*K, npk)
Call:
aov(formula = yield ~ N * P * K, data = npk)
Terms:
N P K N:P N:K P:K N:P:K Residuals
Sum of Squares 189.2817 8.4017 95.2017 21.2817 33.1350 0.4817 37.0017 491.5800
Deg. of Freedom 1 1 1 1 1 1 1 16
Residual standard error: 5.542901
Estimated effects may be unbalanced
> aov(yield ~ N*P*K + Error(block), npk)
Call:
aov(formula = yield ~ N * P * K + Error(block), data = npk)
Grand Mean: 54.875
Stratum 1: block
Terms:
N:P:K Residuals
Sum of Squares 37.00167 306.29333
Deg. of Freedom 1 4
Residual standard error: 8.750619
Estimated effects are balanced
Stratum 2: Within
Terms:
N P K N:P N:K P:K Residuals
Sum of Squares 189.28167 8.40167 95.20167 21.28167 33.13500 0.48167 185.28667
Deg. of Freedom 1 1 1 1 1 1 12
Residual standard error: 3.929447
1 out of 7 effects not estimable
Estimated effects may be unbalanced