簡體   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