Factors are first named and then specify which numerical items they affect
(i.e., where the slope is not equal to 0), separated either by commas or by
- to indicate a range of items. Products between factors may be specified
by enclosing the left hand term within brackets. To finish the declaration of
a model simply enter a blank line with only a carriage return (i.e., the
'enter' or 'return' key), or instead read in an input version of the model syntax.
The associated slopes throughout the package label these coefficients as
a1, a2, ..., ak
, where the associated number is assigned according to the
respective order of the defined factors.
There is an optional keyword for specifying the correlation between relationships between factors
called COV
, and non-linear factor products can be included by enclosing the product
combination on the left hand side of the declaration (e.g., (F1*F1)
would create a
quadratic factor for F1
).
is appropriate, while specifying the same constraints to the sub-groups
"male" and "female" would appear as
For all other groups in the multi-group model, these within-group equality constraints would not appear. Therefore, these
bracketed group specifications are useful when modifying priors, starting values, between/within group equality constraints,
and so on when the specifications for each sub-group may differ.
- COV
Specify the relationship between the latent factors.
Estimating a correlation between factors is declared by joining the two
factors with an asterisk (e.g., F1*F2), or with an asterisk between three or more factors
to estimate all the possible correlations (e.g., F1*F2*F3)
- MEAN
A comma separated list specifying which latent factor means to freely estimate.
E.g., MEAN = F1, F2
will free the latent means for factors F1 and F2
- CONSTRAIN
A bracketed, comma separated list specifying equality constrains between items.
The input format is
CONSTRAIN = (items, ..., parameterName(s)),
(items, ..., parameterName)
.
For example, in a single group 10-item dichotomous tests, using the default 2PL model,
the first and last 5 item slopes (a1) can be constrained to be equal by using
CONSTRAIN = (1-5, a1), (6-10, a1)
, or some combination
such as CONSTRAIN = (1-3,4,5,a1), (6,7,8-10,a1)
.
When constraining parameters to be equal across items with different parameter names, a
balanced bracketed vector must be supplied. E.g., setting the first slope for item 1 equal to
the second slope in item 3 would be CONSTRAIN = (1, 3, a1, a2)
- CONSTRAINB
A bracketed, comma separate list specifying equality constrains between groups.
The input format is CONSTRAINB = (items, ..., parameterName),
(items, ..., parameterName)
.
For example, in a two group 10-item dichotomous tests, using the default 2PL model, the first
5 item slopes (a1) can be constrained to be equal across both groups by using
CONSTRAINB = (1-5, a1)
, or some combination such as CONSTRAINB = (1-3,4,5,a1)
- PRIOR
A bracketed, comma separate list specifying prior parameter distributions.
The input format is
PRIOR = (items, ..., parameterName, priorType, val1, val2),
(items, ..., parameterName, priorType, val1, val2)
.
For example, in a single group 10-item dichotomous tests, using the default 2PL model,
defining a normal prior of N(0,2) for the first 5 item intercepts (d) can be defined by
PRIOR = (1-5, d, norm, 0, 2)
Currently supported priors are of the form: (items, norm, mean, sd)
for the normal/Gaussian, (items, lnorm, log_mean, log_sd)
for log-normal,
(items, beta, alpha, beta)
for beta, and (items, expbeta, alpha, beta)
for the beta distribution after applying the
function plogis
to the input value (note, this is specifically for applying a beta
prior to the lower-bound parameters in 3/4PL models)
- LBOUND
A bracketed, comma separate list specifying lower bounds for estimated
parameters (used in optimizers such as L-BFGS-B
and nlminb
).
The input format is LBOUND = (items, ..., parameterName, value),
(items, ..., parameterName, value)
.
For example, in a single group 10-item dichotomous tests, using the 3PL model and
setting lower bounds for the 'g' parameters for the first 5 items to 0.2 is accomplished with
LBOUND = (1-5, g, 0.2)
- UBOUND
same as LBOUND, but specifying upper bounds in estimated parameters
- START
A bracketed, comma separate list specifying the starting values for individual parameters.
The input is of the form (items, ..., parameterName, value)
. For instance, setting the 10th and
12th to 15th item slope parameters (a1) to 1.0 is specified with START = (10, 12-15, a1, 1.0)
For more hands on control of the starting values pass the argument pars = 'values'
through
whatever estimation function is being used
- FIXED
A bracketed, comma separate list specifying which parameters should be fixed at their
starting values (i.e., not freely estimated).
The input is of the form (items, ..., parameterName)
. For instance, fixing the 10th and
12th to 15th item slope parameters (a1) is accomplished with FIXED = (10, 12-15, a1)
For more hands on control of the estimated values pass the argument pars = 'values'
through
whatever estimation function is being used
- FREE
Equivalent to the FIXED
input, except that parameters are freely estimated instead
of fixed at their starting value
- NEXPLORE
Number of exploratory factors to extract. Usually this is not required
because passing a numeric value to the model
argument in the estimation function
will generate an exploratory factor analysis model, however if different start values,
priors, lower and upper bounds, etc, are desired then this input can be used