NEWS R Documentation

## News for Package 'flexmix'

### Changes in flexmix version 2.3-18

• The man page improved for the different general model classes such as 'FLXM', 'FLXMC', 'FLXMR' and 'FLXMCsparse'. Thanks to Jonas Hagenberg for pointing out that the class structure is not well documented.

• An issue fixed for 'FLXMRlmmc' models.

### Changes in flexmix version 2.3-17

• A model class for sparse model-based clustering added with a suitable method to resolve the formula and extract the data.

• There was a bug with dimensions being dropped if only a single individual was used for grouping. Thanks to Adam Hulman for pointing this issue out.

• The FLXgetModelmatrix method for 'FLXMRlmm' objects has been improved. Thanks to Adam Hulman for pointing out that this might be unnecessarily slow.

### Changes in flexmix version 2.3-16

• The vignette explaining model diagnostics using resampling methods was modified to use more replications. Thanks to Eric Book for pointing this issue out.

### Changes in flexmix version 2.3-15

• Modified the internal function groupPosteriors to be more efficient for a large number of groups. Thanks to Marnix Koops for pointing the problem out.

• Model driver FLXMRlmer() adapted for lme4 (>= 1.1). Thanks to Mark Senior for pointing the problem out.

• Model driver FLXMRmgcv() adapted for mgcv (>= 1.8-27).

• Data set Catsup is now loaded from package Ecdat instead of mlogit.

### Changes in flexmix version 2.3-14

• A bug fixed for FLXMRcondlogit() to ensure that the formula for the strata is also stored and can be used for predicting, etc. new data. Thanks to Peter Fraser-Mackenziefor for pointing the problem out.

• A bug fixed for FLXMRglmfix() which occurred if several components were simultaneously omitted. Thanks to Moritz Berger for pointing the problem out.

• For mixtures of mixed effects models and with censored data only weighted ML estimation is implemented. This is now checked and an error is given if a different estimation method is requested.

• A generic function sigma() is available for R >= 3.3.0 and thus different versions of sigma() need to be called depending on the R version. Thanks also to Stephen Martin for pointing the issue out.

• Components are now generated using functions instead of expressions.

• Functions from the base packages stats, graphics and grDevices are now correctly imported before being used.

• Function FLXMCdist1 implements model drivers for univariate mixtures of different distributions.

### Changes in flexmix version 2.3-13

• A model driver for mixtures of regression models with (adaptive) lasso and elastic net penalizations for the coefficients building on glmnet was provided by Frederic Mortier and Nicolas Picard.

• A bug in a coerce method to class "FLXnested" fixed.

### Changes in flexmix version 2.3-12

• Construction of model matrices changed to re-use levels of factors while fitting for prediction. Thanks to Robert Poos for pointing the problem out.

• Package mgcv of version at least 1.8-0 is required in order to avoid loading of the package for formula evaluation.

### Changes in flexmix version 2.3-11

• Examples changed to be less time consuming.

• Bug fixed in ungroupPriors() and getPriors() to work with a grouping where only one unique value is contained. Thanks to Christine Koehler for pointing the problem out.

• The logLik() method for "flexmix" objects now also has a newdata argument.

• In the M-step only the parameters of the previously fitted components are passed over to avoid nesting of environments. Thanks to Dominik Ernst for pointing the problem out.

• Function boot() was fixed to work correctly with grouped data if the groups are kept and if fixed effects are fitted.

• Authors@R used in DESCRIPTION. Deepayan Sarkar listed as contributor due to internal code copied from package lattice used for the plots in flexmix.

• Model driver FLXMRlmer() adapted for lme4 (>= 1.0).

### Changes in flexmix version 2.3-10

• Parallel processing disabled in stepFlexmix().

### Changes in flexmix version 2.3-9

• Package dependencies, imports and suggests modified suitably for R >= 2.15.0.

• NEWS file adapted to a NEWS.Rd file.

• Parallel processing is enabled in stepFlexmix(). See flexclust for details.

• New model drivers FLXMRmultinom() and FLXMRcondlogit() are included which allow to fit finite mixtures of multinomial logit and conditional logit models. Identifiability problems might arise for this model class. Details on sufficient identifiability conditions are given in Gruen and Leisch (2008).

• A bug in FLXMRlmm() was fixed which did not allow to specify restrictions on the variances of the random effects and / or the residuals. Thanks to Gregory Matthews for pointing the problem out.

### Changes in flexmix version 2.3-8

• The fit function in the M-step by default now is called with an argument containing the fitted component. This allows to use the parameter estimates from the previous step for initialization. Fit functions which do not require this now need a ... argument. Thanks to Hannah Frick and Achim Zeileis for requesting this feature.

• Function initFlexmix() was added which is an alternative to stepFlexmix() where first several short runs of EM, SEM or CEM are performed followed by a long run of EM.

### Changes in flexmix version 2.3-7

• A bug fixed in predict() and fitted() if a concomitant variable model is specified and aggregate = TRUE. Thanks to Julia Schiffner for pointing this out.

• A bug fixed in FLXMRmgcv() if observations were removed in the M-step because their a-posterior probabilities were smaller than eps. Thanks to Ghislain Geniaux for pointing the problem out.

### Changes in flexmix version 2.3-6

• Vignettes moved from /inst/doc to /vignettes.

• stepFlexmix() can now be called with a concomitant variable model FLXPmultinom() for k starting with 1 without getting an error. The concomitant variable model is internally replaced by FLXPconstant().

• The boot() method for "flexmix" objects is extended to mixture models with concomitant variables and mixtures of linear mixed models.

• A bug fixed in the summary() method for "flexmix" objects. The column post > 0 did not give the correct results if weights were used for fitting the mixture.

• A bug fixed in the unique() method for "stepFlexmix" objects. This only occurred if components were dropped as well as if the EM algorithm did not converge for all repetitions. Thanks to Sebastian Meyer for pointing this out.

### Changes in flexmix version 2.3-5

• A bug fixed in posterior(). Fixed priors were always used, also if a concomitant variable model was present.

• A method added for prior() such that if newdata is supplied and the object is of class "flexmix" the prior class probabilities for each observation are returned.

### Changes in flexmix version 2.3-4

• A generic method for nobs() is introduced in stats4 for R 2.13.0. flexmix now does not define this generic function and logLik(), AIC() and BIC() methods were modified to better exploit already available methods. Thanks to Prof. Brian D. Ripley for suggesting the modification.

### Changes in flexmix version 2.3-3

• A bug for boot() fixed for "flexmix" objects with an unbalanced grouping variable. Thanks to Laszlo Sandor for pointing this out.

### Changes in flexmix version 2.3-2

• A bug for rflexmix() fixed for "flexmix" objects with a concomitant variable model. Thanks to Greg Petroski for pointing this out.

### Changes in flexmix version 2.3-1

• Functionality for bootstrapping finite mixture models added.

### Changes in flexmix version 2.2-11

• More generics and methods exported to use the refit() method when extending flexmix in other packages.

### Changes in flexmix version 2.2-10

• For long formulas FLXMRglmfix() did not work properly due to the splitting of the formula into several parts by deparse(). This is fixed by pasting them together again. Thanks to Dustin Tingley for the bug report.

### Changes in flexmix version 2.2-9

• A new model driver FLXMRmgcv() is added which allows to fit regularized linear models in the components.

• More generics and methods exported to allow extending flexmix in other packages.

### Changes in flexmix version 2.2-8

• The a-posteriori probabilities are now also determined as changed for FLXfit() for version 2.2-6 for refit().

• Bug fixed for FLXfillconcomitant and refit when weights and grouping are present. A check was added that weights are identical within groups.

• Function group() is now exported.

### Changes in flexmix version 2.2-7

• Bug in the FLXgetModelmatrix() method for the "FLXMRlmm" class fixed when determining identical random effects covariates for the grouping.

• A new model driver for finite mixtures of linear mixed effects models with left-censored observations is added.

### Changes in flexmix version 2.2-6

• Determination of the a-posteriori probabilities made numerically more stable for small likelihoods. Thanks to Nicolas Picard for the code patch.

• summary() for "FLXMRmstep" objects now returns similar output for which = "concomitant" as for flexmix version 2.0-1.

• New demo driver FLXMCnorm1() for univariate Gaussian clustering.

• Non-postive values for the maximum number of iterations for the "FLXcontrol" object are not valid. A validity check for this is now included.

### Changes in flexmix version 2.2-5

• Model class "FLXMRfix" introduced which is a subclass of "FLXMR" and a superclass for "FLXMRglmfix" which also extends "FLXMRglm".

• Model driver FLXMCfactanal() added which allows to fit finite mixtures of Gaussian distributions where the variance-covariance matrix is estimated using factor analyzers.

• Comparison of formulas now done using identical().

### Changes in flexmix version 2.2-4

• Model drivers FLXMRlmer() and FLXMRlmm() added for fitting finite mixtures of linear mixed effects models.

• EIC() added as additional information criterion for assessing model fit.

• Bug fixed in plot() method for "flexmix" objects introduced in version 2.2-3.

### Changes in flexmix version 2.2-3

• New model driver FLXMCmvcombi() which is a combination of Gaussian and binary.

• parameters() now also has a which argument in order to allow to access the parameters of the concomitant variable model.

• Bug fixed in refit().

• nobs() now returns the number of rows in the data.frame and not the number of individuals (similar as for example by lme).

### Changes in flexmix version 2.2-0

• vignette describing Version 2 added

• isTRUE(all.equal()) replaced with identical().

• Bug fixed for prior in flexmix().

• New function relabel() to sort components (generic is in modeltools).

• New example data generator ExLinear().

• Fixed a bug in handling groups (gave an error for empty design matrices).

• Added new model FLXMRrobglm() for robust estimation of GLMs.

### Changes in flexmix version 2.1-0

• Renamed cluster() to clusters() to avoid conflict with cluster() from package survival

• Bug fixed in internal functions using S4 generics and methods.

### Changes in flexmix version 2.0-2

• refit() now has a method argument. For method "optim" the variance-covariance matrix is determined using optim() to maximize the likelihood initialized in the solution found by the EM algorithm. Method "mstep" refits the component specific and concomitant models treating the posterior probabilities as given, i.e. performs an M-step of the EM algorithm.

### Changes in flexmix version 2.0-1

• Lapply() added which allows to apply a function to each component of a finite mixture

• KLdiv() modified to allow for determination with a discrete and a continuous version of the KL divergence

### Changes in flexmix version 2.0-0

• Model driver for zero-inflated component specific models.

• Latent class analysis for binary multivariate data is now possible to estimate for truncated data where the number of observations with pattern only zeros is missing.

• new argument newdata for cluster()

• new unique() method for "stepFlexmix" objects

### Changes in flexmix version 1.9-0

• New class definitions for component specific models and concomitant variable models.

• fitted() and predict() now have an aggregate argument in order to be able to determine the aggregated values over all components.

• The package has now a vignette presenting several applications of finite mixtures of regression models with varying and fixed effects on artificial and real data which can be a accessed using the command vignette("regression-examples").

• The vignette "flexmix-intro" was adapted to reflect the changes made in the package.

• stepFlexmix() now returns an object of class "stepFlexmix" which has a print() and plot() method. In addition getModel() can be used to select an appropriate model.

• flexmix() now has a weights argument for multiple identical observations.

• New model drivers for latent class analysis with Bernoulli and Poisson distributed multivariate observations.

• Variants of the EM algorithm have been modified to correspond to CEM and SEM. These names can now also be used for specifying the classify slot of the "FLXcontrol" object.

### Changes in flexmix version 1.8-1

• The package can now fit concomitant variable models.

• New M-step driver for regression models with varying and fixed effects.

### Changes in flexmix version 1.1-2

• Fixed a bug that made the log-likelihood infinity for observations where all posteriors are numerically zero.

• Fixed a bug for formulae with dots.

• posterior() now has a newdata argument.

• New demo driver for model-based clustering of binary data.

• Adapted to changes in summary.glm() of R version 2.3.0.

### Changes in flexmix version 1.1-1

• The cluster argument of flexmix() may now also be a matrix of posterior probabilities.

• Fixed a bug to make size table work in case of empty clusters.

• Fixed a bug in likelihood computation for grouped observations.

• The artificial NPreg data now also have a binomial response, added example to help("flexmix").

### Changes in flexmix version 1.1-0

• The FLXglm() driver now has an offset argument.

• New data set seizure as example for a Poisson GLM with an offset.

• fitted() can be used to extract fitted values from "flexmix" and "FLXrefit" objects.

• New accessor methods cluster() and posterior().

### Changes in flexmix version 1.0-0

• The package has now an introductionary vignette which can be accessed using the command vignette("flexmix-intro"). The vignette has been published in the Journal of Statistical Software, Volume 11, Issue 8 (doi:10.18637/jss.v011.i08), and the paper should be used as citation for flexmix, run citation("flexmix") in R 2.0.0 or newer for details.

• Several typos in help pages have been fixed.

### Changes in flexmix version 0.9-1

• Fixed a bug in the summary() and plot() methods of "flexmix" objects in case of empty clusters.

• stepFlexmix() takes two new arguments: compare allows fo find minimum AIC/BIC solutions in addition to maximum likelihood, verbose gives some information about progress.

• Use a default of verbose = 0 in FLXcontrol() (better in combination with stepFlexmix()).

### Changes in flexmix version 0.9-0

• New summary() and plot() methods for "flexmix" objects.

• "FLXglm" objects can now be automatically refit()ted to get table of significance tests for coefficients.

• New function stepFlexmix() for more automated model search.

• The artificial example data now have functions to create them and a pre-stored data sets, new function plotEll() to plot 2d Gaussians with confidence ellipses.

• New function KLdiv() to compute Kullback-Leibler divergence of components.

• The calculation of the degrees of freedom for FLXmclust() was wrong

### Changes in flexmix version 0.7-1

• Fixed some codoc problems (missing aliases).

• First version released on CRAN: 0.7-0