EchoTime Explainable time-series similarity for humans and agents.
Documentation

Similarity Methods Atlas

A full audit of EchoTime's current comparison math plus the 127 extracted time-series similarity methods from ts_similarity_package_v2_pkg, each with an explicit mathematical expression.

Audit summary

This page imports the full method registry from `ts_similarity_package_v2_pkg` and audits which parts fit EchoTime's report-first product direction.

EchoTime native 10 Extracted methods 127 Families 7 High-fit / implemented 14 Version 0.17.1
Implemented in EchoTime 14Conceptually covered 13Possible addition 39Low-priority addition 61
What EchoTime now exposes
  • max_ncc / best_shift / sbd now cover explicit lead-lag and shift-aware similarity.
  • independent_max_ncc / independent_sbd now cover the channel-independent multivariate sliding variants highlighted by the v2 package.
  • periodogram_distance and trend_distance now add direct frequency-domain and trend-feature distances.
  • ordinal_pattern_js_distance and linear_trend_model_distance now cover symbolic rhythm comparison and lightweight trend-model comparison.
  • twed_distance now covers timestamp-aware elastic comparison for irregular series.
  • erp_distance, lcss_similarity, lcss_distance, and edr_distance now cover robust partial-match and gap-aware elastic matching.
  • acf_distance now adds a rhythm-focused structural distance beside the existing report-level spectral view.
Current EchoTime comparison layer

These are the similarity characterizations EchoTime already uses in raw-series comparison reports. Every entry below includes the mathematical expression used or approximated by the current code path.

shape_similarity

Family: EchoTime native component

Kind: similarity

s_shape = GM(clip(r(x,y), 0, 1), clip(r(Delta x, Delta y), 0, 1))

Combines level correlation with first-difference correlation so the headline match does not ignore local dynamics.

dtw_similarity

Family: EchoTime native component

Kind: similarity

s_dtw = GM(exp(-DTW_w(x,y)/0.45), exp(-DTW_w(Delta x, Delta y)/0.35))

Turns constrained DTW distances into a similarity score and blends level-space and derivative-space warping.

trend_similarity

Family: EchoTime native component

Kind: similarity

s_trend = GM(clip(r(T(x), T(y)), 0, 1), clip(r(Delta T(x), Delta T(y)), 0, 1))

Smooths both series first, then compares both the trend level and the trend slope.

derivative_similarity

Family: EchoTime native component

Kind: similarity

s_diff = clip(r(Delta x, Delta y), 0, 1)

Focuses on whether local changes move together even when the levels differ.

spectral_similarity

Family: EchoTime native component

Kind: similarity

s_spec = GM(1 - JSD(P_x, P_y), clip(r(P_x - U, P_y - U), 0, 1))

Compares normalized spectra of differenced series, mixing JS overlap with structural similarity relative to a uniform spectrum U.

pearson_r

Family: EchoTime reference metric

Kind: similarity

r(x,y) = sum_t (x_t - x_bar)(y_t - y_bar) / sqrt(sum_t (x_t - x_bar)^2 sum_t (y_t - y_bar)^2)

Familiar linear correlation exposed directly in every raw-series similarity report.

spearman_rho

Family: EchoTime reference metric

Kind: similarity

rho(x,y) = corr(rank(x), rank(y))

Rank-order correlation used as a robustness check against nonlinear monotone relationships.

kendall_tau

Family: EchoTime reference metric

Kind: similarity

tau(x,y) = (C - D) / choose(n, 2)

Pairwise concordance measure that stays interpretable when rank ordering matters more than amplitude.

best_lag_pearson_r

Family: EchoTime reference metric

Kind: similarity

max_lag_r(x,y) = max_ell r(x_t, y_{t-ell})

Searches over a bounded lag window to show whether a shift-aware linear relationship is stronger than the aligned one.

normalized_mutual_information

Family: EchoTime reference metric

Kind: similarity

NMI(X,Y) = I(X;Y) / sqrt(H(X) H(Y))

Histogram-based nonlinear dependence score used as a familiar cross-check against linear metrics.

Operating modes for elastic methods
  • `mode="exact"` keeps the full elastic score path and stays the default when you need a final value for a report, notebook, or paper.
  • `mode="fast"` is the screening path for large candidate pools and interactive shortlist work; it favors speed over exact-path fidelity.
  • `window=...` is available on `lcss_similarity`, `lcss_distance`, `edr_distance`, `erp_distance`, and `twed_distance` so you can keep the dynamic-programming path local when large warps are not plausible.
  • Recommended workflow: score all candidates with `mode="fast"` first, then rerun the shortlisted pairs with `mode="exact"` before you present the result as a final analog claim.
Implemented and high-fit additions from ts_similarity_package_v2_pkg

This table stays selective: it shows only the methods already added to EchoTime and the strongest candidates from the 127-method v2 registry. In the current build, the full high-fit shortlist is already implemented.

MethodEchoTime fitEchoTime APIFormulaWhy it fits
independent_max_ncc
sliding
Implemented in EchoTimeindependent_max_ncc$s(X,Y)=\frac{1}{d}\sum_c \max_k NCC_k(X^{(c)},Y^{(c)})$This method is now available as a public low-level EchoTime similarity function.
independent_sbd
sliding
Implemented in EchoTimeindependent_sbd$d(X,Y)=\frac{1}{d}\sum_c SBD(X^{(c)},Y^{(c)})$This method is now available as a public low-level EchoTime similarity function.
max_normalized_cross_correlation
sliding
Implemented in EchoTimemax_ncc$s(x,y)=\max_k NCC_k(x,y)$This method is now available as a public low-level EchoTime similarity function.
sbd
sliding
Implemented in EchoTimesbd$d(x,y)=1-\max_k NCC_k(x,y)$This method is now available as a public low-level EchoTime similarity function.
edr
elastic
Implemented in EchoTimeedr_distance$EDR_{\epsilon}(x,y)$This method is now available as a public low-level EchoTime similarity function.
erp
elastic
Implemented in EchoTimeerp_distance$ERP(x,y;g)$This method is now available as a public low-level EchoTime similarity function.
lcss_distance
elastic
Implemented in EchoTimelcss_distance$d(x,y)=1-s_{LCSS}(x,y)$This method is now available as a public low-level EchoTime similarity function.
lcss_similarity
elastic
Implemented in EchoTimelcss_similarity$s(x,y)=LCSS_{\epsilon}(x,y)/\min(n,m)$This method is now available as a public low-level EchoTime similarity function.
twed
elastic
Implemented in EchoTimetwed_distance$TWED_{\lambda,\nu}(x,y)$This method is now available as a public low-level EchoTime similarity function.
acf_distance
feature-based
Implemented in EchoTimeacf_distance$d(x,y)=\|ACF(x)-ACF(y)\|_2$This method is now available as a public low-level EchoTime similarity function.
ordinal_pattern_js_distance
feature-based
Implemented in EchoTimeordinal_pattern_js_distance$d(x,y)=JS(\Pi(x),\Pi(y))$This method is now available as a public low-level EchoTime similarity function.
periodogram_distance
feature-based
Implemented in EchoTimeperiodogram_distance$d(x,y)=\|P_x-P_y\|_2$This method is now available as a public low-level EchoTime similarity function.
trend_distance
feature-based
Implemented in EchoTimetrend_distance$d(x,y)=\|\phi_{\mathrm{trend}}(x)-\phi_{\mathrm{trend}}(y)\|_2$This method is now available as a public low-level EchoTime similarity function.
linear_trend_model_distance
model-based
Implemented in EchoTimelinear_trend_model_distance$d(x,y)=\|\theta_{\mathrm{trend}}(x)-\theta_{\mathrm{trend}}(y)\|_2$This method is now available as a public low-level EchoTime similarity function.
lock-step

Pointwise comparison on an already aligned timeline.

MethodOutputMetricComplexityUnequal lengthMultivariateImplementationEchoTime fitEchoTime APIFormulaNote
euclideandistanceyesO(n·d)noyesexactLow-priority addition-$d(x,y)=\sqrt{\sum_t \|x_t-y_t\|_2^2}$Equal-length pointwise Euclidean distance.
squared_euclideandistancenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\sum_t \|x_t-y_t\|_2^2$Squared Euclidean loss.
rmse_distancedistancenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\sqrt{\frac{1}{nd}\sum_t \|x_t-y_t\|_2^2}$Root-mean-square error over aligned points.
manhattandistanceyesO(n·d)noyesexactLow-priority addition-$d(x,y)=\sum_t \|x_t-y_t\|_1$L1 distance.
mae_distancedistancenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\frac{1}{nd}\sum_t \|x_t-y_t\|_1$Mean absolute error.
minkowskidistanceyes (p≥1)O(n·d)noyesexactLow-priority addition-$d_p(x,y)=\left(\sum_t \|x_t-y_t\|_p^p\right)^{1/p}$Generalized Lp distance.
chebyshevdistanceyesO(n·d)noyesexactLow-priority addition-$d(x,y)=\max_t \|x_t-y_t\|_{\infty}$Maximum deviation distance.
canberradistanceyesO(n·d)noyesexactLow-priority addition-$d(x,y)=\sum_i \frac{|x_i-y_i|}{|x_i|+|y_i|}$Relative L1 distance sensitive near zero.
bray_curtisdistance-likenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\frac{\sum_i |x_i-y_i|}{\sum_i |x_i+y_i|}$Bray-Curtis dissimilarity.
sorensendistance-likenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\frac{\sum_i |x_i-y_i|}{\sum_i (|x_i|+|y_i|)}$Sorensen dissimilarity.
soergeldistance-likenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\frac{\sum_i |x_i-y_i|}{\sum_i \max(|x_i|,|y_i|)}$Relative distance normalized by max magnitudes.
kulczynskidistance-likenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\frac{\sum_i |x_i-y_i|}{\sum_i \min(|x_i|,|y_i|)}$Kulczynski-style relative dissimilarity.
clarkdistance-likenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\sqrt{\sum_i\left(\frac{|x_i-y_i|}{|x_i|+|y_i|}\right)^2}$Clark distance.
wave_hedgesdistance-likenoO(n·d)noyesexactLow-priority addition-$d(x,y)=\sum_i \frac{|x_i-y_i|}{\max(|x_i|,|y_i|)}$Wave-Hedges distance.
lorentziandistance-likenot guaranteedO(n·d)noyesreferenceLow-priority addition-$d(x,y)=\sum_i \log(1+|x_i-y_i|)$Log-compressed deviation.
cosine_similaritysimilaritynoO(n·d)noyesexactLow-priority addition-$s(x,y)=\frac{\langle x,y\rangle}{\|x\|\|y\|}$Directional similarity.
cosine_distancedistance-likenoO(n·d)noyesexactLow-priority addition-$d(x,y)=1-s_{\cos}(x,y)$Monotone transform of cosine similarity.
angular_distancedistanceyes on normalized vectorsO(n·d)noyesexactLow-priority addition-$d(x,y)=\arccos(s_{\cos}(x,y))/\pi$Angle-based distance.
pearson_similaritysimilaritynoO(n·d)noyesexactConceptually coveredpearson_r$r(x,y)=\frac{\sum_i(x_i-\bar x)(y_i-\bar y)}{\sqrt{\sum_i(x_i-\bar x)^2}\sqrt{\sum_i(y_i-\bar y)^2}}$Linear correlation.
pearson_distancedistance-likenoO(n·d)noyesexactConceptually coveredpearson_r$d(x,y)=1-r(x,y)$Correlation distance.
spearman_similaritysimilaritynoO(n \log n)noyesreferenceConceptually coveredspearman_rho$s(x,y)=r(\mathrm{rank}(x),\mathrm{rank}(y))$Rank correlation similarity.
spearman_distancedistance-likenoO(n \log n)noyesreferenceConceptually coveredspearman_rho$d(x,y)=1-\rho(x,y)$Distance-like rank dissimilarity.
kendall_similaritysimilaritynoO(n^2)noyesreferenceConceptually coveredkendall_tau$s(x,y)=\tau_b(x,y)$Kendall tau-b rank agreement.
kendall_distancedistance-likenoO(n^2)noyesreferenceConceptually coveredkendall_tau$d(x,y)=1-\tau_b(x,y)$Distance-like form of Kendall agreement.
jensen_shannondistanceyesO(n)noyesexactConceptually coveredspectral_similarity$d(x,y)=\sqrt{\frac{1}{2}KL(x\|m)+\frac{1}{2}KL(y\|m)}$Symmetric divergence for nonnegative normalized sequences.
kl_divergencedivergencenoO(n)noyesexactLow-priority addition-$D_{KL}(x\|y)=\sum_i p_i\log\frac{p_i}{q_i}$Asymmetric divergence.
jeffreys_divergencedivergencenoO(n)noyesexactLow-priority addition-$J(x,y)=KL(x\|y)+KL(y\|x)$Symmetrized KL divergence.
bhattacharyya_distancedistance-likenoO(n)noyesexactLow-priority addition-$d(x,y)=-\log\sum_i \sqrt{p_i q_i}$Distribution overlap distance.
hellinger_distancedistanceyesO(n)noyesexactLow-priority addition-$d(x,y)=\sqrt{\frac{1}{2}\sum_i(\sqrt{p_i}-\sqrt{q_i})^2}$Probability-distribution distance.
chi_square_distancedistance-likenoO(n)noyesexactLow-priority addition-$d(x,y)=\frac{1}{2}\sum_i\frac{(x_i-y_i)^2}{x_i+y_i}$Chi-square distance for histograms.
seuclidean_distancedistanceyesO(n)noyesreferenceLow-priority addition-$d(x,y)=\sqrt{\sum_i \frac{(x_i-y_i)^2}{v_i}}$Variance-standardized Euclidean distance.
znorm_euclideandistanceyesO(n·d)noyesexactLow-priority addition-$d(x,y)=\|\hat x-\hat y\|_2$Euclidean after per-channel z-normalization.
znorm_manhattandistanceyesO(n·d)noyesexactLow-priority addition-$d(x,y)=\|\hat x-\hat y\|_1$Manhattan after z-normalization.
cid_distancedistance-likenoO(n·d)noyesreferenceLow-priority addition-$CID(x,y)=ED(x,y)\cdot \frac{\max(CE(x),CE(y))}{\min(CE(x),CE(y))}$Complexity-invariant distance.
sliding

Shift-aware comparison under pure translation or lead-lag offsets.

MethodOutputMetricComplexityUnequal lengthMultivariateImplementationEchoTime fitEchoTime APIFormulaNote
max_normalized_cross_correlationsimilaritynoO(n \log n) or O(n^2)yesyesexactImplemented in EchoTimemax_ncc$s(x,y)=\max_k NCC_k(x,y)$Maximum normalized cross-correlation over shifts.
sbddistance-likenoO(n \log n) or O(n^2)yesyesexactImplemented in EchoTimesbd$d(x,y)=1-\max_k NCC_k(x,y)$Shape-based distance.
shift_euclidean_distancedistance-likenoO(n^2·d)yesyesreferencePossible addition-$d(x,y)=\min_k \|x_{\Omega_k}-y_{\Omega_k}\|_2$Best-overlap Euclidean distance over integer shifts.
shift_rmse_distancedistance-likenoO(n^2·d)yesyesreferencePossible addition-$d(x,y)=\min_k \sqrt{\frac{1}{|\Omega_k|}\sum_{t\in\Omega_k}(x_t-y_{t-k})^2}$Best-overlap RMSE.
shift_manhattan_distancedistance-likenoO(n^2·d)yesyesreferencePossible addition-$d(x,y)=\min_k \|x_{\Omega_k}-y_{\Omega_k}\|_1$Best-overlap L1 distance.
shift_mae_distancedistance-likenoO(n^2·d)yesyesreferencePossible addition-$d(x,y)=\min_k \frac{1}{|\Omega_k|}\|x_{\Omega_k}-y_{\Omega_k}\|_1$Best-overlap MAE.
shift_cosine_similaritysimilaritynoO(n^2·d)yesyesreferencePossible addition-$s(x,y)=\max_k s_{\cos}(x_{\Omega_k},y_{\Omega_k})$Best-overlap cosine similarity.
shift_cosine_distancedistance-likenoO(n^2·d)yesyesreferencePossible addition-$d(x,y)=1-\max_k s_{\cos}(x_{\Omega_k},y_{\Omega_k})$Distance-like shift-invariant cosine measure.
shift_pearson_similaritysimilaritynoO(n^2·d)yesyesreferenceConceptually coveredbest_lag_pearson_r$s(x,y)=\max_k r(x_{\Omega_k},y_{\Omega_k})$Best-overlap Pearson correlation.
shift_pearson_distancedistance-likenoO(n^2·d)yesyesreferenceConceptually coveredbest_lag_pearson_r$d(x,y)=1-\max_k r(x_{\Omega_k},y_{\Omega_k})$Distance-like shift-invariant correlation measure.
independent_sbddistance-likenoO(dn\log n)yesmultivariate onlyexactImplemented in EchoTimeindependent_sbd$d(X,Y)=\frac{1}{d}\sum_c SBD(X^{(c)},Y^{(c)})$Channel-independent SBD.
independent_max_nccsimilaritynoO(dn\log n)yesmultivariate onlyexactImplemented in EchoTimeindependent_max_ncc$s(X,Y)=\frac{1}{d}\sum_c \max_k NCC_k(X^{(c)},Y^{(c)})$Channel-independent maximum NCC.
elastic

Dynamic-programming alignments that allow local stretching or compression.

MethodOutputMetricComplexityUnequal lengthMultivariateImplementationEchoTime fitEchoTime APIFormulaNote
dtwdistancenoO(nm)yesyesexactConceptually covereddtw_similarity$DTW(x,y)=\min_{\pi}\sqrt{\sum_{(i,j)\in\pi} \|x_i-y_j\|_2^2}$Dynamic Time Warping.
cdtwdistancenoO(nw)yesyesexactConceptually covereddtw_similarity$DTW_w(x,y)$ with Sakoe-Chiba windowConstrained DTW.
itakura_dtwdistancenoO(nm)yesyesreferencePossible addition-$DTW_{\mathrm{Itakura}}(x,y)$DTW under Itakura parallelogram constraint.
wdtwdistancenoO(nm)yesyesexactPossible addition-$WDTW(x,y)=\min_{\pi}\sqrt{\sum_{(i,j)\in\pi} w_{|i-j|}\|x_i-y_j\|_2^2}$Weighted DTW.
ddtwdistancenoO(nm)yesyesexactConceptually covereddtw_similarity$DTW(\Delta x,\Delta y)$Derivative DTW.
wddtwdistancenoO(nm)yesyesexactPossible addition-$WDTW(\Delta x,\Delta y)$Weighted derivative DTW.
soft_dtwdistance-likenoO(nm)yesyesexactPossible addition-$sDTW_{\gamma}(x,y)$Soft minimum relaxation of DTW.
soft_dtw_divergencedistance-likenoO(nm)yesyesexactPossible addition-$D^{\gamma}(x,y)=sDTW(x,y)-\frac{1}{2}sDTW(x,x)-\frac{1}{2}sDTW(y,y)$Soft-DTW divergence.
lcss_similaritysimilaritynoO(nm)yesyesexactImplemented in EchoTimelcss_similarity$s(x,y)=LCSS_{\epsilon}(x,y)/\min(n,m)$Longest Common Subsequence similarity.
lcss_distancedistance-likenoO(nm)yesyesexactImplemented in EchoTimelcss_distance$d(x,y)=1-s_{LCSS}(x,y)$Distance-like LCSS form.
edrdistancenoO(nm)yesyesexactImplemented in EchoTimeedr_distance$EDR_{\epsilon}(x,y)$Edit distance on real sequence.
swale_similaritysimilaritynoO(nm)yesyesreferencePossible addition-$SWALE_{\epsilon}(x,y)$Similarity with reward and penalty.
erpdistanceyesO(nm)yesyesexactImplemented in EchoTimeerp_distance$ERP(x,y;g)$Edit distance with real penalty.
msmdistanceyesO(nm)yesunivariate onlyexactPossible addition-$MSM(x,y)$Move-Split-Merge distance.
tweddistanceyesO(nm)yesyesexactImplemented in EchoTimetwed_distance$TWED_{\lambda,\nu}(x,y)$Time Warp Edit distance.
discrete_frechetdistanceyesO(nm)yesyesreferencePossible addition-$\delta_F(x,y)$Discrete Fréchet distance.
needleman_wunsch_similaritysimilaritynoO(nm)yesyesreferencePossible addition-$NW(x,y)$Global alignment score.
smith_waterman_similaritysimilaritynoO(nm)yesyesreferencePossible addition-$SW(x,y)$Local alignment score.
shape_dtwdistancenoO(nmr)yesyesreferencePossible addition-$DTW(\phi_{\mathrm{shape}}(x),\phi_{\mathrm{shape}}(y))$DTW on local shape descriptors.
independent_dtwdistancenoO(dnm)yesmultivariate onlyexactPossible addition-$d(X,Y)=\frac{1}{d}\sum_c DTW(X^{(c)},Y^{(c)})$Channel-independent DTW average.
independent_cdtwdistancenoO(dnw)yesmultivariate onlyexactPossible addition-$d(X,Y)=\frac{1}{d}\sum_c cDTW(X^{(c)},Y^{(c)})$Channel-independent constrained DTW.
independent_wdtwdistancenoO(dnm)yesmultivariate onlyexactPossible addition-$d(X,Y)=\frac{1}{d}\sum_c WDTW(X^{(c)},Y^{(c)})$Channel-independent weighted DTW.
independent_ddtwdistancenoO(dnm)yesmultivariate onlyexactPossible addition-$d(X,Y)=\frac{1}{d}\sum_c DDTW(X^{(c)},Y^{(c)})$Channel-independent derivative DTW.
independent_erpdistanceyesO(dnm)yesmultivariate onlyexactPossible addition-$d(X,Y)=\frac{1}{d}\sum_c ERP(X^{(c)},Y^{(c)})$Channel-independent ERP.
kernel

Similarity through kernel scores rather than direct distances.

MethodOutputMetricComplexityUnequal lengthMultivariateImplementationEchoTime fitEchoTime APIFormulaNote
linear_kernelsimilarityPSD if input space validO(n·d)noyesexactLow-priority addition-$K(x,y)=\langle x,y \rangle$Linear kernel on flattened vectors.
polynomial_kernelsimilaritydepends on parametersO(n·d)noyesexactLow-priority addition-$K(x,y)=(\gamma \langle x,y \rangle + c)^p$Polynomial kernel.
sigmoid_kernelsimilaritynot always PSDO(n·d)noyesexactLow-priority addition-$K(x,y)=\tanh(\gamma \langle x,y \rangle + c)$Sigmoid kernel.
rbf_kernelsimilarityyesO(n·d)noyesexactLow-priority addition-$K(x,y)=\exp(-\gamma \|x-y\|_2^2)$Gaussian kernel over aligned vectors.
dtw_rbf_kernelsimilaritynot guaranteedO(nm)yesyesreferenceLow-priority addition-$K(x,y)=\exp(-\gamma DTW(x,y)^2)$RBF on DTW distance.
sbd_kernelsimilaritynot guaranteedO(n \log n) or O(n^2)yesyesreferenceLow-priority addition-$K(x,y)=\exp(-\gamma SBD(x,y))$RBF-like kernel on SBD.
soft_dtw_kernelsimilaritynot guaranteedO(nm)yesyesreferenceLow-priority addition-$K(x,y)=\exp(-D^\gamma(x,y)/\gamma)$Kernelized soft-DTW divergence.
gaksimilarityyes after normalization in practiceO(nm)yesyesexactLow-priority addition-$K_G(x,y)=\sum_{\pi} \prod_{(i,j)\in\pi} k(x_i,y_j)$Global Alignment Kernel.
lgaksimilaritynot a metricO(nm)yesyesexactLow-priority addition-$\log(K_G(x,y)+\epsilon)$Log-transformed GAK.
weighted_ncc_kernelsimilaritynot guaranteedO(n \log n) or O(n^2)yesyesreferenceLow-priority addition-$K(x,y)=\sum_k w_k \cdot NCC_k(x,y)$Shift-aware weighted cross-correlation kernel.
feature-based

Compare derived features instead of raw waveforms.

MethodOutputMetricComplexityUnequal lengthMultivariateImplementationEchoTime fitEchoTime APIFormulaNote
stats_distancedistanceyes in feature spaceO(n·d)yesyesexactPossible addition-$d(x,y)=\|\phi_{\mathrm{stats}}(x)-\phi_{\mathrm{stats}}(y)\|_2$Distance on basic summary statistics.
robust_stats_distancedistanceyes in feature spaceO(n·d)yesyesexactPossible addition-$d(x,y)=\|\phi_{\mathrm{robust}}(x)-\phi_{\mathrm{robust}}(y)\|_2$Distance on robust statistics.
acf_distancedistanceyes in feature spaceO(nL)yesunivariate onlyexactImplemented in EchoTimeacf_distance$d(x,y)=\|ACF(x)-ACF(y)\|_2$Autocorrelation-feature distance.
spectral_cosine_similaritysimilaritynoO(n \log n)yesyesexactConceptually coveredspectral_similarity$s(x,y)=s_{\cos}(|FFT(x)|,|FFT(y)|)$Cosine similarity in the magnitude spectrum.
spectral_distancedistance-likenoO(n \log n)yesyesexactPossible addition-$d(x,y)=1-s_{\cos}(|FFT(x)|,|FFT(y)|)$Distance-like spectral measure.
periodogram_distancedistanceyes in feature spaceO(n \log n)yesyesexactImplemented in EchoTimeperiodogram_distance$d(x,y)=\|P_x-P_y\|_2$Distance between normalized periodograms.
paa_distancedistanceyes in feature spaceO(n·d)yesyesexactPossible addition-$d(x,y)=\|PAA(x)-PAA(y)\|_2$Piecewise Aggregate Approximation distance.
dwt_distancedistanceyes in feature spaceO(n·d)yesyesreferencePossible addition-$d(x,y)=\|W(x)-W(y)\|_2$Distance on Haar wavelet coefficients.
histogram_distancedistanceyes in feature spaceO(n·d)yesyesexactPossible addition-$d(x,y)=\|h(x)-h(y)\|_2$Value-histogram distance.
permutation_entropy_distancedistance-likenoO(n)yesunivariate onlyexactPossible addition-$d(x,y)=|H_{\pi}(x)-H_{\pi}(y)|$Absolute difference in permutation entropy.
ordinal_pattern_js_distancedistanceyesO(n)yesunivariate onlyexactImplemented in EchoTimeordinal_pattern_js_distance$d(x,y)=JS(\Pi(x),\Pi(y))$Jensen-Shannon distance between ordinal-pattern distributions.
trend_distancedistanceyes in feature spaceO(n·d)yesyesexactImplemented in EchoTimetrend_distance$d(x,y)=\|\phi_{\mathrm{trend}}(x)-\phi_{\mathrm{trend}}(y)\|_2$Distance on trend/intercept/residual features.
sax_hamming_distancedistanceyes on symbolic stringsO(n)yesunivariate onlyexactPossible addition-$d(x,y)=\frac{1}{w}\sum_{i=1}^w [SAX_i(x)\neq SAX_i(y)]$Hamming distance on SAX words.
sax_mindistdistancelower-boundingO(w)yesunivariate onlyexactPossible addition-$MINDIST(\hat x,\hat y)=\sqrt{\frac{n}{w}}\sqrt{\sum_i dist(\hat x_i,\hat y_i)^2}$Lower-bounding symbolic distance in SAX space.
bag_of_patterns_cosine_similaritysimilaritynoO(nw)yesunivariate onlyreferencePossible addition-$s(x,y)=s_{\cos}(BoP(x),BoP(y))$Cosine similarity on bag-of-patterns histograms.
bag_of_patterns_distancedistance-likenoO(nw)yesunivariate onlyreferencePossible addition-$d(x,y)=1-s_{\cos}(BoP(x),BoP(y))$Distance-like bag-of-patterns measure.
independent_stats_distancedistanceyes in feature spaceO(dn)yesmultivariate onlyexactPossible addition-$d(X,Y)=\frac{1}{d}\sum_c \|\phi(X^{(c)})-\phi(Y^{(c)})\|_2$Channel-independent stats distance.
independent_paa_distancedistanceyes in feature spaceO(dn)yesmultivariate onlyexactPossible addition-$d(X,Y)=\frac{1}{d}\sum_c \|PAA(X^{(c)})-PAA(Y^{(c)})\|_2$Channel-independent PAA distance.
model-based

Compare fitted dynamics or transition structure.

MethodOutputMetricComplexityUnequal lengthMultivariateImplementationEchoTime fitEchoTime APIFormulaNote
ar_distancedistanceyes in parameter spaceO(np^2)yesunivariate onlyexactPossible addition-$d(x,y)=\|\theta_{AR}(x)-\theta_{AR}(y)\|_2$Distance between autoregressive coefficients.
ar_spectrum_distancedistanceyes in spectral spaceO(np^2 + Fp)yesunivariate onlyreferencePossible addition-$d(x,y)=\|\log S_{AR}(x)-\log S_{AR}(y)\|_2$Distance between AR-implied log spectra.
ar_prediction_error_distancedistance-likenoO(np^2)yesunivariate onlyreferencePossible addition-$d(x,y)=\frac{1}{2}(MSE_{x\to y}+MSE_{y\to x})$Symmetric cross-prediction error.
markov_distancedistanceyes in transition spaceO(n)yesunivariate onlyexactPossible addition-$d(x,y)=\|P_x-P_y\|_F$Distance between discretized transition matrices.
linear_trend_model_distancedistanceyes in parameter spaceO(n)yesunivariate onlyexactImplemented in EchoTimelinear_trend_model_distance$d(x,y)=\|\theta_{\mathrm{trend}}(x)-\theta_{\mathrm{trend}}(y)\|_2$Distance between linear trend models.
embedding

Encode first, then compare in a latent or compressed space.

MethodOutputMetricComplexityUnequal lengthMultivariateImplementationEchoTime fitEchoTime APIFormulaNote
embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=d_{\mathcal Z}(\phi(x),\phi(y))$Generic embedding-space distance.
embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\mathcal Z}(\phi(x),\phi(y))$Generic embedding-space similarity.
paa_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the PAA encoder.
paa_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the PAA encoder.
dft_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the DFT-magnitude encoder.
dft_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the DFT-magnitude encoder.
stats_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the basic-statistics encoder.
stats_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the basic-statistics encoder.
robust_stats_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the robust-statistics encoder.
robust_stats_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the robust-statistics encoder.
acf_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the ACF encoder.
acf_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the ACF encoder.
wavelet_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the wavelet encoder.
wavelet_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the wavelet encoder.
histogram_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the histogram encoder.
histogram_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the histogram encoder.
periodogram_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the periodogram encoder.
periodogram_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the periodogram encoder.
trend_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the trend-feature encoder.
trend_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the trend-feature encoder.
random_projection_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the random projection encoder.
random_projection_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the random projection encoder.
identity_embedding_distancedistancedepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$d(x,y)=\|\phi(x)-\phi(y)\|_2$Euclidean distance using the identity-resample encoder.
identity_embedding_similaritysimilaritydepends on latent metricdepends on encoderyesyesadapterLow-priority addition-$s(x,y)=s_{\cos}(\phi(x),\phi(y))$Cosine similarity using the identity-resample encoder.