R: Find a maximizer to the psuedolikelihood function

ergm.mple {ergm} | R Documentation

## Find a maximizer to the psuedolikelihood function

### Description

The `ergm.mple` function finds a maximizer to the psuedolikelihood function (MPLE). It is the default method for finding the ERGM starting coefficient values. It is normally called internally the ergm process and not directly by the user. Generally `ergmMPLE` would be called by users instead.

`ergm.pl` is an even more internal workhorse function that prepares many of the components needed by `ergm.mple` for the regression rountines that are used to find the MPLE estimated ergm. It should not be called directly by the user.

### Usage

    ergm.mple(
      nw,
      fd,
      m,
      init = NULL,
      MPLEtype = "glm",
      family = "binomial",
      save.xmat = TRUE,
      control = NULL,
      verbose = FALSE,
      ...
    )

    ergm.pl(
      nw,
      fd,
      m,
      theta.offset = NULL,
      control,
      ignore.offset = FALSE,
      verbose = FALSE
    )

### Arguments

`nw` | response `network` or `ergm_state`.
`fd` | An `rlebdm` with informative dyads.
`m` | the model, as returned by `ergm_model`
`init` | a vector a vector of initial theta coefficients
`MPLEtype` | the method for MPL estimation as "penalized", "glm" or "logitreg"; default="glm"
`family` | the family to use in the R native routine `glm`; only applicable if "glm" is the 'MPLEtype'; default="binomial"
`control` | A list of control parameters for algorithm tuning, typically constructed with `control.ergm()`. Its documentation gives the the list of recognized control parameters and their meaning. The more generic utility `snctrl()` (StatNet ConTRoL) also provides argument completion for the available control functions and limited argument name checking.
`verbose` | A logical or an integer to control the amount of progress and diagnostic information to be printed. `FALSE`/`0` produces minimal output, wit higher values producing more detail. Note that very high values (5+) may significantly slow down processing.
`...` | additional parameters passed from within; all will be ignored
`theta.offset` | a numeric vector of length equal to the number of statistics of the model, specifying (positionally) the coefficients of the offset statistics; elements corresponding to free parameters are ignored.
`ignore.offset` | If `FALSE` (the default), columns corresponding to terms enclosed in `offset()` are not returned with others but are instead processed by multiplying them by their corresponding coefficients (which are fixed, by virtue of being offsets) and the results stored in a separate column.

### Details

According to Hunter et al. (2008): "The maximizer of the pseudolikelihood may thus easily be found (at least in principle) by using logistic regression as a computational device." In order for this to work, the predictors of the logistic regression model must be calculated. These are the change statistics as described in Section 3.2 of Hunter et al. (2008), put into matrix form so that each pair of nodes is one row whose values are the vector of change statistics for that node pair. The ergm.pl function computes these change statistics and the ergm.mple function implements the logistic regression using R's glm function. Generally, neither ergm.mple nor ergm.pl should be called by users if the logistic regression output is desired; instead, use the `ergmMPLE` function.

In the case where the ERGM is a dyadic independence model, the MPLE is the same as the MLE. However, in general this is not the case and, as van Duijn et al. (2009) warn, the statistical properties of MPLEs in general are somewhat mysterious.

MPLE values are used even in the case of dyadic dependence models as starting points for the MCMC algorithm.

### Value

`ergm.mple` returns an ergm object as a list containing several items; for details see the return list in the `ergm`

`ergm.pl` returns a list containing:

`xmat` | the compressed and possibly sampled matrix of change statistics
`xmat.full` | as `xmat` but with offset terms
`zy` | the corresponding vector of responses, i.e. tie values
`foffset` | if `ignore.offset==FALSE`, the combined offset statistics multiplied by their parameter values
`wend` | the vector of weights for `xmat` and `zy`

### References

Hunter DR, Handcock MS, Butts CT, Goodreau SM, Morris and Martina (2008). "ergm: A Package to Fit, Simulate and Diagnose Exponential-Family Models for Networks." Journal of Statistical Software, 24(3), pp. 1-29. doi: 10.18637/jss.v024.i03

van Duijn MAJ, Gile K, Handcock MS (2009). "Comparison of Maximum Pseudo Likelihood and Maximum Likelihood Estimation of Exponential Family Random Graph Models." Social Networks, 31, pp. 52-62.

### See Also

`ergmMPLE`, `ergm`,`control.ergm`

[Package ergm version 4.2.1 Index]