#' Function to determine if a feature is still active.
#'
#' In the Expectation Maximization routine features posterior probabilities routinely converge based on a tolerance threshold. This function checks
#' whether or not the feature's negative log-likelihood (measure of the fit) has changed or not.
#'
#' @param eps Vector of size M (features) representing the relative difference between the new nll and old nll.
#' @param tol The threshold tolerance for the difference
#' @param stillActive A vector of size M booleans saying if a feature is still active or not.
#' @param stillActiveNLL A vector of size M recording the negative log-likelihoods of the various features, updated for those still active.
#' @param nll Vector of size M with the current negative log-likelihoods.
#' @return None.
#'
#' @name isItStillActive
#' @seealso \code{\link{fitZig}}
#'
isItStillActive <-
function(eps, tol,stillActive,stillActiveNLL,nll){
stillActive[stillActive]=!is.finite(eps[stillActive]) | eps[stillActive]>tol
stillActive[which(is.na(eps))]=FALSE
stillActiveNLL[stillActive]=nll[stillActive]
dat = list(stillActive=stillActive,stillActiveNLL = stillActiveNLL)
return(dat)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.