Refits an AME model by iterative block coordinate descent, initialised
(“warm-started”) from an existing ame_als fit. This is the
workhorse of ame_als_bootstrap: every bootstrap replicate
is refit from the original point estimate rather than from a cold random
start, which prevents replicates from converging to different local optima
or rotations and is essential for meaningful bootstrap standard errors.
ame_als_refit(
object,
Y_new = NULL,
X_new = NULL,
Z_new = NULL,
max_iter = 30,
tol = 1e-05,
verbose = FALSE
)An object of class "ame_als"; see ame_als.
an ame_als object supplying the warm-start values
(mu, beta, a, b, U, V) and the
model configuration (family, mode, symmetric,
R).
optional canonical outcome array [n_row, n_col, T] to
refit on. Defaults to object$Y.
optional canonical design array [n_row, n_col, p, T].
Defaults to object$X.
optional canonical working-response array
[n_row, n_col, T]. When supplied, the model is refit by a Gaussian
block coordinate descent directly on Z_new, bypassing the
family transform / IRLS reweighting. This is used by the parametric
bootstrap of a non-normal transform fit, whose estimator is a
Gaussian fit to a fixed transformed response. Y_new is still used
for the observed-cell pattern.
maximum block coordinate descent iterations (default 30; fewer are needed than for a cold start).
convergence tolerance (default 1e-5).
logical; print progress (default FALSE).
Cassy Dorff, Shahryar Minhas, Tosin Salau
The estimation algorithm is the iterative block coordinate descent estimator
of the Social Influence Regression model of Hoff & Minhas
(sir::sir_alsfit()), adapted to the AME model, with each bootstrap
replicate warm-started from the original point estimate.
Minhas, S. and Hoff, P. D. (2025). Decomposing Network Dynamics: Social
Influence Regression. Political Analysis. The iterative block
coordinate descent estimator refit here originates with that work
(implemented in sir::sir_alsfit()).
ame_als, ame_als_bootstrap.
Y <- matrix(rnorm(400), 20, 20); diag(Y) <- NA
fit <- ame_als(Y, R = 1, family = "normal", verbose = FALSE)
refit <- ame_als_refit(fit, verbose = FALSE)
coef(refit)
Run the code above in your browser using DataLab