繁体   English   中英

如何将我构建的模型拟合到另一个数据集并获得残差?

[英]How to fit a model I built to another data set and get residuals?

我在数据A中安装了一个混合模型,如下所示:

model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=A)

接下来,我想看看模型如何适合数据B并获得估计的残差。 R中是否有可以使用的功能?

(我尝试了以下方法,但获得了所有新系数。)

model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=B)

您在第二次尝试使用data=B获得新系数的原因是函数lme使用您提供的公式返回适合您的数据集的模型,并将该模型存储在您选择的变量model中。

要获取有关模型的更多信息,可以键入summary(model_name) nlme库包含一个名为predict.lme的方法,它允许您根据拟合的模型进行预测。 您可以键入predict(my_model)以使用原始数据集获取预测,或者键入如上所述的predict(my_model, some_other_data)以使用该模型生成预测但使用不同的数据集。

在您获取残差的情况下,您只需要从观测值中减去预测值。 所以使用predict(my_model,some_other_data) - some_other_data$dependent_var ,或者在你的情况下predict(model,B) - B$Y

你模型:

model < - lme(Y~1 + X1 + X2 + X3,random = ~1 | Class,method =“ML”,data = A)

2个基于您的模型的预测:

PRED1 =预测(模式,newdata = A,类型= '响应')
PRED2 =预测(模式,newdata = B,类型= '响应')

miss:计算误报百分比的函数,截止值设置为0.5。
(预测是真实的,但实际上这些观察结果不是正面的)

miss = function(values,prediction){sum(((prediction> 0.5)* 1)!= values)/ length(values)}

错过(A,PRED1)
错过(B,PRED2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM