2017-02-15 32 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 

Для glm, this post in Cross Validated обеспечивает определяемые пользователем функции R для вероятности.

(ps: Было бы неплохо, если бы вы могли предоставить конкретный пример, включающий один из , glm и т. Д. Если вы просто хотите знать эти модели в целом, перекрестные проверки, математика или наука о данных могут быть лучшими местами спросить.)

 Смежные вопросы

  • Нет связанных вопросов^_^