{
 "id": "ep4b2tx4zt",
 "slug": "functional-clustering",
 "title": "Functional clustering",
 "updated": "2026-10-15",
 "topic_path": [
  {
   "id": "physical",
   "label": "Physical world and mathematics",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical"
  },
  {
   "id": "physical.math",
   "label": "Mathematics and statistics",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math"
  },
  {
   "id": "physical.math.statistics",
   "label": "Statistics and probability",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.statistics"
  },
  {
   "id": "physical.math.statistics.multivariate-analysis",
   "label": "Multivariate association and dimension reduction",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.statistics.multivariate-analysis"
  },
  {
   "id": "physical.math.statistics.multivariate-analysis.alpha-a-to-me",
   "label": "Titles A to Me",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.statistics.multivariate-analysis.alpha-a-to-me"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t1946.physical.math.statistics.multivariate-analysis",
   "label": "Non-geographic · 1946 to 2000: Multivariate association and dimension reduction",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.statistics.multivariate-analysis",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t1946",
     "label": "Non-geographic · 1946 to 2000",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946"
    },
    {
     "id": "geo.nongeo.t1946.physical",
     "label": "Physical world and mathematics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical"
    },
    {
     "id": "geo.nongeo.t1946.physical.math",
     "label": "Mathematics and statistics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math"
    },
    {
     "id": "geo.nongeo.t1946.physical.math.statistics",
     "label": "Statistics and probability",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.statistics"
    },
    {
     "id": "geo.nongeo.t1946.physical.math.statistics.multivariate-analysis",
     "label": "Multivariate association and dimension reduction",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.statistics.multivariate-analysis"
    }
   ]
  },
  {
   "id": "geo.nongeo.t2001.physical.math.statistics",
   "label": "Non-geographic · 2001 to 2020: Statistics and probability",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.physical.math.statistics",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t2001",
     "label": "Non-geographic · 2001 to 2020",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001"
    },
    {
     "id": "geo.nongeo.t2001.physical",
     "label": "Physical world and mathematics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.physical"
    },
    {
     "id": "geo.nongeo.t2001.physical.math",
     "label": "Mathematics and statistics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.physical.math"
    },
    {
     "id": "geo.nongeo.t2001.physical.math.statistics",
     "label": "Statistics and probability",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.physical.math.statistics"
    }
   ]
  }
 ],
 "excerpt": "Functional clustering is a set of statistical and machine-learning methods that groups curves, trajectories, and time-varying observations into clusters by shape similarity, treating each observation as a function.",
 "snippet": "Functional clustering is a set of statistical and machine-learning methods that groups curves, trajectories, and time-varying observations into clusters by shape similarity, treating each observation as a function.",
 "node": "physical.math.statistics.multivariate-analysis.alpha-a-to-me",
 "markdown": "# Functional clustering\n\nFunctional clustering is a set of statistical and machine-learning methods that groups curves, trajectories, and time-varying observations into clusters according to the similarity of their shapes, treating each observation as a function rather than as a vector of independent measurements. Inputs are typically functions observed on a common interval, such as growth curves, waveforms, gene-expression profiles, or spatio-temporal records. Published taxonomies organize the field first by whether clustering operates in a finite-dimensional space (basis coefficients, wavelet or principal component scores) or an infinite-dimensional space (direct dissimilarities between functions), then by algorithmic family (hierarchical, centroid-based, model-based, density-based, spectral, nonparametric Bayesian), and finally by how phase and amplitude variation are handled.<sup>[1](https://doi.org/10.1145/3581789)</sup> A complementary classification distinguishes raw-data clustering, filtering methods, adaptive methods, and distance-based methods.<sup>[2](https://doi.org/10.1080/03610926.2021.1872636)</sup>\n\n| Key fact | Detail |\n|---|---|\n| What is clustered | Smoothed curves represented by basis coefficients (B-splines, wavelets) or functional principal component scores, or the functions directly<sup>[1](https://doi.org/10.1145/3581789)</sup> |\n| Standard distance | Squared L2 distance \\( \\|y-\\xi\\|^2 = \\int_{T_1}^{T_2} (y(t)-\\xi(t))^2\\,dt \\)<sup>[3](https://pmc.ncbi.nlm.nih.gov/articles/PMC1828125/)</sup> |\n| Two main paradigms | Distance-based (k-means, hierarchical) and model-based (Gaussian mixtures on coefficients or principal scores)<sup>[3](https://pmc.ncbi.nlm.nih.gov/articles/PMC1828125/)</sup> |\n| Founding papers | Abraham and colleagues (2003) and James and Sugar (2003)<sup>[4](https://doi.org/10.1111/1467-9469.00350)</sup><sup> • </sup><sup>[5](https://doi.org/10.1198/016214503000189)</sup> |\n| Sparse data | Model-based methods such as fclust handle observations at sparse time points and predict missing curve portions<sup>[5](https://doi.org/10.1198/016214503000189)</sup> |\n| Cluster number criteria | BIC, ICL, slope heuristic, gap and Hartigan statistics, silhouette, cross-validation<sup>[6](https://cran.r-project.org/web/packages/funHDDC/vignettes/funHDDC.html)</sup><sup> • </sup><sup>[7](https://pmc.ncbi.nlm.nih.gov/articles/PMC12588091/)</sup> |\n| Benchmark result | funHDDC reached 70.65% correct classification on the CBF dataset versus 68.6% for the best two-step method<sup>[8](https://hal.science/hal-00559561v1/file/FunHDDC-HAL.pdf)</sup> |\n\n## How it works\n\nThe central idea is to compare whole functions. For a functional observation \\( y(t) \\) and a cluster mean \\( \\xi(t) \\), the squared L2 distance on an interval \\( [T_1, T_2] \\) is \\( \\|y-\\xi\\|^2 = \\int_{T_1}^{T_2} (y(t)-\\xi(t))^2\\,dt \\). When curves are represented by a basis, clustering with an L2 metric is achieved by plugging the transformed coefficients \\( W^{1/2} \\cdot \\beta \\) into a standard k-means algorithm.<sup>[3](https://pmc.ncbi.nlm.nih.gov/articles/PMC1828125/)</sup> This matters because k-means is not invariant to linear transformations of the data: if the basis is not orthogonal, applying multivariate k-means to the raw coefficient vectors is not equivalent to functional k-means under the L2 metric.<sup>[3](https://pmc.ncbi.nlm.nih.gov/articles/PMC1828125/)</sup><sup> • </sup><sup>[1](https://doi.org/10.1145/3581789)</sup>\n\nDimension reduction usually relies on [functional principal component analysis](https://www.edgepedia.org/functional-principal-component-analysis), the Karhunen-Loève expansion (representing functions via uncorrelated principal components) \\( X_i(t) = \\mu(t) + \\sum_k A_{ik}\\varphi_k(t) \\), whose scores \\( A_{ik} \\) are uncorrelated with variances \\( \\lambda_k \\).<sup>[9](https://anson.ucdavis.edu/~mueller/fdarev1.pdf)</sup> Model-based methods then place a mixture distribution on these scores or coefficients, so that cluster membership carries a probabilistic interpretation.\n\n## How it is done\n\nA typical workflow runs as follows. First, smooth the discretized observations with a basis expansion; the number of knots must match the data, for example 30 knots for roughly 200 measurement points in one simulation but only 3 knots for 18-point yeast curves.<sup>[10](https://people.stat.sc.edu/hitchcock/compare_hier_fda_revised_bold.pdf)</sup> Second, decide on registration if phase variation is present. Third, reduce dimension by FPCA or fit a mixture model directly. Fourth, choose the number of clusters: B-spline k-means methods use the Hartigan or gap statistic via the R package NbClust, funHDDC and curvclust use BIC, sasfclust uses cross-validation, and FSKM uses the silhouette index.<sup>[7](https://pmc.ncbi.nlm.nih.gov/articles/PMC12588091/)</sup> In funHDDC, BIC is defined as \\( 2\\cdot LL - k\\log(n) \\) and is maximized.<sup>[11](https://cran.r-project.org/web/packages/funHDDC/funHDDC.pdf)</sup> Finally, because the EM algorithm can reach local maxima, multiple initializations are recommended, keeping the solution with the highest log-likelihood.<sup>[6](https://cran.r-project.org/web/packages/funHDDC/vignettes/funHDDC.html)</sup>\n\nThe R package funHDDC implements univariate and multivariate clustering in group-specific subspaces, with model selection by BIC, ICL, or slope heuristic.<sup>[11](https://cran.r-project.org/web/packages/funHDDC/funHDDC.pdf)</sup><sup> • </sup><sup>[6](https://cran.r-project.org/web/packages/funHDDC/vignettes/funHDDC.html)</sup> The sasfunclust package implements SaS-Funclust<sup>[12](https://doi.org/10.1007/s00362-023-01408-1)</sup>, and NbClust supplies gap and Hartigan criteria for choosing cluster numbers.<sup>[7](https://pmc.ncbi.nlm.nih.gov/articles/PMC12588091/)</sup>\n\n## Origin\n\nFunctional data analysis has roots in Grenander (1950) and Rao (1958).<sup>[9](https://anson.ucdavis.edu/~mueller/fdarev1.pdf)</sup> The clustering field took shape in 2003 from two directions. C. Abraham and colleagues published \"Unsupervised Curve Clustering using B-Splines\" in the Scandinavian Journal of Statistics, a two-stage procedure that fits B-splines and applies k-means to the estimated coefficients, with strong consistency proved.<sup>[4](https://doi.org/10.1111/1467-9469.00350)</sup> Gareth M. James and Catherine A. Sugar published \"Clustering for Sparsely Sampled Functional Data\" in the [Journal of the American Statistical Association](https://www.edgepedia.org/journal-of-the-american-statistical-association), a model-based random-coefficients approach (fclust) that also yields predictions and confidence intervals for missing curve portions.<sup>[5](https://doi.org/10.1198/016214503000189)</sup> Later building blocks include the k-means algorithm of J. A. Hartigan and M. A. Wong (1979)<sup>[13](https://doi.org/10.2307/2346830)</sup> and the EM algorithm of A. P. Dempster, N. M. Laird, and D. B. Rubin (1977).<sup>[14](https://doi.org/10.1111/j.2517-6161.1977.tb01600.x)</sup>\n\n## Variants\n\nNamed methods differ mainly in representation and distributional assumptions. Jeng-Min Chiou and Pai-Ling Li introduced k-centers functional clustering in 2007, which accounts for both means and modes of variation using a nonparametric random-effect model of the truncated Karhunen-Loève expansion.<sup>[15](https://doi.org/10.1111/j.1467-9868.2007.00605.x)</sup> Charles Bouveyron and Julien Jacques introduced funHDDC in 2011, extending their HDDC method (with S. Girard and C. Schmid, 2007) to functional data by fitting each group in a group-specific low-dimensional subspace with a functional-specific metric.<sup>[16](https://doi.org/10.1016/j.csda.2007.02.009)</sup><sup> • </sup><sup>[17](https://doi.org/10.1007/s11634-011-0095-6)</sup> Julien Jacques and Cristian Preda introduced funclust in 2013, which models cluster-specific Gaussian densities on principal scores rather than eigenfunction coefficients.<sup>[18](https://doi.org/10.1016/j.neucom.2012.11.042)</sup><sup> • </sup><sup>[19](https://www.esann.org/sites/default/files/proceedings/legacy/es2012-30.pdf)</sup> Mohammad Taha Bahadori, David C. Kale, Yingying Fan, and Yan Liu introduced Functional Subspace Clustering (FSC) in 2015, extending sparse [subspace clustering](https://www.edgepedia.org/subspace-clustering) to functions with a deformation oracle.<sup>[20](http://proceedings.mlr.press/v37/bahadori15.pdf)</sup> Fabio Centofanti, Antonio Lepore, and Biagio Palumbo introduced SaS-Funclust in 2023, a sparse-and-smooth mixture that detects domain portions noninformative for each cluster pair and coincides with James and Sugar's method when the penalties are zero.<sup>[12](https://doi.org/10.1007/s00362-023-01408-1)</sup> Further variants include funHDDC for multivariate functional data<sup>[21](https://inria.hal.science/hal-01652467v2/file/article-funHDDC.pdf)</sup>, funWeightClust for cluster-weighted [functional regression](https://www.edgepedia.org/functional-regression) models<sup>[22](https://link.springer.com/article/10.1007/s10994-025-06858-2)</sup>, local functional clustering (LFC) that finds global and local structure simultaneously<sup>[7](https://pmc.ncbi.nlm.nih.gov/articles/PMC12588091/)</sup>, and principal curve clustering on FPC scores.<sup>[2](https://doi.org/10.1080/03610926.2021.1872636)</sup>\n\nCurves can differ both in amplitude (height) and in phase (timing). Most methods treat registration as preprocessing, which discards phase information: DTW followed by PAM detects only amplitude clusters because the warping stage throws phase away.<sup>[23](https://wis.kuleuven.be/stat/robust/papers/2012/SlaetsClaeskensHubertClusterFuncData.pdf)</sup> Remedies include joint registration-and-clustering models, warping models such as \\( Y_i(t) = X_i(a_i \\cdot t + b_i) \\), and the Fisher-Rao distance, a warping-invariant elastic metric whose square-root velocity function representation transforms it into the standard L2 metric.<sup>[1](https://doi.org/10.1145/3581789)</sup> Xueli Liu and Mark C.K. Yang introduced simultaneous registration and clustering (SACK) in 2008<sup>[24](https://doi.org/10.1016/j.csda.2008.11.019)</sup>, and Juhyun Park and Jeongyoun Ahn introduced a method for multivariate functional data with phase variation in 2016.<sup>[25](https://doi.org/10.1111/biom.12546)</sup>\n\n## Applications\n\nApplications span growth curves, gene-expression profiles<sup>[15](https://doi.org/10.1111/j.1467-9868.2007.00605.x)</sup><sup> • </sup><sup>[10](https://people.stat.sc.edu/hitchcock/compare_hier_fda_revised_bold.pdf)</sup>, COVID-19 trajectories of U.S. states<sup>[7](https://pmc.ncbi.nlm.nih.gov/articles/PMC12588091/)</sup>, traffic patterns in Edmonton, Canada<sup>[22](https://link.springer.com/article/10.1007/s10994-025-06858-2)</sup>, and hospital physiological time series.<sup>[20](http://proceedings.mlr.press/v37/bahadori15.pdf)</sup> Since 2023, deep functional autoencoders (FAEclust, 2025, Singh, Coyle, and Zhang) cluster multi-dimensional functional data with a shape-informed objective resistant to phase variation, handling data in linear spaces and Riemannian manifolds.<sup>[26](https://proceedings.neurips.cc/paper_files/paper/2025/file/ecaad04f0f6c797d9c2843256d37bcfc-Paper-Conference.pdf)</sup>\n\n## Limitations and alternatives\n\nKnown failure modes include the following. Because k-means is not invariant to linear transformations, results depend on the basis chosen; when cluster means are roughly parallel with intercept-dominated variability, k-means may miss shape clusters, and remedies include dropping the intercept or clustering derivatives.<sup>[3](https://pmc.ncbi.nlm.nih.gov/articles/PMC1828125/)</sup> Periodic functions are harder to cluster than non-periodic ones because they carry more within-curve variation.<sup>[10](https://people.stat.sc.edu/hitchcock/compare_hier_fda_revised_bold.pdf)</sup> Outlying curves affect k-means more than PAM, whose L1-type objective is less sensitive to outliers.<sup>[23](https://wis.kuleuven.be/stat/robust/papers/2012/SlaetsClaeskensHubertClusterFuncData.pdf)</sup> The prevalent \"tandem approach\", which optimizes smoothing, feature extraction, and clustering independently, can cause suboptimal feature selection and information loss.<sup>[1](https://doi.org/10.1145/3581789)</sup> Sparse-and-smooth methods can fail at high noise levels when many contaminated observations fall within a function.<sup>[7](https://pmc.ncbi.nlm.nih.gov/articles/PMC12588091/)</sup>\n\nHead-to-head comparisons are limited. Yassouridis and Leisch noted in 2017 that most methods project functions onto a basis and model the coefficients, and that their performance had in most cases not been tested objectively on other data sets, nor against each other.<sup>[27](https://ideas.repec.org/a/spr/advdac/v11y2017i3d10.1007_s11634-016-0261-y.html)</sup> Where benchmarks exist, results are method- and dataset-specific: funHDDC outperformed fclust on all four datasets in one study, with 70.65% versus 68.6% correct classification on CBF, yet on the Kneading dataset HDDC on discretized data was best at 66.09% while the best funHDDC model reached 64.35%.<sup>[8](https://hal.science/hal-00559561v1/file/FunHDDC-HAL.pdf)</sup> Among hierarchical methods, [Ward's method](https://www.edgepedia.org/wards-method) had the highest mean [Rand index](https://www.edgepedia.org/rand-index) in most of 1000 simulated situations, except with large cluster-size differences, where average linkage performed best.<sup>[10](https://people.stat.sc.edu/hitchcock/compare_hier_fda_revised_bold.pdf)</sup>\n\n## References\n\n1. [Review of Clustering Methods for Functional Data (Zhang & Parnell, ACM TKDD; mirrored PDF)](https://doi.org/10.1145/3581789)\n2. [Functional data clustering using principal curve methods](https://doi.org/10.1080/03610926.2021.1872636)\n3. [Linear Transformations and the k-Means Clustering Algorithm: Applications to Clustering Curves (Tarpey)](https://pmc.ncbi.nlm.nih.gov/articles/PMC1828125/)\n4. [C. Abraham and colleagues (2003). Unsupervised Curve Clustering using B‐Splines. Scandinavian Journal of Statistics.](https://doi.org/10.1111/1467-9469.00350)\n5. [Clustering for Sparsely Sampled Functional Data (James & Sugar, JASA 2003)](https://doi.org/10.1198/016214503000189)\n6. [funHDDC package vignette (CRAN)](https://cran.r-project.org/web/packages/funHDDC/vignettes/funHDDC.html)\n7. [Local Clustering for Functional Data (LFC)](https://pmc.ncbi.nlm.nih.gov/articles/PMC12588091/)\n8. [Model-based clustering of time series in group-specific functional subspaces (funHDDC, Bouveyron & Jacques 2011)](https://hal.science/hal-00559561v1/file/FunHDDC-HAL.pdf)\n9. [Functional Data Analysis (review, Müller & Yao)](https://anson.ucdavis.edu/~mueller/fdarev1.pdf)\n10. [A Comparison of Hierarchical Methods for Clustering Functional Data (Ferreira & Hitchcock)](https://people.stat.sc.edu/hitchcock/compare_hier_fda_revised_bold.pdf)\n11. [funHDDC R package documentation (CRAN)](https://cran.r-project.org/web/packages/funHDDC/funHDDC.pdf)\n12. [Fabio Centofanti, Antonio Lepore, Biagio Palumbo (2023). Sparse and smooth functional data clustering. Statistical Papers.](https://doi.org/10.1007/s00362-023-01408-1)\n13. [J. A. Hartigan, M. A. Wong (1979). Algorithm AS 136: A K-Means Clustering Algorithm. Journal of the Royal Statistical Society Series C (Applied Statistics).](https://doi.org/10.2307/2346830)\n14. [A. P. Dempster, N. M. Laird, D. B. Rubin (1977). Maximum Likelihood from Incomplete Data Via the EM Algorithm. Journal of the Royal Statistical Society Series B (Statistical Methodology).](https://doi.org/10.1111/j.2517-6161.1977.tb01600.x)\n15. [Jeng-Min Chiou, Pai-Ling Li (2007). Functional Clustering and Identifying Substructures of Longitudinal Data. Journal of the Royal Statistical Society Series B (Statistical Methodology).](https://doi.org/10.1111/j.1467-9868.2007.00605.x)\n16. [C. Bouveyron, S. Girard, C. Schmid (2007). High-dimensional data clustering. Computational Statistics & Data Analysis.](https://doi.org/10.1016/j.csda.2007.02.009)\n17. [Charles Bouveyron, Julien Jacques (2011). Model-based clustering of time series in group-specific functional subspaces. Advances in Data Analysis and Classification.](https://doi.org/10.1007/s11634-011-0095-6)\n18. [Julien Jacques, Cristian Preda (2013). Funclust: A curves clustering method using functional random variables density approximation. Neurocomputing.](https://doi.org/10.1016/j.neucom.2012.11.042)\n19. [Curves clustering with approximation of the density of functional random variables (funclust)](https://www.esann.org/sites/default/files/proceedings/legacy/es2012-30.pdf)\n20. [Functional Subspace Clustering with Application to Time Series (FSC)](http://proceedings.mlr.press/v37/bahadori15.pdf)\n21. [Clustering multivariate functional data in group-specific functional subspaces (funHDDC multivariate, Schmutz et al.)](https://inria.hal.science/hal-01652467v2/file/article-funHDDC.pdf)\n22. [Cluster weighted models for functional data (funWeightClust, Machine Learning)](https://link.springer.com/article/10.1007/s10994-025-06858-2)\n23. [Phase and amplitude-based clustering for functional data (Slaets, Claeskens, Hubert)](https://wis.kuleuven.be/stat/robust/papers/2012/SlaetsClaeskensHubertClusterFuncData.pdf)\n24. [Xueli Liu, Mark C.K. Yang (2008). Simultaneous curve registration and clustering for functional data. Computational Statistics & Data Analysis.](https://doi.org/10.1016/j.csda.2008.11.019)\n25. [Juhyun Park, Jeongyoun Ahn (2016). Clustering Multivariate Functional Data with Phase Variation. Biometrics.](https://doi.org/10.1111/biom.12546)\n26. [Shape-Informed Clustering of Multi-Dimensional Functional Data via Deep Functional Autoencoders (FAEclust)](https://proceedings.neurips.cc/paper_files/paper/2025/file/ecaad04f0f6c797d9c2843256d37bcfc-Paper-Conference.pdf)\n27. [Benchmarking different clustering algorithms on functional data (Yassouridis & Leisch, 2017)](https://ideas.repec.org/a/spr/advdac/v11y2017i3d10.1007_s11634-016-0261-y.html)\n\n---\n*Topic: Encyclopedia › Physical world and mathematics › Mathematics and statistics › Statistics and probability › Multivariate association and dimension reduction › Titles A to Me*\n\n*Initially written Sep 29, 2026 · Edited: Oct 15, 2026*\n\n*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*\n\nLicense: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license\n",
 "same_as": [
  "https://anson.ucdavis.edu/~mueller/fdarev1.pdf"
 ],
 "url": "https://www.edgepedia.org/functional-clustering",
 "markdown_url": "https://www.edgepedia.org/functional-clustering.md",
 "license": {
  "name": "Edgepedia Community License 1.0",
  "url": "https://www.edgepedia.org/edgepedia/license",
  "summary": "Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.",
  "spdx": "LicenseRef-Edgepedia-Community-1.0"
 },
 "credit": "\"Functional clustering\", Edgepedia (EdgeChat), https://www.edgepedia.org/functional-clustering. Edgepedia Community License 1.0.",
 "credit_md": "\"[Functional clustering](https://www.edgepedia.org/functional-clustering)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/functional-clustering](https://www.edgepedia.org/functional-clustering). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/functional-clustering\">Functional clustering</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/functional-clustering\">https://www.edgepedia.org/functional-clustering</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "Functional clustering is a set of statistical and machine-learning methods that groups curves, trajectories, and time-varying observations into clusters by shape similarity, treating each observation as a function."
}
