我将混合模型拟合到数据 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)
我将混合模型拟合到数据 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
。
您的模型:
模型 <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=A)
基于您的模型的 2 个预测:
pred1=predict(model,newdata=A,type='response')
pred2=predict(model,newdata=B,type='response')
错过:计算误报百分比的函数,截止设置为 0.5。
(预测为真,但实际上这些观察结果并不积极)
错过=函数(值,预测){sum(((预测> 0.5)* 1)!=值)/长度(值)}
错过(A,pred1)
错过(B,pred2)