Besides the standalone estimator (vignette("cusna")), cusna can serve as
an acceleration backend for
RSiena: the native simulator
replaces RSiena’s inner simulation loop, while RSiena keeps its full
Robbins–Monro estimation machinery — and hence its convergence behavior.
Nothing in RSiena is forked or patched.
This is a useful path for hard, nearly collinear specifications, where a standalone method-of-moments run may not converge from a cold start: RSiena supplies convergence, cusna supplies speed.
The code below is shown but not run here (it needs the RSiena package).
RSiena’s siena07() calls a simulation function named FRAN once per
Robbins–Monro iteration. If alg$FRAN is a function, RSiena uses it
directly. cusna_fran() builds such a function over the native simulator:
library(cusna)
library(RSiena)
# ... assemble `dat` (sienaData) and `eff` (sienaEffects) as usual ...
alg <- sienaAlgorithmCreate(projname = NULL, cond = FALSE)
alg$FRAN <- cusna_fran(
waves = list(w1, w2, w3), # the same 0/1 wave matrices
effect_names = c("density", "recip", "transTrip"),# in the RSiena effects order
conditional = FALSE) # must match `cond`
ans <- siena07(alg, data = dat, effects = eff, useCluster = FALSE)
ans # a normal sienaFit: estimates, standard errors, convergence as usual
The effect_names must list the included effects in the same order as the
rows of the RSiena effects object, and conditional must match the
algorithm’s cond setting. Covariate effects (egoX/altX/simX/sameX)
read the covariate argument.
simstats0c
contract; batching happens across Robbins–Monro iterations, not within a
call.effect_names; mapping an arbitrary siena07 effects object (multiple
covariates, behavior co-evolution) onto the native descriptors is under
development. For those models, use the standalone mom_estimate().| Situation | Recommended path |
|---|---|
| Well-conditioned model, want maximum speed | standalone mom_estimate() |
| Nearly collinear / hard convergence | cusna_fran() + siena07() |
| Need RSiena’s exact estimator semantics | cusna_fran() + siena07() |
| Behavior co-evolution, multi-network | standalone mom_estimate() / mom_estimate_multinet() |