externalMetric | R Documentation |
Compute one or more external metrics for two or more objects.
Note that there are many external metrics available, and there exists no external metric that works best in all scenarios. It is recommended to carefully consider which metric is most appropriate for your use case.
Many of the external metrics depend on implementations in other packages:
clusterCrit \insertCitedesgraupes2018clustercritlatrend
mclustcomp \insertCiteyou2018mclustcomplatrend
igraph \insertCitecsardi2006igraphlatrend
psych \insertCiterevelle2019psychlatrend
See mclustcomp::mclustcomp()
for a grouped overview of similarity metrics.
Call getInternalMetricNames()
to retrieve the names of the defined internal metrics.
Call getExternalMetricNames()
to retrieve the names of the defined internal metrics.
## S4 method for signature 'lcModel,lcModel'
externalMetric(
object,
object2,
name = getOption("latrend.externalMetric"),
...
)
## S4 method for signature 'lcModels,missing'
externalMetric(object, object2, name = "adjustedRand")
## S4 method for signature 'lcModels,character'
externalMetric(object, object2 = "adjustedRand")
## S4 method for signature 'lcModels,lcModel'
externalMetric(object, object2, name, drop = TRUE)
## S4 method for signature 'list,lcModel'
externalMetric(object, object2, name, drop = TRUE)
object |
The object to compare to the second object |
object2 |
The second object |
name |
The name(s) of the external metric(s) to compute. If no names are given, the names specified in the |
... |
Additional arguments. |
drop |
Whether to return a |
For externalMetric(lcModel, lcModel)
: A numeric
vector of the computed metrics.
For externalMetric(lcModels)
: A distance matrix of class dist representing
the pairwise comparisons.
For externalMetric(lcModels, name)
: A distance matrix of class dist representing
the pairwise comparisons.
For externalMetric(lcModels, lcModel)
: A named numeric
vector or data.frame
containing the computed model metrics.
For externalMetric(list, lcModel)
: A named numeric
vector or data.frame
containing the computed model metrics.
Metric name | Description | Function / Reference |
adjustedRand | Adjusted Rand index. Based on the Rand index, but adjusted for agreements occurring by chance. A score of 1 indicates a perfect agreement, whereas a score of 0 indicates an agreement no better than chance. | mclustcomp::mclustcomp() , \insertCitehubert1985comparinglatrend |
CohensKappa | Cohen's kappa. A partitioning agreement metric correcting for random chance. A score of 1 indicates a perfect agreement, whereas a score of 0 indicates an agreement no better than chance. | psych::cohen.kappa() , \insertCitecohen1960coefficientlatrend |
F | F-score | mclustcomp::mclustcomp() |
F1 | F1-score, also referred to as the Sørensen–Dice Coefficient, or Dice similarity coefficient | mclustcomp::mclustcomp() |
FolkesMallows | Fowlkes-Mallows index | mclustcomp::mclustcomp() |
Hubert | Hubert index | clusterCrit::extCriteria() |
Jaccard | Jaccard index | mclustcomp::mclustcomp() |
jointEntropy | Joint entropy between model assignments | mclustcomp::mclustcomp() |
Kulczynski | Kulczynski index | clusterCrit::extCriteria() |
MaximumMatch | Maximum match measure | mclustcomp::mclustcomp() |
McNemar | McNemar statistic | clusterCrit::extCriteria() |
MeilaHeckerman | Meila-Heckerman measure | mclustcomp::mclustcomp() |
Mirkin | Mirkin metric | mclustcomp::mclustcomp() |
MI | Mutual information | mclustcomp::mclustcomp() |
NMI | Normalized mutual information | igraph::compare() |
NSJ | Normalized version of splitJoin . The proportion of edits relative to the maximum changes (twice the number of ids) | |
NVI | Normalized variation of information | mclustcomp::mclustcomp() |
Overlap | Overlap coefficient, also referred to as the Szymkiewicz–Simpson coefficient | mclustcomp::mclustcomp() \insertCitevijaymeena2016surveylatrend |
PD | Partition difference | mclustcomp::mclustcomp() |
Phi | Phi coefficient. | clusterCrit::extCriteria() |
precision | precision | clusterCrit::extCriteria() |
Rand | Rand index | mclustcomp::mclustcomp() |
recall | recall | clusterCrit::extCriteria() |
RogersTanimoto | Rogers-Tanimoto dissimilarity | clusterCrit::extCriteria() |
RusselRao | Russell-Rao dissimilarity | clusterCrit::extCriteria() |
SMC | Simple matching coefficient | mclustcomp::mclustcomp() |
splitJoin | total split-join index | igraph::split_join_distance() |
splitJoin.ref | Split-join index of the first model to the second model. In other words, it is the edit-distance between the two partitionings. | |
SokalSneath1 | Type-1 Sokal-Sneath dissimilarity | clusterCrit::extCriteria() |
SokalSneath2 | Type-2 Sokal-Sneath dissimilarity | clusterCrit::extCriteria() |
VI | Variation of information | mclustcomp::mclustcomp() |
Wallace1 | Type-1 Wallace criterion | mclustcomp::mclustcomp() |
Wallace2 | Type-2 Wallace criterion | mclustcomp::mclustcomp() |
WMSSE | Weighted minimum sum of squared errors between cluster trajectories | |
WMMSE | Weighted minimum mean of squared errors between cluster trajectories | |
WMMAE | Weighted minimum mean of absolute errors between cluster trajectories | |
See the documentation of the defineExternalMetric()
function for details on how to define your own external metrics.
metric
Other metric functions:
defineExternalMetric()
,
defineInternalMetric()
,
getExternalMetricDefinition()
,
getExternalMetricNames()
,
getInternalMetricDefinition()
,
getInternalMetricNames()
,
metric()
Other lcModel functions:
clusterNames()
,
clusterProportions()
,
clusterSizes()
,
clusterTrajectories()
,
coef.lcModel()
,
converged()
,
deviance.lcModel()
,
df.residual.lcModel()
,
estimationTime()
,
fitted.lcModel()
,
fittedTrajectories()
,
getCall.lcModel()
,
getLcMethod()
,
ids()
,
lcModel-class
,
metric()
,
model.frame.lcModel()
,
nClusters()
,
nIds()
,
nobs.lcModel()
,
plot-lcModel-method
,
plotClusterTrajectories()
,
plotFittedTrajectories()
,
postprob()
,
predict.lcModel()
,
predictAssignments()
,
predictForCluster()
,
predictPostprob()
,
qqPlot()
,
residuals.lcModel()
,
sigma.lcModel()
,
strip()
,
time.lcModel()
,
trajectoryAssignments()
data(latrendData)
method <- lcMethodLMKM(Y ~ Time, id = "Id", time = "Time")
model2 <- latrend(method, latrendData, nClusters = 2)
model3 <- latrend(method, latrendData, nClusters = 3)
if (require("mclustcomp")) {
externalMetric(model2, model3, "adjustedRand")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.