Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

jackknifeWeights

Jackknifed model weights


Description

Computes model weights optimized for jackknifed model fits.

Usage

jackknifeWeights(object, ..., data, type = c("loglik", "rmse"),
  family = NULL, weights = NULL, optim.method = "BFGS", maxit = 1000,
  optim.args = list(), start = NULL, force.update = FALSE,
  py.matrix = FALSE)

Arguments

object, ...

two or more fitted glm objects, or a list of such, or an "averaging" object.

data

a data frame containing the variables in the model. It is optional if all models are glm.

type

a character string specifying the function to minimize. Either "rmse" or "loglik".

family

used only if type = "loglik", a family object to be used for likelihood calculation. Not needed if all models share the same family and link function.

weights

an optional vector of ‘prior weights’ to be used in the model fitting process. Should be NULL or a numeric vector.

optim.method

optional, optimisation method, passed to optim.

maxit

optional, the maximum number of iterations, passed to optim.

optim.args

optional list of other arguments passed to optim.

start

starting values for model weights. Numeric of length equal the number of models.

force.update

for glm, the glm.fit function is used for fitting models to the train data, which is much more efficient. Set to TRUE to use update instead.

py.matrix

either a boolean value, then if TRUE a jackknifed prediction matrix is returned and if FALSE a vector of jackknifed model weights, or a N×M matrix (number of cases × number of models) that is interpreted as a jackknifed prediction matrix and it is used for optimisation (i.e. the jackknife procedure is skipped).

Details

Model weights are chosen (using optim) to minimise RMSE or log-likelihood of the prediction for data point i, of a model fitted omitting that data point i. The jackknife procedure is therefore run for all provided models and for all data points.

Value

The function returns a numeric vector of model weights.

Note

This procedure can give variable results depending on the optimisation method and starting values. It is therefore advisable to make several replicates using different optim.methods. See optim for possible values for this argument.

Author(s)

Kamil Bartoń. Carsten Dormann

References

Hansen, B. E. & Racine, J. S. (2012) Jackknife model averaging. Journal of Econometrics, 979: 38–46

Dormann, C. et al. (2018) Model averaging in ecology: a review of Bayesian, information-theoretic, and tactical approaches for predictive inference. Ecological Monographs, 88, 485–504.

See Also

Examples

fm <- glm(Prop ~ mortality * dose, binomial(), Beetle, na.action = na.fail)

fits <- lapply(dredge(fm, eval = FALSE), eval)

amJk <- amAICc <- model.avg(fits)
set.seed(666)
Weights(amJk) <- jackknifeWeights(fits, data = Beetle)

coef(amJk)
coef(amAICc)

MuMIn

Multi-Model Inference

v1.43.17
GPL-2
Authors
Kamil Bartoń
Initial release
2020-04-14

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.