added functionality to fit generalized bilinear mixed effects models, e.g., Poisson or logistic regression model (see the demo on Poisson regression).
Added an option so that rho
can either have an arc
sine prior or a uniform prior.
rho is now restricted to lie between -.995 and +.995 in order to avoid the Markov chain from getting stuck at extreme values.
Changed design_array
so that it tries to figure out
the number of nodes from the covariate information.
Fixed a bug so that plot.ame
works for both
ame
and ame_rep
.
Added a function rrho_fc
that updates the dyadic
correlation rho
from its full conditional distribution,
leading to faster-mixing Markov chains.
Changed rZ_fc_bin
to avoid numerical instabilities
that lead to infinities.
Changed ame_rep
so that the GOF statistics are
calculated for each rep.
Changed the default priors. For fitting non-normal models to
sparse data, the priors on the covariance matrices Sab
and
Suv
have a smaller scale. Also changed the prior on
beta
to be a g-prior on the non-intercept coefficients but
a more diffuse prior on the intercept.
Changed the name of the covariance of U
and
V
from Psi
to Suv
.
Moved the update of Suv
outside of the update for
U
and V
.
Added an argument offset
to most Gibbs sampling
functions. The function documentation indicates what things should be
subtracted off (offset) for each update.
Fixed a bug in plot.ame
that created the wrong
number of panels when p=0
.
Added a secondary plotting parameter to
circplot
.
This update from 1.3 is a medium-sized step towards making
amen
more modular, so that individuals can build their own
custom AME models. There are some medium-sized changes detailed below.
The vignette sill works fine, but please let me know if this screws up
something you’ve been working on, or if you have strong objections to
some of the changes.
Change to rbeta_ab_fc
: The function now takes as
optional arguments a prior mean and a prior precision matrix for
beta.
The default prior mean is zero and the default prior precision is much
smaller than in 1.3.
Change to rbeta_ab_fc
: The function no longer takes
as arguments all the items computed from the design array. Instead,
these items are either attributes of the design array X
, or
if they aren’t, they are calculated in this function. Since in most
applications these items don’t change during the MCMC algorithm, you
should precompute these items with the design_array
command
or the precomputeX
command.
New function precomputeX
: Precomputes various
quantities from X
that will be repeatedly needed for the
MCMC, and returns a new X
where the precomputed items are
stored as attributes. If you construct your own design array, you should
run X<-precomputeX(X)
(unless you are using the canned
ame
or ame_rep
functions, as this do it
automatically). The precomputation is also done automatically if you
construct your design array with the design_array
function.
Change to design_array
: Derived quantities for the
MCMC are precomputed using the precomputeX
function and
stored as attributes in the constructed design array.
Changes to ame
: There is now an additional parameter
prior
, which is a list of hyperparameters (empty by
default). Parameters for which priors may be set include
beta
(see rbeta_ab_fc
), s2
(see
rs2_fc
), Sab
(see rSab_fc
),
Suv
(see rUV_fc
).
Modified simZ
, just changing some notation.
Modified rs2_fc
in two ways:
the diagonal of the error matrix is now part of the update; the function
now takes optional prior parameter values.
Added a secondary triadic dependence gof statistic. Also modified
ame
and plot.ame
to plot the additional
statistic.
Changed all rZ
functions to appropriately update the
diagonal.
Changed all Wishart prior degrees of freedom to be two plus the number of parameters.
In ame
, use standard update for Sab whenever
appropriate, and still use “specialty” updates in certain
cases.
Created a new function rSab_fc
to update
Sab
given a
and b
.
The Sab
update functions, including
rSab_fc
, raSab_bin_fc
,
raSab_cbin_fc
and raSab_frn_fc
all take
optional parameters for the inverse-Wishart prior on
Sab
.
For the monk example in the vignette, the model is now fit without an intercept. There is not really any information about the intercept from these data.
The “model” parameter is now the “family” parameter and is now
required
to prevent inadvertent fits of the normal model to binary data.
The order of the “model/family” and “R” parameter have been
changed in the ame
and ame_rep
functions.
The rUV_fc
function now takes arguments for the
prior distribution over Psi, the covariance matrix of U and V.
The zscores
function now takes an optional argument
for dealing with ties.
Incorporate a method to deal with missing values in predictors.
Methods for logistic regression, (overdispersed) Poisson and tobit models.
Allow for user-specified link functions.
Allow prior means for
(a
,b
,U
,V
) and a
prior for rho
. The former will facilitate hierarchical or
longitudinal modeling.
Incorporate prior specification into the ame_rep
wrapper function.
Incorporate more full prior specifications for the symmetric case.
Update rho
using the marginal likelihood
(integrating over the additive row and column effects).
Allow for user-defined GOF stats.
Should remove the plotting from the ame
wrapper,
just call plot.ame
.
The functions rZ_nrm_fc
and rZ_cbin_fc
don’t handle the dyadic correlation in missing data properly if data are
missing asymmetrically.
Random reorderings can be avoided for FRN and RRL.
Simplify the update for U
and V
. I
don’t think the complicated method is saving much time.