sienaAlgorithmCreate {RSiena} | R Documentation |
Function to create an object containing the algorithm specifications for parameter estimation in RSiena
Description
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.
Usage
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),
lessMem=FALSE)
Arguments
fn |
Function to do one simulation in the Robbins-Monro algorithm. Not to be touched. |
projname |
Character string name of project; the output file will be
called projname.txt. No embedded spaces!!! |
MaxDegree |
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. |
Offset |
Named vector of offset values for symmetric networks with
|
useStdInits |
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. |
n3 |
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. |
nsub |
Number of subphases in phase 2. |
n2start |
Minimum number of iterations in subphase 1 of phase 2;
default is |
dolby |
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. |
maxlike |
Whether to use maximum likelihood method or Method of Moments estimation. |
gmm |
Whether to use the Generalized Method of Moments or the regular Method of Moments estimation. |
diagonalize |
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. |
condvarno |
If |
condname |
If conditional, the name of the dependent variable on
which to condition. Use one or other of |
firstg |
Initial value of scaling ("gain") parameter for updates in the Robbins-Monro procedure. |
reduceg |
Reduction factor for scaling ("gain") parameter for updates in the Robbins-Monro procedure (MoM only). |
cond |
Boolean. Only relevant for Method of Moments
simulation/estimation.
If TRUE, use conditional simulation; if FALSE, unconditional simulation.
If missing, decision is deferred until |
findiff |
Boolean: If TRUE, estimate derivatives using finite differences. If FALSE, use scores. |
seed |
Integer. Starting value of random seed. Not used if parallel testing. |
prML |
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 |
maximumPermutationLength |
Maximum length of permutation in steps in ML estimation. |
minimumPermutationLength |
Minimum length of permutation in steps in ML estimation. |
initialPermutationLength |
Initial length of permutation in steps in ML estimation. |
modelType |
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.) |
behModelType |
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.) |
mult |
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 |
simOnly |
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 |
localML |
Logical: If TRUE, and |
truncation |
Used for step truncation in the Robbins Monro algorithm (applied to deviate/(standard deviation)). |
doubleAveraging |
subphase after which double averaging is used in the Robbins Monro algorithm, which probably increases algorithm efficiency. |
standardizeVar |
Logical: whether to limit deviations used in Robbins-Monro updates to unit variances. |
lessMem |
Logical: whether to reduce storage during operation of
|
Details
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.
Value
Returns an object of class sienaAlgorithm
containing
values implied by the parameters.
Author(s)
Ruth Ripley and Tom A.B. Snijders
References
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.
Also see https://www.stats.ox.ac.uk/~snijders/siena/
See Also
Examples
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.