2017-02-15 43 views
0

給出R中的擬合模型(即類'lm','glm','merMod'等的對象),我試圖找出如何計算新數據集的概率。也就是說,我希望數據集B的概率(密度)在通過將模型擬合到數據集A而獲得的參數估計之下。我知道如何做到這一點,但我想知道一個簡單的預先存在的函數可以在R中做到這一點。是否有一個簡單的功能來做到這一點?擬合模型下新數據集的概率(密度)

This question是非常相似的,但我想這樣做的R.

回答

0

的線性迴歸模型lm,你可以使用下面的函數來確定和可視化的可能性,假設線性模型的殘差擬合正態分佈(這些函數從this R Blogger Post適於;該過程的基本原理可以在this post找到):

log_lik <- function(beta0, beta1, mu, sigma) { 
    ## beta0 and beta1 require intial guesses 
    R <- y - x * beta1 - beta0 
    R <- dnorm(R, mu, sigma, log=T) 
    return(-sum(R)) 
} 
library(stats4) 
fit <- mle(log_lik, start=list(beta0=4, beta1=2, mu = 0, sigma=1)) 
summary(fit) 
## mu will be your estimated likelihood 
## sigma will be uncertainty 

對於glmthis post in Cross Validated提供了可能性用戶定義R裏面的函數。如果你可以提供一個涉及lmglm等的特定示例,那將是很好的。如果你只是想知道這些模型的一般性,交叉驗證,數學或數據科學可能是更好的地方問)。