MEDseq:
Mixtures of Exponential-Distance Models with Covariates
MEDseq
v1.4.2 - (13th release [patch update]:
2025-03-10)
Improvements, Bug
Fixes & Miscellaneous Edits
- Many adjustments to plot.MEDseq:
- MEDseq_clustnamesgains the- MAP=FALSEarg., for use when- size=TRUE: this is now used by
 - plot.MEDseq(where- soft=FALSEcorresponds to- MAP=TRUE) when both- SPS&- sizeare- TRUE.
- TraMineR- typey-axis labels now properly
account for all combinations of- soft&- weighted,
 particularly when- subsetis invoked &/or- type="ms", with additional minor fixes to- subsetarg.
- type="ms"can now show noise component’s modal sequence
by setting- subsetappropriately,
 but not by default as the model does not estimate modal sequences for
noise components.
- The MEDseq_clustnamesarg.clustercan now
also be passed via...whenSPS=TRUE.
- Allowed new TraMineRarg.col.entrto be
passed via...whentype="Ht"ortype="dH".
 
- Minor fixes in relation to MEDseq_controlarg.tau0:
- tau0can now always be supplied as a vector (previously
allowed only with- noise.gate=TRUE).
- Related bug fix when tau0is supplied as a vector withnoise.gate=TRUE.
- Related initialisation bug fix when tau0 != 0.5(the
implied default) forG=2models with noise.
 
- MEDseq_controlgains new- init.zoption- "soft.random":- 
- The "random"option has been renamed to"random.hard", but
 init.z="random"will work as before due to partial
matching.
- Related bugs when a ‘soft’ z.listis used withalgo != "EM"are also fixed.
 
- MEDseq_fitnow checks for and terminates in the
presence of both types of missingness
 as per new- TraMineRfunction- seqhasmiss,
i.e. now also accounts for void values.
- plot.MEDcriterionadded as a wrapper to- plot.MEDseqwith related- type, for
convenience:
 for example,- plot(x$BIC)is now equivalent to- plot(x, type="bic").
- Experimental MEDseq_controlarg.dist.matno longer governs ASW calculations: it still defaults
 to a Hamming distance matrix but now allows only for
initialisation to be based on other distances.
- Detecting modal sequence ties is now handled properly for alphabets
of size greater than 9.
- Minor E-step speed-ups for "CU","CUN","UU", &"UUN"models for clusters with
only one observation.
- Additional minor speed-ups for unweighted models with
G=1.
- print.MEDseqnow works again for all models with- G=1.
- Further minor speed-ups to various utility functions using
vapplyin place oftapply.
- Ensured TraMineR (>= 2.2-10)inDESCRIPTIONImports:field due tocol.entr&seqhasmiss.
- Many additional minor documentation improvements.
MEDseq
v1.4.1 - (12th release [patch update]:
2023-12-12)
Improvements, Bug
Fixes & Miscellaneous Edits
- Minor fixes to plot.MEDseq:
- sortvoptions- "from.start"and- "from.end"borrowed from- TraMineRwhen
 - seriatedis- "observations"or- "both"for the- "clusters",- "i",
&- "I"- typeplots.
- Seriation is now explicitly prohibited when
type="gating"when:
- models contain no gating covariates: previously an error was
returned in such cases.
- x.axisis supplied via the- ...construct.
 
- Removed spurious warnings in TraMineRtypeplots when using extra args. via....
- Remedied labelling issues introduced in previous update when
seriated="none"is supplied.
 
- MoE_entropyand- MoE_AvePPboth gain the
arg.- groupfor computing the average entropies
 and posterior probabilities of each component, respectively: defaults to- FALSE, i.e. old behaviour.
- Now following proper convention for reexporting
TraMineR::seqdef.
- Extensive edits to avoid overheads introduced in
matrixStats (>= 1.0.0)+ related minor speed-ups.
- Now using newer CITATIONcommands & updatedLicense: GPL (>= 3).
MEDseq
v1.4.0 - (11th release [minor update]:
2022-12-20)
New Features & Improvements
- Function seqdefadded as an exact copy ofTraMineR::seqdef, to enable experienced
 users ofMEDseq&TraMineRto use the
former without needing to explicitly load the latter.
- MEDseq_clustnamesgains the arg.- weighted=FALSEfor use when- size=TRUE:
 this is now respected by the- weightedarg. to- plot.MEDseqwhere relevant.
- New function dist_freqwHadded for calculating pairwise
dissimilarity matrix associated with
 wKModes(..., freq.weighted=TRUE)for subsequent use
(e.g. silhouettes).
- The plot.MEDseqfunction’stypearg. gains
the option"dH",
 provided version2.2-4or later of theTraMineRpackage is installed.
- plot.MEDseqalso gains the- "similarity"option for its- typeargument.
- New function MEDseq_AvePPadded.
Bug Fixes & Miscellaneous
Edits
- wKModesnow also returns- x$tot.withindiff(i.e.- sum(x$withindiff)).
- Minor speed-ups to wKModeswhenfreq.weighted=TRUE.
- Minor cosmetic changes to type="dbsvals"&type="aswvals"inplot.MEDseq.
- Minor speed-ups to plot.MEDseqrelated to itsseriatedarg. inG=1settings.
- Fixed rare bugs in tie-breaking for modal sequence estimate in
MEDseq_fit&wKModes.
- Fixed documentation typos.
MEDseq
v1.3.3 - (10th release [patch update]:
2022-03-28)
Improvements, Bug
Fixes & Miscellaneous Edits
- Major speed-ups to E-steps for all model types when
G>1.
- Minor speed-ups to distance calculations for all model types when
G>1.
- MEDseq_meantimegains the- map.sizearg.
and a related- printmethod.
- Added summary(and relatedprint) methods
forMEDCriterionobjects.
- New function MEDseq_entropyadded.
- Fixed mismatched plotting symbols for models with noise in
model-selection criteria plot legends.
- Minor fix to handle (rare) empty components.
- Minor edits for compatibility w/ latest TraMineRrelease w.r.t."mt"&"ms"plots.
MEDseq
v1.3.2 - (9th release [patch update]:
2021-12-19)
Bug Fixes & Miscellaneous
Edits
- Modifications to WKModes(& thus relatedMEDseq_controlinit.z
 options"kmodes"/"kmodes2"), by further
alteringklaR::kmodes:
- Ties for modes now broken randomly, using new wKModesarg.random(defaults toTRUE).
- All tie-breaks for cluster assignments now biased towards previous
iteration’s assignments.
- Fixed rare bug when modesis supplied as a number with
aggregated data, e.g."kmodes2".
 
- MEDseq_fit& other functions now work for sequence
alphabets of any size;
 previously, only sequences with fewer than 10 states/categories were
accommodated.
- Minor fix to dbsfunction when supplyingclusterswith a noise component.
- sapplyreplaced with- vapply, with other
negligible speed-ups.
- Updated citation info after final publication in
JRSSA.
MEDseq
v1.3.1 - (8th release [patch update]:
2021-10-14)
Bug Fixes & Miscellaneous
Edits
- Fixes for init.zoptions"kmodes"&"kmodes2"inMEDseq_control, with new functionwKModes
 provided for running the k-modes algorithm on weighted data:
previously, k-modes initialisation
 was only available for unweighted sequences via the
now-replacedklaR::kmodesfunction
 (consequently, theklaRpackage has been removed from theDESCRIPTIONSuggests:field).
- plot.MEDseqgains the arg.- subset, for use
with the- TraMineR- typeplots:
 allows plotting some but not all components, e.g. only the noise
component (see documentation).
- Fixed minor bug causing MEDseq_fitto crash whenweightsare supplied andunique=FALSE.
- Fixed ASW calculation when unweighted sequences are
aggregated (i.e. unique=TRUE, the default).
- Fixed small bug for type="ms"plots for models with a
noise component whenSPS=TRUE.
- Fixed printing of noise.gateinMEDseq_compareforG=2models w/ noise &
gating covariates.
- Improved checks on GinMEDseq_fit.
MEDseq
v1.3.0 - (7th release [minor update]:
2021-07-15)
New Features &
Improvements
- plot.MEDseqgains a number of new arguments:- 
- softallows soft cluster membership probabilities to be
used for the- "d",- "f",- "Ht",- "ms",
 &- "mt"- typeplots (default:- soft=TRUE) + the- "i"&- "I"plots (default:- soft=FALSE), in a
 manner akin to- WeightedCluster::fuzzyseqplot(): previously,
all but the- "ms"plot used the
 hard MAP partition and discarded the soft assignment information
(i.e.- soft=FALSE, implicitly).
- sortvallows overriding the- smetharg. to
instead order observations in certain plots
 (where- seriatedis one of- "observations"or- "both") by the- "dbs"or- "asw"values;
 additionally, and for consistency with- WeightedCluster::fuzzyseqplot(),
 - sortv="membership"is provided for- soft=TRUE- type="I"plots.
- weighted(- TRUE, by default) allows control
over whether the weights (if any) are used;
 relevant only for- "d",- "f",- "Ht",- "i",- "I",- "ms", &- "mt"- typeplots.
 
- Exported MEDseq_clustnames&MEDseq_nameclustsfunctions and addedSPSarg.
toplot.MEDseq,
 MEDseq_meantime,MEDseq_stderr, &
various/moreprint/summarymethods: now
certain plots &
 outputs can be (or are by default) labelled with the central sequences
in SPS format, as per the paper.
- seriatedoptions- "observations"&- "both"can now be used for- "i"type
plots,
 with related minor fixes for- "i"&- "I"type plots for weighted data with seriated observations.
- Added predict,fitted, &residualsmethods for"MEDgating"objects,
i.e.x$gating.
- MEDseq_meantimegains the arg.- wt.size(defaults to- FALSE).
- Minor speed-ups to model-fitting for modtype="CU".
Bug Fixes & Miscellaneous
Edits
- A warning message is now printed if the gating network’s MLR ever
fails to converge, prompting users to
 modify theitmaxarg. toMEDseq_control: the
2nd element of this arg. governs the maximum number of
 MLR iterations — consequently, its default has been modified from100to1000, which is liable to slow
 down internal calls tonnet::multinom, but generally
reduces the required number of EM iterations.
- Changes to default colour palettes & plotting symbols for
certain plot types:
 Suggests:packageviridisLitenow only invoked
if available.
- Minor fixes to returned x$gatingobject, especially forequalPromodels
 with a noise component and weighted models without any gating
covariates at all.
- Stronger checks to ensure weightsarg. is explicitly
supplied toMEDseq_fit
 in cases where the"stslist"object passed viaseqshas the"weights"attribute.
- Added error message to MEDseq_fitwhen the number of
states exceeds 9,
 to better inform of this bug which will be rectified in future
updates.
- Fixed bug preventing inclusion of higher-order terms in
gatingformulas when there are duplicates.
- Minor fixes to get_MEDseq_resultsand how its optional
args. are internally handled byplot.MEDseq.
- Stronger checks for variables in gatingformula which
are not found incovars.
- type="mean"option renamed to- type="central"in- plot.MEDseq.
- type="ms"plots now work properly when- seriated="clusters"or- seriated="both".
- Removed some superfluous warnings for all but the "mt"TraMineRtypeplots.
- Fixed small bug in MEDseq_meantimewhenMAP=FALSE.
- Further robustifications to handle empty components.
- Minor fixes to print.MEDseqfor models where DBS
&/or ASW statistics weren’t computed.
- Minor vignette edits and documentation clarifications.
- Updated citation info after online publication in
JRSSA.
MEDseq
v1.2.1 - (6th release [patch update]:
2020-12-29)
Bug Fixes & Miscellaneous
Edits
- The "d","f","Ht","i", &"I"plot types now properly account
for sampling weights.
- Layout and legend-placement has been improved for these same types
of plots.
- Mimicking TraMineRfurther,plot.MEDseqalso gains thetypeoptions"ms"&"mt".
- Minor speed-ups associated with the opti="medoid"setting.
- Added ORCID iDs to DESCRIPTION.
- Minor CRAN compliance edits to the vignette.
MEDseq
v1.2.0 - (5th release [minor update]:
2020-11-20)
Significant User-Visible
Changes
- Corrected the parameter count penalty for the BIC, ICL, and AIC
model selection criteria,
 specifically, the count is now greater for the central sequence position
estimates.
- Hence, criterion="bic"is now the default forMEDseq_control,MEDseq_compare, and
 get_MEDseq_results(previously"dbs"), with
modifications toprint&summaryfunctions.
- Non-noise components’ central sequence positions associated with
precision parameters of zero
 are now printed (print.MEDseqtheta) & plotted
(plot.MEDseq(..., type="mean")) always:
 thepreczeroargument has thus been removed from both
functions.
New Features &
Improvements
- MEDseq_meantimegains two new arguments (see
documentation for more details):- 
- weighted(default:- TRUE, old:- FALSE) allows the sampling weights to be used,
 with or without the cluster assignment probabilities, in the computation
of the weighted averages.
- prop(default:- FALSE) divides the output
when- norm=TRUEby the sequence length.
 
- MEDseq_controlgains the arg.- random=TRUE,
governing tie-breaking of estimated central sequence
 positions: old behaviour (always choosing the first candidate state)
recoverable via- random=FALSE.
- plot.MEDseqarg.- quant.scale=FALSEreplaces old arg.- log.scale: quantiles now used
 to determine non-linear colour breakpoints when invoked with- type="precision".
- Sped-up init.z="kmedoids"initialisation viapamfor unweighted sequences, by using the
 highest available value for thepamonceoption,
based on theclusterpackage’s version number.
- init.zgains the options- "kmodes"&- "kmodes2", though only for unweighted
sequences:
 both require the newly suggested- klaR (>= 0.6-13)package.
- plot.MEDseqgains the arg.- smeth,
governing the seriation method to be used (- "TSP", by
default).
- For weighted sequences, init.z="kmedoids"is now itself
initialised by Ward’s hierarchical clustering.
- Significant speed-ups to computation of central sequences for all
optisettings (esp."mode").
- Added SPSarg. (default=FALSE) toprint.MEDtheta&summary.MEDseq.
- dbsgains the optional/experimental arg.- clusters- no change to default.
Bug Fixes & Miscellaneous
Edits
- Various fixes to the seriatedarg. toplot.MEDseq:
- Arg. name changed from seriateto avoid conflict with
functionseriation::seriate.
 
- Fixed seriatedoptions"clusters"/"both"for models with no noise
component.
 
- seriated="observations"(the default) now also works
for- type="I"plots.
 
- seriated="clusters"now also works for- type="dbsvals"&- type="aswvals"plots.
 
- MEDseq_fitnow always internally normalises the- weightsto sum to the sample size.
- Minor fixes to properly account for weighted sequences &/or
duplicates when noise.gate=FALSE.
- Minor fix to gathering of results to account for
noise.gate=FALSEwhenG=2.
- MEDseq_stderrnow respects the- algo,- opti, &- noise.gatesettings of the
original model.
- MEDseq_comparenow returns & prints- optiinfo where relevant.
- Fixes to print&summarymethods forMEDgatingobjects ifequalPro=TRUE.
- MEDseq_fitnow coerces- "character"covariates to- "factor".
- Minor fixes to printmethod forMEDlambdaobjects also.
- Additional minor edits to
plot.MEDseq(..., type="gating").
- print.MEDseqComparegains the args.- maxi&- rerank=FALSE.
- Minor speed-ups for G=1models.
- Added viridisLite (>= 0.2.0)toSuggests:(forplot.MEDseq(..., type="precision")).
- Ensured matrixStats (>= 0.53.1)andTraMineR (>= 1.6)inImports:.
- Package startup message now checks if newer version of package is
available from CRAN.
- Significant vignette edits.
- Updated maintainer e-mail address.
- Minor documentation, examples, and CRAN compliance edits.
MEDseq
v1.1.1 - (4th release [patch update]:
2020-05-12)
Bug Fixes & Miscellaneous
Edits
- Maintenance release for compatibility with R 4.0.0 - minor
edits.
- summary.MEDseqgains the printing-related
arguments
 - classification=TRUE,- parameters=FALSE, and- gating=FALSE.
- x$params$lambdanow inherits the- MEDlambdaclass,
 with its own- printmethod as per- x$params$theta.
- x$params$taunow has informative- dimnames.
- Minor changes when supplying x.axistoplot.MEDseq(..., type="gating").
- Documentation, vignette, examples, and references improvements.
- Added rmarkdowntoSuggests:.
- Reformatted package startup message.
MEDseq
v1.1.0 - (3rd release [minor update]:
2020-03-30)
New Features, Improvements,
& Bug Fixes
- Significant efficiency gains when ignoring duplicates in the
presence of weights:
- before, unique cases were defined as unique
sequence/covariates/weight combinations,
 
- now, cases with different weights that are otherwise duplicates are
treated as duplicates.
 
- MEDseq_stderris provided for computing the standard
errors of the
 coefficients for the covariates in the gating network via either
the
 weighted likelihood bootstrap or jackknife methods.
- Small robustifications in the presence of empty components.
- Fixed get_MEDseq_resultswhenwhat="MAP"and non-noise models are chosen.
- Fixed bug related to the colours used in the vignette plots.
- Odds ratios now returned (and printed) when calling
summaryonx$gating.
- Cosmetic fixes to plot.MEDseqwhentype="clusters"for small sample sizes.
- Other small cosmetic plotting & reference-formatting
changes.
- Spell-checking of documentation and fixes to donttestexamples.
MEDseq
v1.0.1 - (2nd release [patch update]:
2019-12-10)
Bug Fixes & Miscellaneous
Edits
- Speed-ups to E-step, especially for models with a noise
component.
- Clarifications and improvements to documentation and examples.
MEDseq v1.0.0 -
(1st release: 2019-08-24)