stats::lm
w/ stats::lm.wfit
:
returned output in x$expert
is still formatted as per stats::lm
.equalPro=TRUE
).MoE_entropy
and MoE_AvePP
both gain the arg. group
for computing the average entropies
and posterior probabilities of each component, respectively: defaults to FALSE
, i.e. old behaviour.FARI
for computing the Frobenius (adjusted) Rand index between two soft &/or hard partitions.as.Mclust
for models w/ gating & expert covariates when expert.covar=TRUE
.matrixStats (>= 1.0.0)
+ related minor speed-ups.CITATION
commands & updated License: GPL (>= 3)
.MoE_gpairs
arg. diag.pars$show.dens=FALSE
added to toggle whether
parametric density estimates are drawn over diagonal panels for each response
variable (with or without the underlying histograms; see documentation).MoE_Similarity
added and integrated into plot.MoEClust
.MoE_AvePP
added.MoE_mahala
for univariate data with (default) identity=FALSE
.<=1
observations (or equivalent):
important --- some rare cases which previously would not converge will now converge!exp.init$malanabis=TRUE
(the default) introduced in v1.4.1,
important --- restored correct behaviour, especially when multiple modelNames
are being fitted!MoE_entropy
added.summary
(and related print
) methods for MoECriterion
objects."EEE"
& "VVV"
models.G=0:X
in MoE_clust
without adding noise for G>0
, unless
specifying models w/ noise, undoing another bug introduced in v1.4.1.modelNames
when G=1
only.hc.meth
arg. in MoE_control
.z.list
in MoE_control
.MoE_mahala
arg. identity
(& related MoE_control
exp.init$identity
option) is now also
relevant for univariate data: old behaviour is retained via respective defaults of FALSE
& TRUE
for
multivariate & univariate data (i.e. only ability to set identity=FALSE
for univariate data is new).MoE_clust
bug when tau0
is specified but G
is not (introduced in last update).MoE_gpairs(response.type="density")
w/ expert covariates & noise component.MoE_gpairs
arg. density.pars$grid.size
now recycled as vector of length 2 if supplied as scalar.aitken
now returns ldiff
, the difference in log-likelihood estimates used for the stopping criterion.sapply
replaced with vapply
, with other negligible speed-ups.MoE_stepwise
: fullMoE
(defaulting to FALSE
) which allows restricting the search to "full"
MoE models where the same set of covariates appears in both the gating & expert networks.initialModel
/initialG
is given, the "all"
option for noise.gate
& equalPro
now reverts to "both"
whenever "all"
would unnecessarily duplicate candidate models.gating
&/or expert
have covariates that are already in initialModel
.G=1
equalPro
models w/ expert covariates only once.initialModel
and modelNames
interact: initialModel
should be optimal w.r.t. model type.modelNames
are augmented with initialModel$modelName
if needs be.MoE_control
gains the arg. exp.init$estart
so the paper's Algorithm 1 can work as intended:
exp.init$estart
toggles the behaviour of init.z="random"
in the presence of expert covariates
when exp.init$mahalanobis=TRUE
& nstarts > 1
: when FALSE
(the default/old behaviour), all
random starts are put through the initial reallocation routine and then subjected to full runs of the EM;
when TRUE
, only the single best random start obtained from this routine is subjected to the full EM.list(...)
defaults in MoE_control
/MoE_gpairs
.noise.gate
in MoE_compare
for G=1
models w/ noise & gating covariates.G
in MoE_clust
.MoE_stepwise()
(thanks, in part, to requests from Dr. Konstantinos Perrakis): initialModel
arg. for specifying an initial model from which to begin the search,
which may already be a mixture and may already include covariates, etc.initialG
arg. as a simpler alternative when the only available
prior information is on the number of components.stepG
arg. (defaults to TRUE
) for fixing the number of components
& searching only over different covariate configurations (i.e. when FALSE
).noise.gate
arg. now also invoked when adding components to models with gating covariates
& a noise component (previously only when adding gating covariates to models with noise).equalPro
& noise.gate
args. gain new default "all"
(see documentation for details).network.data
argument.fitted
method for "MoEClust"
objects (a wrapper to predict.MoEClust
).predict
, fitted
, & residuals
methods for "MoE_gating"
objects, i.e. x$gating
.predict
, fitted
, & residuals
methods for "MoE_expert"
objects, i.e. x$expert
.predict.MoEClust
for models without expert network covariates.x$gating
object for equalPro=TRUE
models with a noise component.MoE_gpairs
: expert_covar
(see below).mosaic.pars
gains logical arg. mfill=TRUE
, to toggle between filling select tiles with colour
(new default behaviour), or outlining select tiles with colour (old behaviour).boxplot.pars
arg. added to allow customising boxplot and violin plot panels,
with related fixes to colourisation in upper-triangular panels.scatter.pars$eci.col
: now governs colours of ellipses and regression lines.scatter.pars$uncert.pch
added; now plotting symbols in covariate-related scatterplots
are only modified in response.type="uncertainty"
plots when uncert.cov
is TRUE
.expert_covar
gains the arg. weighted
to ensure cluster membership probabilities are properly
accounted for in estimating the extra variability due to the component means: defaults to TRUE
,
but weighted=FALSE
is provided as an option for recovering the old (not recommended) behaviour.itmax
arg. to MoE_control
: the 3rd element of this arg. governs
the maximum number of MLR iterations --- consequently, its default has been modified from 100
to
1000
(thanks to a prompt from Dr. Georgios Karagiannis), which has the effect of slowing down
internal calls to nnet::multinom
but generally reduces the required number of EM iterations. MoE_compare
whenever the optimal model needs to be refitted.mclust::as.Mclust
& MoEClust::as.Mclust
:
as.Mclust.MoEClust
now works regardless of order in which mclust
& MoEClust
are loaded.gating
& expert
formulas which are not found in network.data
.MoE_stepwise
speed-ups by avoiding duplication of initialisation for certain steps.MoE_stepwise
for univariate data sets without covariates.MoE_uncertainty
plots.MoE_control
arg. posidens=TRUE
ensures code no longer crashes when observations
have positive log-density: previous behaviour is recoverable by setting posidens=FALSE
.MoE_control
gains the arg. asMclust
(FALSE
, by default) which modifies the
stopping
and hcUse
arguments such that MoEClust
and mclust
behave similarly
for models with no covariates in either network (thanks to a request from Prof. Kamel Gana).MoE_gpairs
(thanks to Dr. Natasha De Manincor): predict.MoEClust
when no newdata
is supplied to models with no gating covariates.MoE_clust
& MoE_stepwise
now coerce "character"
covariates to "factor"
(for later plotting).summary
method for MoE_expert
objects.print
& summary
methods for MoE_gating
objects if G=1
or equalPro=TRUE
.MoE_plotGate
.print.MoECompare
gains the args. maxi
, posidens=TRUE
, & rerank=FALSE
.lattice(>=0.12)
, matrixStats(>=0.53.1)
, & mclust(>=5.4)
in Imports:
.clustMD(>=1.2.1)
and geometry(>=0.4.0)
in Suggests:
.NCOL
/NROW
where appropriate.mclust
compatibility edits.summary.MoEClust
gains the printing-related arguments classification=TRUE
,
parameters=FALSE
, and networks=FALSE
(thanks to a request from Prof. Kamel Gana).print
/summary
methods for MoE_gating
& MoE_expert
objects.G=1
models with expert network covariates.MoE_plotGate
, with new type
, pch
, and xlab
defaults.dimnames
to returned parameters
from MoE_clust()
.MoE_mahala
now correctly uses the covariance of resids
rather than the response.MoE_mahala
arg. identity
allow use of Euclidean distance instead:
this argument can also be passed via exp.init$identity
to MoE_control
.MoE_control
arg. exp.init$max.init
now defaults to .Machine$integer.max
.resids
arg. to MoE_mahala
.MoE_mahala
examples.predict.MoEClust
: MAPy
), in addition to the (aggregated) predicted responses (y
).MAPresids
governs whether residuals are computed against MAPy
or y
.use.y
(see documentation for details).newdata
for models with no covariates of any kind.discard.noise=FALSE
.MoE_stepwise
bugs when gating
or expert
are supplied.data
are supplied.summary
on x$gating
.noise_vol
now returns correction location for univariate data when reciprocal=TRUE
.donttest
examples.MoE_stepwise
: network.data
and data
.z.list
from being suppliable. equalPro="yes"
& noise=TRUE
.MoE_control
arguments (also for MoE_clust
).discard.noise=TRUE
behaviour for MoE_clust
, predict.MoEClust
, &
residuals.MoEClust
for models with a noise component fitted via "CEM"
.noise_vol
function and handling of noise.meth
arg. to MoE_control
.MoE_clust
output (see ?MoE_control
).MoE_stepwise
for conducting a greedy forward stepwise
search to find the optimal model in terms of the number of components, GPCM
covariance parameterisation, and the subsets of gating/expert network covariates.MoE_control
& predict.MoEClust
gain the arg. discard.noise
:
Default of FALSE
retains old behaviour (see documentation for details).MoE_control
gains the arg. z.list
and the init.z
arg. gets the option "list"
:
this allows manually supplying (soft or hard) initial cluster allocation matrices.MoE_gpairs
: uncert.cov
arg. added to control uncertainty point-size in panels with covariates.density.pars
gains arg. label.style
.scatter.pars
& stripplot.pars
gain args. noise.size
& size.noise
.barcode.pars$bar.col
slightly fixed from previous update."violin"
type plots now accurate for MAP panels.noise_vol
when method="ellipsoidhull"
.predict.MoEClust
when resid=TRUE
for models with expert covariates....
construct for residuals.MoEClust
.print.MoEClust
, print.summary_MoEClust
, & print.MoECompare
.gating
objects for equalPro=TRUE
models. parallel
package from Suggests:
.noise_vol
now also returns the location of the centre of mass of the region
used to estimate the hypervolume, regardless of the method employed. This fixes: predict.MoEClust
for any models with a noise component (see below).MoE_gpairs
(see below).noise_vol
for data with >2 dimensions
is now correct when method="ellipsoidhull"
, owing to a bug in the cluster
package.MoE_gpairs
plotting function: expert.covar
(& also to as.Mclust
function).response.type="density"
for all models with a noise component.response.type="density"
for models with covariates of any kind.subset$data.ind
& subset$cov.ind
arguments.buffer
.MoE_plotGate
is now consistent with MoE_gpairs
.gating
& expert
formulas are handled: ~.-a-b
.~c-1
.I()
.drop_levels
& drop_constants
functions. MoE_compare
gains arg. noise.vol
for overriding the noise.meth
arg.:
this allows specifying an improper uniform density directly via the (hyper)volume,
& hence adding noise to models for high-dimensional data for which noise_vol()
fails.equalPro
models with noise component, and also added equalNoise
arg.
to MoE_control
, further controlling equalPro
in the presence of a noise component.predict.MoEClust
for the following special cases: noise_vol
comment above).x.axis
arg. to MoE_plotGate
.tau0
can now also be supplied as a vector in the presence of gating covariates.expert_covar
for univariate models. MoE_estep
speed-up due to removal of unnecessary sweep()
.clustMD
is invoked, and added snow
package to Suggests:
.nnet
arg. MaxNWts
now passable to gating network multinom
call via MoE_control
.MoE_compare
.MoE_control
arg. algo
allows model fitting using the "EM"
or "CEM"
algorithm: MoE_cstep
added.algo
option "cemEM"
allows running EM starting from convergence of CEM.LOGLIK
to MoE_clust
output, giving maximal log-likelihood values for all fitted models.DF/ITERS
, etc., with associated printing/plotting functions.MoE_compare
, summary.MoEClust
, & MoE_plotCrit
accordingly.MoE_control
arg. nstarts
allows for multiple random starts when init.z="random"
.MoE_control
arg. tau0
provides another means of initialising the noise component.clustMD
is invoked for initialisation, models are now run more quickly in parallel.MoE_plotGate
now allows a user-specified x-axis against which mixing proportions are plotted.predict.MoEClust
function added: predicts cluster membership probability,
MAP classification, and fitted response, using only new covariates or new covariates &
new response data, with noise components (and the noise.gate
option) accounted for.MoE_Uncertainty
added (callable within plot.MoEClust
):
visualises clustering uncertainty in the form of a barplot or an ordered profile plot,
allowing reference to be made to the true labels, or not, in both cases.response.type="density"
to MoE_gpairs
now works properly for models with
gating &/or expert network covariates. Previous approach which evaluated the density using
averaged gates &/or averaged means replaced by more computationally expensive but correct
approach, which evaluates MVN density for every observation individually and then averages.clustMD
package to Suggests:
. New MoE_control
argument exp.init$clustMD
governs whether categorical/ordinal covariates are also incorporated into the initialisation
when isTRUE(exp.init$joint)
& clustMD
is loaded (defaults to FALSE
, works with noise). drop.break
arg. to MoE_control
for further control over the extra initialisation
step invoked in the presence of expert covariates (see Documentation for details).MoE_dens
for the EEE
& VVV
models by using already available Cholesky factors.MoE_control
arguments: km.args
specifies kstarts
& kiters
when init.z="kmeans"
.init.z="hc"
& noise into hc.args
& noise.args
.hc.args
now also passed to call to mclust
when init.z="mclust"
.init.crit
("bic"
/"icl"
) controls selection of optimal mclust
/clustMD
model type to initialise with (if init.z="mclust"
or isTRUE(exp.init$clustMD)
);
relatedly, initialisation now sped-up when init.z="mclust"
.ITERS
replaces iters
as the matrix of the number of EM iterations in MoE_clust
output: iters
now gives this number for the optimal model. ITERS
now behaves like BIC
/ICL
etc. in inheriting the "MoECriterion"
class. iters
now filters down to summary.MoEClust
and the associated printing function. ITERS
now filters down to MoE_compare
and the associated printing function.response.type="uncertainty"
within MoE_gpairs
to better conform to mclust
: previously no transparency.subset
arg. to MoE_gpairs
now allows data.ind=0
or cov.ind=0
, allowing plotting of
response variables or plotting of the covariates to be suppressed entirely.MoE_gpairs
plots.sigs
arg. to MoE_dens
& MoE_estep
must now be a variance object, as per variance
in the parameters list from MoE_clust
& mclust
output, the number of clusters G
,
variables d
& modelName
is inferred from this object: the arg. modelName
was removed.MoE_clust
no longer returns an error if init.z="mclust"
when no gating/expert network
covariates are supplied; instead, init.z="hc"
is used to better reproduce mclust
output.resid.data
now returned by MoE_clust
as a list, to better conform to MoE_dens
.MoE_aitken
& MoE_qclass
to aitken
& quant_clust
, respectively.data
w/ missing values now dropped for gating/expert covariates too (MoE_clust
).linf
within aitken
& the associated stopping criterion.linf
estimate now returned for optimal model when stopping="aitken"
& G > 1.resid
& residuals
args. to as.Mclust
& MoE_gpairs
.MoE_plotCrit
, MoE_plotGate
& MoE_plotLogLik
now invisibly return relevant quantities.G=0
models when noise.init
is not supplied.drop_levels
to handle alphanumeric variable names and ordinal variables.MoE_compare
when a mix of models with and without a noise component are supplied.MoE_compare
when optimal model has to be re-fit due to mismatched criterion
.MoE_Uncertainty
plots.print.MoECompare
now has a digits
arg. to control rounding of printed output.MoE_clust
& MoE_compare
.drop_constants
.is.list(x)
with inherits(x, "list")
for stricter checking.MoE_clust
.mclust::clustCombi/clustCombiOptim
examples to as.Mclust
documentation.MoE_news
for accessing this NEWS
file.G
is at either end of the range considered.cat
/message
/warning
calls for printing clarity.usage
sections of multi-argument functions.MoEClust-package
help file (formerly just MoEClust
).MoE_control
gains the noise.gate
argument (defaults to TRUE
): when FALSE
,
the noise component's mixing proportion isn't influenced by gating network covariates.x$parameters$mean
is now reported as the posterior mean of the fitted values when
there are expert network covariates: when there are no expert covariates, the posterior
mean of the response is reported, as before. This effects the centres of the MVN ellipses
in response vs. response panels of MoE_gpairs
plots when there are expert covariates.expert_covar
used to account for variability in the means, in the presence
of expert covariates, in order to modify shape & size of MVN ellipses in visualisations.MoE_control
gains the hcUse
argument (defaults to "VARS"
as per old mclust
versions).MoE_mahala
gains the squared
argument + speedup/matrix-inversion improvements.matrixStats
(on which MoEClust
already depended).MoE_gpairs
argument addEllipses
gains the option "both"
.equalPro=TRUE
in the presence of a noise component when there are
no gating covariates: now only the mixing proportions of the non-noise components
are constrained to be equal, after accounting for the noise component.MoE_gpairs
argument scatter.type
gains the options lm2
& ci2
for further control
over gating covariates. Fixed related bug whereby lm
& ci
type plots were being
erroneously produced for panels involving pairs of continuous covariates only.MoE_mahala
and in expert network estimation with a noise component.G=0
models w/ noise component only can now be fitted without having to supply noise.init
.MoE_compare
now correctly prints noise information for sub-optimal models.stopping="relative"
: now conforms to mclust
.check.margin=FALSE
to calls to sweep()
.call.=FALSE
to all stop()
messages.grid
library.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.