blob: 4ec3d7d425bace7378151d74e2f373d45bb40a34 (
plain) (
tree)
|
|
#' Calculated the log-likelihood of a fitted mkinfit object
#'
#' This function simply calculates the product of the likelihood densities
#' calculated using \code{\link{dnorm}}, i.e. assuming normal distribution,
#' with of the mean predicted by the degradation model, and the standard
#' deviation predicted by the error model.
#'
#' The total number of estimated parameters returned with the value of the
#' likelihood is calculated as the sum of fitted degradation model parameters
#' and the fitted error model parameters.
#'
#' @param object An object of class \code{\link{mkinfit}}.
#' @param \dots For compatibility with the generic method
#' @return An object of class \code{\link{logLik}} with the number of estimated
#' parameters (degradation model parameters plus variance model parameters)
#' as attribute.
#' @author Johannes Ranke
#' @seealso Compare the AIC of columns of \code{\link{mmkin}} objects using
#' \code{\link{AIC.mmkin}}.
#' @examples
#'
#' \dontrun{
#' sfo_sfo <- mkinmod(
#' parent = mkinsub("SFO", to = "m1"),
#' m1 = mkinsub("SFO")
#' )
#' d_t <- FOCUS_2006_D
#' f_nw <- mkinfit(sfo_sfo, d_t, quiet = TRUE) # no weighting (weights are unity)
#' f_obs <- mkinfit(sfo_sfo, d_t, error_model = "obs", quiet = TRUE)
#' f_tc <- mkinfit(sfo_sfo, d_t, error_model = "tc", quiet = TRUE)
#' AIC(f_nw, f_obs, f_tc)
#' }
#'
#' @export
logLik.mkinfit <- function(object, ...) {
val <- object$logLik
# Number of estimated parameters
attr(val, "df") <- length(object$bparms.optim) + length(object$errparms)
return(val)
}
|