来自 R 的多元线性回归和 MSE
Posted
技术标签:
【中文标题】来自 R 的多元线性回归和 MSE【英文标题】:Multiple Linear Regression and MSE from R 【发布时间】:2014-12-26 01:21:01 【问题描述】:有一个数据集(在这里找到-https://netfiles.umn.edu/users/nacht001/www/nachtsheim/Kutner/Appendix%20C%20Data%20Sets/APPENC01.txt),我已经为线性回归做了一些 R 编码。在附加的数据集中,列未标记。我必须标记数据集的列并将其另存为 csv,我很抱歉我无法在这里得到它……但我使用的列是第 3 列(年龄)第 4 列(感染)第 5 列(文化比)列10(人口普查)和第 12 栏(服务),第 9 栏(地区)。我将数据集命名为医院。
我应该“对于每个地理区域,使用一阶回归模型对预测变量年龄、文化、人口普查、服务回归感染风险 (Y)。然后我需要找到每个区域的 MSE。这是我有的代码。
NE<- subset(hospital, region=="1")
NC<- subset(hospital, region=="2")
S<- subset(hospital, region=="3")
W<- subset(hospital, region=="4")
然后做一个一阶线性回归模型,我使用每个的基本代码
NE.Model<- lm(NE$infection~ NE$age + NE$culratio + NE$census + NE$service)
summary(NE.Model)
我可以得到调整后的 R 平方值,但是如何从这个输出中找到 MSE?
【问题讨论】:
mean(NE.Model$residuals^2)
应该可以工作。
【参考方案1】:
将我的评论移至答案。 “误差”或“残差”是模型对象NE.Model$residuals
的一部分,因此获得均方误差就这么简单:mean(NE.Model$residuals^2)
。
请注意,您可以通过在模型中拟合 region
固定效应项,然后计算每个残差子集的 MSE,从而以更少的步骤完成此操作。真的是一样的区别。
【讨论】:
非常感谢。我还有另一个问题,但我现在无法发布它,因为我刚刚发布了这个问题。在这种情况下,我如何找到两个变量之间关系的 98% 置信区间?我有代码 g @hk47 我喜欢arm
包,因为它的se.coef
函数可以提取系数的标准误差。所以你的 CI 的宽度是se.coef(NE.Model)
乘以你想要的任何 alpha 级别,例如qnorm(0.975)
95% 或 qnorm(0.99)
98%。以上是关于来自 R 的多元线性回归和 MSE的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB怎么做多元线性回归,并对偏回归系数做t检验,并求出p值