R: A 'logLik' method for 'ergm'.

logLik.ergm {ergm} | R Documentation

## A `logLik` method for `ergm`.

### Description

A function to return the log-likelihood associated with an `ergm` fit, evaluating it if necessary. `logLikNull` computes, when possible (see Value), the log-probability of observing the observed, unconstrained dyads of the network observed under the null model.

### Usage

    ## S3 method for class 'ergm'
    logLik(object,
                          add=FALSE,
                          force.reeval=FALSE,
                          eval.loglik=add || force.reeval,
                          control=control.logLik.ergm(),
                          ...)

    logLikNull(object, ...)

    ## S3 method for class 'ergm'
    logLikNull(object,
                              control=control.logLik.ergm(),
                              ...)

### Arguments

`object` | An `ergm` fit, returned by `ergm`.
`add` | Logical: If TRUE, instead of returning the log-likelihood, return `object` with log-likelihood value set.
`force.reeval` | Logical: If TRUE, reestimate the log-likelihood even if `object` already has an estiamte.
`eval.loglik` | Logical: If TRUE, evaluate the log-likelihood if not set on `object`.
`control` | A list of control parameters for algorithm tuning. Constructed using `control.logLik.ergm`.
`...` | Other arguments to the likelihood functions.

### Details

If the log-likelihood was not computed for `object`, produces an error unless `eval.loglik=TRUE`

### Value

The form of the output of `logLik.ergm` depends on `add`: `add=FALSE` (the default), a `logLik` object. If `add=TRUE` (the default), an `ergm` object with the log-likelihood set.

`logLikNull` returns an object of type `logLik` if it is able to compute the null model probability, and `NA` otherwise.

As of version 3.1, all likelihoods for which `logLikNull` is not implemented are computed relative to the reference measure. (I.e., a null model, with no terms, is defined to have likelihood of 0, and all other models are defined relative to that.)

### References

Hunter, D. R. and Handcock, M. S. (2006) Inference in curved exponential family models for networks, Journal of Computational and Graphical Statistics.

### See Also

`logLik`, `ergm.bridge.llr`, `ergm.bridge.dindstart.llk`

### Examples

    # See help(ergm) for a description of this model. The likelihood will
    # not be evaluated.
    data(florentine)
    ## Not run:
    # The default maximum number of iterations is currently 20. We'll only
    # use 2 here for speed's sake.
    gest <- ergm(flomarriage ~ kstar(1:2) + absdiff("wealth") + triangle, eval.loglik=FALSE)

    gest <- ergm(flomarriage ~ kstar(1:2) + absdiff("wealth") + triangle, eval.loglik=FALSE,
                 control=control.ergm(MCMLE.maxit=2))
    # Log-likelihood is not evaluated, so no deviance, AIC, or BIC:
    summary(gest)
    # Evaluate the log-likelihood and attach it to the object.

    # The default number of bridges is currently 20. We'll only use 3 here
    # for speed's sake.
    gest.logLik <- logLik(gest, add=TRUE)

    gest.logLik <- logLik(gest, add=TRUE, control=control.logLik.ergm(nsteps=3))
    # Deviances, AIC, and BIC are now shown:
    summary(gest.logLik)
    # Null model likelihood can also be evaluated, but not for all constraints:
    logLikNull(gest) # == network.dyadcount(flomarriage)*log(1/2)

    ## End(Not run)

[Package ergm version 3.8.0 Index]