Description Usage Arguments Details Value Examples
adapt_model objects provide the functions and their arguments in computing the M-steps.
Each object can be passed to adapt as a candidate model.
1 2 3 |
pifun |
a function to fit pi(x). See Details |
mufun |
a function to fit mu(x). See Details |
pifun_init |
a function to fit pi(x) at the initial step |
mufun_init |
a function to fit mu(x) at the initial step |
piargs |
a list. Arguments for "pifun". An empty list as default |
muargs |
a list. Arguments for "mufun". An empty list as default |
piargs_init |
a list. Arguments for piargs_init. An empty list as default |
muargs_init |
a list. Arguments for muargs_init. An empty list as default |
name |
a string. An optional argument for the user-specified name of the model. An empty string as default. |
pifun should be in the form of pifun(formula, data, family, weights, ...) or pifun(x, y, family, ...).
The former includes glm and gam and the latter includes glmnet.
The outputs should be in the form of list(fitv = , info = , ...) where fitv gives the estimate of pi(x),
as a vector with the same order of x, and info should at least contain a key df if model selection is used, i.e. info = list(df = , ...)
mufun should be in the form of pifun(formula, data, family, weights, ...) or pifun(x, y, family, weights, ...).
Note that mufun must take weights as an input. The outputs should be in the same form as pifun except that fitv should give the estimate of mu(x).
When pifun / mufun takes the form of (formula, family, ...), piargs / muargs should at least contain a key formula; when pifun / mufun takes the form of (x, y, family, ...), piargs / muargs can be empty.
For glm/gam/glmnet, one can use the shortcut by running gen_adapt_model with name = "glm" or "gam" or "glmnet" but without specifying pifun, mufun, pifun_init and mufun_init. See examples below.
name |
same as the input |
algo |
a list recording |
args |
a list recording |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # Exemplary code to generate 'adapt_model' for logistic-Gamma glm with naive initialization.
# The real implementation in the package is much more complicated.
# pifun as a logistic regression
pifun <- function(formula, data, weights, ...){
glm(formula, data, weights = weights, family = binomial(), ...)
}
# pifun_init as a constant
pifun_init <- function(x, pvals, s, ...){
rep(0.1, length(pvals))
}
# mufun as a Gamma GLM
mufun <- function(formula, data, weights, ...){
glm(formula, data, weights = weights, family = Gamma(), ...)
}
# mufun_init as a constant
mufun_init <- function(x, pvals, s, ...){
rep(1.5, length(pvals))
}
library("splines") # for using ns() in the formula
piargs <- list(formula = "ns(x, df = 8)")
muargs <- list(formula = "ns(x, df = 8)")
name <- "glm"
mod <- gen_adapt_model(pifun, mufun, pifun_init, mufun_init,
piargs, muargs, name = name)
mod
# Using shortcut for GLM. See the last paragraph of Details.
mod2 <- gen_adapt_model(name = "glm", piargs = piargs, muargs = muargs)
mod2
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.