Nothing
Procrustes
when translate
&/or dilate
are TRUE
.param="alpha"
& param="discount"
plots.storeControl
gains the update.mu
arg. to optionally circumvent updates of the
mean parameters to speed-up special case of (I)FA models with centered data.param="means"
plots for uncentered (I)FA results.exchange=TRUE
from previous update.mgpControl
arg. start.AGS
.bnpControl
gains the args. thresh
& exchange
, implementing the exchangeable/thresholded
slice sampler of Fall & Barat (2014): these are experimental features (both args. default to FALSE
).get_IMIFA_results
for
models for univariate data where some components have zero factors.sapply
replaced with vapply
, with other negligible speed-ups.mgpControl
gains the arg. truncated
(defaults to FALSE
): rltrgamma
to draw from left-truncated gamma distributions provided.exp_ltrgamma
for computing expectations of such distributions also provided, and used
internally by MGP_check
when its own new truncated
arg. is TRUE
(default: FALSE
).?ltrgamma
for further details on rltrgamma
and exp_ltrgamma
.delta0g=TRUE
.range.G
& range.Q
in mcmc_IMIFA
.MGP_check
when invoked in vectorised fashion.G_calibrate
function exported to augment existing G_expected
& G_variance
functions.G_variance
now computed more accurately and efficiently for the alpha=0
case.G_expected
for the alpha=0
case.G_priorDensity
for non-zero discount
.psi_hyper
.mcmc_IMIFA
initialisation issues for univariate data sets.error.metrics=TRUE
now works for univariate data sets in get_IMIFA_results
.plot.meth="zlabels"
.alpha
values in the special case of negative discount
.plot.meth="density"
and param="alpha"
for fixed positive discount
.G_priorDensity
plots.matrixStats (>= 0.53.1)
and mclust (>= 5.4)
in Imports:
.gmp (>= 0.5-4)
in Suggests:
.mat2cols
).viridis
with viridisLite
.Rmpfr
& gmp
in G_expected
, G_variance
, & G_priorDensity
.summary.Results_IMIFA
gains the printing-related argument MAP=TRUE
.plot.meth="zlabels"
with unsupplied zlabels
.discount
(an experimental feature).Procrustes
when dilate=TRUE
(never used internally).x$Error$Var.Exps
) now returned by get_IMIFA_results
in addition
to proportion of explained variance per cluster (x$Error$Clust.Exps
; previously x$Error$Var.Exps
).G_expected
& G_variance
gain the arg. MPFR
to control use of suggested packages.rDirichlet
for the symmetric uniform case.Rfast
package (w/ minor speed-ups).methods
package from Suggests:
.donttest
examples.discount
can now be fixed at a negative value when learn.d=FALSE
,
provided alpha
is supplied as a positive integer multiple of abs(discount)
and learn.alpha=TRUE
.norm
(beyond Frobenius) can now be specified, by passing the arg. type
,
via the ...
construct, for calculating the PPRE within get_IMIFA_results
.dbreaks
arg. through the ...
construct. This is an experimental feature; caution is advised.discount<0
& alpha=0
now accommodated by G_expected
, G_variance
, & G_priorDensity
:
G_expected
no longer requires the Rmpfr
or gmp
libraries for non-zero discount
unless alpha=0
. mgpControl
gains the arg. forceQg
(defaults to FALSE
, i.e. retains old behaviour - see documentation for details).G_priorDensity
gains type
arg. and now works again in non-vectorised form.Procrustes
function and hence the identifiability corrections within get_IMIFA_results
.post_conf_mat
function and "parallel.coords"
plots.sim_IMIFA_data
to allow empty clusters and related fix for nonempty
arg. to get_IMIFA_results
.alpha
value is 0
when learn.alpha=TRUE
.mixfaControl
and plot.Results_IMIFA
functions.rho
values in bnpControl
corrected to [0,1) from (0,1].get_IMIFA_results
.plot.Results_IMIFA
& G_priorDensity
.mgpControl
gains the arguments cluster.shrink
and sigma.hyper
:cluster.shrink
governs invocation of cluster shrinkage MGP hyperparameter for MIFA/OMIFA/IMIFA methods.sigma.hyper
controls the gamma hyperprior on this parameter. The posterior mean is reported, where applicable.alpha
to be learned via MH steps for the OM(I)FA models. bnpControl
args. learn.alpha
, alpha.hyper
, zeta
, & tune.zeta
become relevant for OM(I)FA models.get_IMIFA_results
(with associated plots):
Posterior Predictive Reconstruction Error (PPRE) compares bin counts of the original data with corresponding
counts for replicate draws from the posterior predictive distribution using a standardised Frobenius norm.scores_MAP
to decompose factor scores summaries
from get_IMIFA_resuls
into submatrices corresponding to the MAP partition.sim_IMIFA_model
to call sim_IMIFA_data
using
the estimated parameters from fitted Results_IMIFA
objects.get_IMIFA_results
arg. vari.rot
allows loadings templates to be varimax rotated,
prior to Procrustes rotation, for more interpretable solutions (defaults to FALSE
).plot.Results_IMIFA
argument common
governing plot.meth="means"
plots (details in documentation).sigma.mu
defaults to 1
s.t. the hypercovariance is the identity for the prior on the means;
old behaviour (using the diagonal of the sample covariance matrix) recoverable by specifying sigma.mu=NULL
.prec.mu
defaults to 0.01
s.t. the prior on the cluster means is flat by default.learn.d
defaults to TRUE
s.t. a PYP prior is assumed for IM(I)FA models by default.alpha.hyper
now has a larger hyper-rate by default, to better encourage clustering.alpha.d1
& alpha.d2
now set to 2.1
/3.1
rather than 2
/6
to discourage exponentially fast shrinkage.z.init
now defaults to "hc"
: model-based agglomerative hierarchical clustering.psi_hyper
(details in documentation) for: N <= P
data where the sample covariance matrix is not invertible.type="isotropic"
uniquenesses.scores
& loadings
can now be supplied to sim_IMIFA_data
directly;
new arg. non.zero
controls the # effective factors (per column & cluster) when loadings
are instead simulated.hc
can now be passed when init.z="mclust"
also
(previously only "hc"
), thus controlling how Mclust
is itself initialised.criterion
to be passed via ...
in mixfaControl
to choose between
mclustBIC
/mclustICL
to determine optimum model to initialise with when
z.init="mclust"
& also sped-up mclust
initialisation in the process.stop.AGS
arg. to mgpControl
: renamed adapt.at
to start.AGS
for consistency.start.zeta
& stop.zeta
options to tune.zeta
argument in bnpControl
.breaks
in the plotting functions mat2cols
& heat_legend
.pareto_scale()
.get_IMIFA_results
for clustering methods: >=
the max of the modal estimates of the same
(previously samples where any cluster has >=
the corresponding modal estimate were used):
thus, valid samples for computing error metrics also fixed and Procrustes rotation also sped-up. range.G
and trunc.G
defaults fixed, especially for small sample size settings. zlabels
are supplied to get_IMIFA_results
;
posterior confusion matrix, cluster sizes vector, and the sampled labels themselves effected.uni.type
.get_IMIFA_results
.get_IMIFA_results
.mcmc_IMIFA
& sim_IMIFA_data
.Q
cannot exceed no. of observations in the corresponding cluster in sim_IMIFA_data
.alpha=0
for IM(I)FA models;
added related controls on spike-and-slab prior for discount
when fixing alpha<=0
.hc
model types for initialisation purposes via ...
in mixfaControl
.dimnames
of get_IMIFA_results
output in x$Loadings
& x$Scores
.burnin=0
.zlabels
supplied.show_IMIFA_digit
to better account for missing pixels &/or the data having been centered/scaled.psi
when not supplied to sim_IMIFA_data
to IG rather than GA.Q
to be supplied to get_IMIFA_results
for infinite factor methods.plot.meth="zlabels"
.show_digit
.get_IMIFA_results
.Procrustes
now works when X
has fewer columns than Xstar
.scores
& loadings
in trace
& density
plots.Ledermann
and related warnings to account for case of isotropic uniquenesses.cat
/message
/warning
calls for printing clarity.IMIFA-package
help file (formerly just IMIFA
).CITATION
file and authorship.mcmc_IMIFA
by consolidating arguments using new helper functions (with defaults): mixfaControl
.mgpControl
for infinite factor models. bnpControl
for infinite mixture models.storeControl
.error.metrics
argument to get_IMIFA_results
. plot.meth="errors"
to plot.Results_IMIFA
. mixfaControl
gains the arg. prec.mu
to control the degree of flatness of the prior for the means.get_IMIFA_results
) & visualisable (plot.Results_IMIFA
,
when plot.meth="zlabels"
), via new function post_conf_mat
, to further assess clustering uncertainty.plot.Results_IMIFA
when plot.meth="zlabels"
.get_IMIFA_results
now also returns the last valid samples for parameters of interest,
after conditioning on the modal G & Q values and accounting for label switching and Procrustes rotation.plot.Results_IMIFA
gains new arg. show.last
that replaces any instance of showing the posterior mean
with the last valid sample instead (i.e. when plot.meth="means"
or plot.meth="parallel.coords")
.equal.pro
argument for M(I)FA models:
Modified PGMM_dfree
accordingly and forced non-storage of mixing proportions when equal.pro
is TRUE
. sim_IMIFA_data
also extended to work for univariate data, as well as sped-up.nu
& nuplus1
to mgpControl
, replaced by ability to specify more general gamma prior,
via new phi.hyper
arg. specifying shape and rate - MGP_check
has also been modified accordingly.Zsimilarity
sped-up via the comp.psm
& cltoSim
functions s.t. when # observations < 1000.get_IMIFA_results
.psi.alpha
no longer needs to be strictly greater than 1, unless the default psi.beta
is invoked;
thus flatter inverse gamma priors can now be specified for the uniquenesses via mixfaControl
.hc
" option to z.init
to initialise allocations via hierarchical clustering (using mclust::hc
)....
in mixfaControl
.mu
argument to sim_IMIFA_data
to allow supplying true mean parameter values directly.aicm
/bicm
model selection criteria now computed and returned.Rfast
utility functions: colTabulate
& matrnorm
.matrixStats
, on which IMIFA
already depends.adapt=FALSE
for infinite factor models with fixed high truncation level.Plot.Results_IMIFA
,
when plot.meth="zlabels"
and the true zlabels
are supplied.mixfaControl
gains arg. drop0sd
to control removal of zero-variance features (defaults to TRUE
).heat_legend
gains cex.lab
argument to control magnification of legend text.mat2cols
gains the transparency
argument.PGMM_dfree
to include the 4 extra models from the EPGMM family.zlabels
to get_IMIFA_results
will now match the cluster labels and parameters to
the true labels even if there is a mismatch between the number of clusters in both.zlabels
to plot.Results_IMIFA
when plot.meth="zlabels"
no longer does
any matching when printing performance metrics to the screen - previously this caused confusion
as associated parameters were not also permuted as they are within get_IMIFA_results
: now
plot(get_IMIFA_results(sim), plot.meth="zlabels", zlabels=z)
gives different results from
plot(get_IMIFA_results(sim, zlabels=z), plot.meth="zlabels")
as only the latter will permute.sigma.mu
& psi.beta
values.get_IMIFA_results
.get_IMIFA_results
for IMFA/OMFA models when range.Q
is a range.aicm
, bicm
and dic
criteria: all results remain the same.alpha
when discount
is being learned.uni.prior="isotropic"
when uni.type
is (un)constrained
.mcmc_IMIFA
.get_IMIFA_results
when there are empty clusters.print
and summary
functions for objects of class IMIFA
and Results_IMIFA
.zeta
when adaptively targeting alpha
's optimal MH acceptance rate.alpha
be tiny for (O)M(I)FA models (provided z.init != "priors"
for overfitted models).get_IMIFA_results
when conditioning on G
for IM(I)FA/OM(I)FA models.MGP_check
that alpha.d2
be moderately large relative to alpha.d1
.sigma.mu
hyperparameter arg. is always coerced to diagonal entries of a covariance matrix.plot.Results_IMIFA
now depends on device's support of semi-transparency.is.list(x)
with inherits(x, "list")
for stricter checking.check.margin=FALSE
to calls to sweep
.Ledermann
, MGP_check
, and PGMM_dfree
are now properly vectorised.USPSdigits
data set (training and test),
with associated utility functions show_digit
and show_IMIFA_digit
.olive
, coffee
and vignette data and used LazyData: true
.call.=FALSE
to stop()
messages and immediate.=TRUE
to certain warning()
calls.adrop
, e1071
, graphics
, grDevices
, plotrix
, stats
& utils
libraries.Rfast
w/ own version of standardise
.IMIFA_news
for accessing this NEWS
file.CITATION
file.Collate:
field to DESCRIPTION
file.usage
sections of multi-argument functions.G_expected
& G_variance
.range.G
contains 1.get_IMIFA_results
from working properly when true labels are NOT supplied."constrained"
& "single"
to mcmc_IMIFA
's uni.type
argument:
as well as being either diagonal or isotropic (UUU / UUC), uniquenesses can now further be
constrained across clusters (UCU / UCC), with appropriate warnings, defaults, checks,
initialisations, computation of model choice penalties, and plotting behaviour in all 4 cases.mcmc_IMIFA
gains the tune.zeta
argument, a list of heat
, lambda
& target
parameters, to invoke
diminishing adaptation for tuning the uniform proposal to achieve a target acceptance rate when alpha
is learned via Metropolis-Hastings when the Pitman-Yor Process prior is employed for the IM(I)FA models."constrained"
or "single"
,
rather than previously "unconstrained"
or "isotropic"
, utilising pre-computation and empty assignment.is.cols
, Ledermann
, Procrustes
& shift_GA
.is.posi_def
gains make
argument, merging it with previously hidden function .make_posdef
:
Thus the 'nearest' positive-(semi)definite matrix and the usual check can be returned in a single call.log.like
arg. removed from gumbel_max
; function stands alone, now only stored log-likelihoods computed.psi
argument added to sim_IMIFA_data
to allow supplying true uniqueness parameter values directly.bw="SJ"
everywhere density
is invoked for plotting (bw="nrd0"
is invoked if this fails).isotropic
(I)FA models.isotropic
uniquenesses plots.learn.d
is TRUE
but learn.alpha
is FALSE
.discount
when mutation rate is too low (i.e. too many zeros).byrow=TRUE
:
Loop to simulate loadings matrices now generally faster also for all models.load.meth
argument replaced by logical heat.map
in plot.Results_IMIFA
.mat2cols
gains compare
argument to yield common palettes/breaks for heat maps of multiple matrices:
Associated plot_cols
function also fixed, and now unhidden.IMIFA
no longer depends on the corpcor
, gclus
, MASS
, matrixcalc
, or MCMCpack
libraries.par()$bg
(i.e. default "white"
) for plotting zero-valued entries of similarity matrix.heat_legend
calculated correctly.mcmc_IMIFA
's verbose
argument now governs printing of message
& cat
calls, but not stop
or warning
.NEWS.md
to build.discount
& alpha
parameters via Metropolis-Hastings now implemented. discount
: size of spike controlled by arg. kappa
.param
argument gains the option discount
for posterior inference.gumbel_max
replaces earlier function to sample cluster labels and is now unhidden/exported/documented.plot.meth=GQ
for OM(I)FA/IM(I)FA models depicting trace of #s of active/non-empty clusters.Zsimilarity
to summarise posterior clustering by the sampled labels with minimum
squared distance to a sparse similarity matrix constructed by averaging the adjacency matrices:
when optionally called inside get_IMIFA_results
, the similarity matrix can be plotted via plot.meth="zlabels"
.alpha
when discount
is non-zero, rather than usual Gibbs.
Mutation rate monitored rather than acceptance rate for Metropolis-Hastings updates of discount
parameter.aic.mcmc
& bic.mcmc
criteria when uniquenesses are isotropic:
PGMM_dfree
, which calculates # 'free' parameters for finite factor analytic mixture models is exported/documented.
This function is also used to add checks on the Dirichlet hyperparameter for OM(I)FA methods.G_priorDensity
now better reflects discrete nature of the density, and plots for non-zero PY discount values.heat_legend
.MCMCpack:rdirichlet
:
rDirichlet
replaces earlier function to sample mixing proportions and is now unhidden/exported/documented.dimnames
attributes in mcmc_IMIFA
to get_IMIFA_results
: lower memory burden/faster simulations.get_IMIFA_results
to reduce size/simplify access.trunc.G
, the max allowable # active clusters, and # active clusters now stored.active
G=1 by not simulating labels for IM(I)FA models.score.switch
defaults to FALSE
if # models ran is large.Rfast::sort_unique
and rotating properly. rnorm
columns to scores matrix during adaptation, esp. when widest loadings matrix grows/shrinks.N < P
.alpha
parameter now correctly depend on current # non-empty rather than active clusters.discount
.mcmc_IMIFA
output.stop(...)
for finite factor models to warning(...)
.get_IMIFA_results
)/printed (plot.Results_IMIFA
) even when zlabels
not supplied.verbose=FALSE
.Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.