Creates an object with specifications for the algorithm for parameter estimation in RSiena.
sienaAlgorithmCreate()
and sienaModelCreate()
are identical functions; the second name was
used from the start of the RSiena
package, but the first name
indicates more precisely the purpose of this function.
sienaAlgorithmCreate(fn, projname = "Siena", MaxDegree = NULL, Offset = NULL,
useStdInits = FALSE, n3 = 1000, nsub = 4, n2start = NULL,
dolby=TRUE, maxlike = FALSE, gmm = FALSE, diagonalize=0.2*!maxlike,
condvarno = 0, condname = "", firstg = 0.2, reduceg = 0.5,
cond = NA, findiff = FALSE, seed = NULL,
prML=1,
maximumPermutationLength=40,
minimumPermutationLength=2, initialPermutationLength=20,
modelType=NULL, behModelType=NULL, mult=5, simOnly=FALSE, localML=FALSE,
truncation=5, doubleAveraging=0, standardizeVar=(diagonalize<1), lessmem="FALSE)sienaModelCreate(fn, projname = "Siena", MaxDegree = NULL, Offset = NULL,
useStdInits = FALSE, n3 = 1000, nsub = 4, n2start = NULL,
dolby=TRUE, maxlike = FALSE, gmm = FALSE, diagonalize=0.2*!maxlike,
condvarno = 0, condname = "", firstg = 0.2, reduceg = 0.5,
cond = NA, findiff = FALSE, seed = NULL,
prML=1,
maximumPermutationLength=40,
minimumPermutationLength=2, initialPermutationLength=20,
modelType=NULL, behModelType=NULL, mult=5, simOnly=FALSE, localML=FALSE,
truncation=5, doubleAveraging=0, standardizeVar=(diagonalize
1),>
Returns an object of class sienaAlgorithm
containing
values implied by the parameters.
Function to do one simulation in the Robbins-Monro algorithm. Not to be touched.
Character string name of project; the output file will be
called projname.txt. No embedded spaces!!!
If projname=NULL
, output will be written to a file in the temporary
session directory, created as tempfile(Siena)
.
Named vector of maximum degree values for
corresponding networks. Allows to restrict the model to networks
with degrees not higher than this maximum.
Names should be the names of all dependent network variables,
in the same order as in the Siena data set.
Default as well as value 0 imply no restrictions.
This option is not available for maximum likelihood estimation.
Named vector of offset values for symmetric networks with
modelType = 3
(M.1), and for universal setting in Settings model.
Names should be the names of all dependent network variables,
in the same order as in the Siena data set.
Default NULL
implies values 0.
Boolean. If TRUE, the initial values in the effects object will be ignored and default values used instead. If FALSE, the initial values in the effects object will be used.
Number of iterations in phase 3. For regular use with the Method of Moments, n3=1000 mostly suffices. For use in publications and for Maximum Likelihood, at least n3=3000 is advised. Sometimes much higher values are required for stable estimation of standard errors.
Number of subphases in phase 2.
Minimum number of iterations in subphase 1 of phase 2;
default is 2.52*(p+7)
, where p
= number of estimated
parameters; if useCluster=TRUE
in the call of
siena07
, this is divided by nbrNodes
.
Boolean. Should there be noise reduction by regression on augmented data score. In most cases dolby=TRUE yields better convergence, but takes some extra computing time; if convergence is problematic, however, dolby=FALSE may be tried. Just use whatever works best.
Whether to use maximum likelihood method or Method of Moments estimation.
Whether to use the Generalized Method of Moments or the regular Method of Moments estimation.
Number between 0 and 1 (bounds included),
values outside this interval will be truncated;
for diagonalize=0 the complete estimated derivative matrix will be used
for updates in the Robbins-Monro procedure;
for diagonalize=1 only the diagonal entries will be used;
for values between 0 and 1, the weighted average will be used
with weight diagonalize for the diagonalized matrix.
Has no effect for ML estimation.
Higher values are more stable, lower values potentially more efficient.
Default: for ML estimation, diagonalize=0; for MoM estimation,
diagonalize = 0.2.
If cond
(conditional simulation), the
sequential number of the network
or behavior variable on which to condition.
If conditional, the name of the dependent variable on
which to condition. Use one or other of condname
or
condvarno
to specify the variable.
Initial value of scaling ("gain") parameter for updates in the Robbins-Monro procedure.
Reduction factor for scaling ("gain") parameter for updates in the Robbins-Monro procedure (MoM only).
Boolean. Only relevant for Method of Moments
simulation/estimation.
If TRUE, use conditional simulation; if FALSE, unconditional simulation.
If missing, decision is deferred until siena07
,
when it is set to TRUE if there is only one dependent variable,
FALSE otherwise.
Boolean: If TRUE, estimate derivatives using finite differences. If FALSE, use scores.
Integer. Starting value of random seed. Not used if parallel testing.
Either one real number, or a vector of 7 numbers.
Determines update probabilities used in Metropolis-Hastings
routine in ML estimation. Should be nonnegative; if a vector,
the sum should be <= 1. See Details
.
Maximum length of permutation in steps in ML estimation.
Minimum length of permutation in steps in ML estimation.
Initial length of permutation in steps in ML estimation.
Named vector indicating the type of model to be fitted for
dependent network variables.
(See the examples below for how to specify a named vector.)
Possible values are:
1=directed standard,
2:6 for symmetric networks only: 2=dictatorial forcing (D.1),
3=Initiative model with reciprocal confirmation (M.1),
4=Pairwise dictatorial forcing model (D.2),
5=Pairwise mutual model (M.2), 6=Pairwise joint model (C.2),
7:10 for directed one-mode only:
7=Double Step model with double step probability 0.25,
8=Double Step model with double step probability 0.50,
9=Double Step model with double step probability 0.75,
10=Double Step model with double step probability 1.00.
Names should be the names of all dependent network variables,
in the same order as in the Siena data set.
See Snijders and Pickup (2016) for the meanings of the various models
for symmetric networks.
Default NULL
implies 1 for directed or two-mode, 2 for symmetric.
Named vector indicating the type of model to be fitted for
behavioral dependent variables.
(See the examples below for how to specify a named vector.)
Possible values are:
1=standard (restricted), 2=absorbing.
Names should be the names of all dependent behavioral variables,
in the same order as in the Siena data set.
Default NULL
implies values 1.
Multiplication factor for maximum likelihood and Bayes. Number of
steps per iteration is set to this multiple of the total distance
between the observations at start and finish of the wave (and rounded).
Decreasing mult
below a certain value has no further effect.
mult
can be either a number (which needs to be positive) or a vector
of numbers, of length equal to the total number of periods. Note that for
multi-group data, the total number of periods is equal to the number
of groups times the number of periods per group
(if the latter is constant).
Logical: If TRUE, then the calculation of the covariance
matrix and standard errors of the estimates at the end of
Phase 3 of the estimation algorithm in function siena07 is skipped.
This is suitable if nsub=0 and siena07
is used only for the
purpose of simulation.
Logical: If TRUE, and maxlike
, then calculations are
sped up for models with all local effects.
Used for step truncation in the Robbins Monro algorithm (applied to deviate/(standard deviation)).
subphase after which double averaging is used in the Robbins Monro algorithm, which probably increases algorithm efficiency.
Logical: whether to limit deviations used in Robbins-Monro updates to unit variances.
Logical: whether to reduce storage during operation of
siena07
, and of the object produced, by leaving out arrays
by iteration and by period of simulated statistics sf2
and scores
ssc
.
if lessMem=TRUE
, it will be impossible to run
sienaTimeTest
or sienaGOF
on
the object produced by siena07
.
Ruth Ripley and Tom A.B. Snijders
Model specification is done via this object for
siena07
.
This function creates an object with the elements required to control the
Robbins-Monro algorithm. Those not
available as arguments can be changed manually when desired.
The value prML=1
defines the defaults valid in RSiena up to version
1.3.16.
If prML
is given as a vector of 7 probabilities, these are,
consecutively: the probabilities of inserting a diagonal step, deleting a
diagonal step, permuting, inserting a CCP, deleting a CCP, inserting random
missing, deleting random missing; the residual (1 minus the sum)
is the probability of a move step.
Further information about the implementation of the algorithm is in
https://www.stats.ox.ac.uk/~snijders/siena/Siena_algorithms.pdf.
Some of the examples use projname=NULL
; this is just for the sake of
checking the examples, not necessarily intended for normal use.
For modelType
:
Snijders, T.A.B., and Pickup, M. (2016),
Stochastic Actor-Oriented Models for Network Dynamics.
In: Victor, J.N., Lubell, M., and Montgomery, A.H.,
Oxford Handbook of Political Networks. Oxford University Press.
siena07
, simstats0c
.
myAlgorithm <- sienaAlgorithmCreate(projname="NetworkDyn")
StdAlgorithm <- sienaAlgorithmCreate(projname="NetworkDyn", useStdInits=TRUE)
CondAlgorithm <- sienaAlgorithmCreate(projname="NetworkDyn", condvarno=1, cond=TRUE)
Max10Algorithm <- sienaAlgorithmCreate(projname="NetworkDyn", MaxDegree=c(mynet=10),
modelType=c(mynet=1))
Beh2Algorithm <- sienaAlgorithmCreate(projname="NetBehDyn", behModelType=c(mybeh=2))
# where mynet is the name of the network object created by sienaDependent(),
# and mybeh the name of the behavior object created by the same function.
Run the code above in your browser using DataLab