Skip to content

Latest commit

History

98 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Functional Data for Cluster Analysis

Lists of open-access functional datasets from different fields of application. We only collect data that can be used for cluster analysis. The main objective is to facilitate comparing with existing clustering methods (for functional data) and evaluating new clustering methods. A recent comprehensive review of clustering methods for functional data is available here. Our team is actively developing functional data clustering methods tailored to various data types and application domains. The software tools we have developed can be accessed here.

For datasets that need further processing on the linked data, a copy of them can be found in the Data folder. (This ongoing project is a bit slow, due to other commitments of the contributor.)

One-dimensional Functional Data

NameAvailable atFieldTaskSizeLengthMissing Value
ARC_MobilePublisherHealthClustering12530/40Yes
ArrowHeadUEA & UCR Time Series Classification RepositoryComputer VisionClassification211251No
BirdChickenUEA & UCR Time Series Classification RepositoryComputer VisionClassification40512No
BTH_PM25PublisherEnvironmentClustering7348Yes
China_PM25PublisherEnvironmentClustering338731Yes
DiatomSizeReductionUEA & UCR Time Series Classification RepositoryBioinformaticsClassification322345No
ECG200UEA & UCR Time Series Classification RepositoryECGClassification20096No
FaceFourUEA & UCR Time Series Classification RepositoryComputer VisionClassification112350No
FlourR (cfda)FoodClassification115241No
FungiUEA & UCR ...BioinformaticsClassification204201No
GunPointUEA & UCR Time Series Classification RepositoryMotionClassification200150No
MeatUEA & UCR Time Series Classification RepositoryFoodClassification120448No
PlaneUEA & UCR ...ShapeClassification210144No
Phonemee-Book (ElemStatLearn)SpeechClassification4K+256No
StrawberryUEA & UCR Time Series Classification RepositoryFoodClassification983235No
SymbolsUEA & UCR Time Series Classification RepositoryComputer VisionClassification1K+398No
TecatorCMU StatLibFoodClassification240100No

Multi-dimensional Functional Data

NameAvailable atFieldTaskSizeLengthDimension
BasicMotionsUEA & UCR Time Series Classification RepositoryMotionClassification801006
BlinkUEA & UCR ...EEGClassification9505104
ECG_Arrhythmia PublisherECGClassification10K+500012
EEG_FullUCI Machine Learning RepositoryEEGClassification12225664
EpilepsyUEA & UCR ...MotionClassification2752073
ERingUEA & UCR ...GestureClassification300654
EyesOpenShutUEA & UCR ...EEGClassification9812814
FingerMovementsUEA & UCR ...EEGClassification4165028
Japanese_VowelsUCI Machine Learning RepositorySpeechClassification6402912
UWaveGestureLibraryUEA & UCR ...GestureClassification4K+3153

Manifold-valued Functional Data (simulated)

We provided a Python generator for manifold-valued functional data. It can simulate five families of trajectories:

  • Hypersphere (unit sphere trajectories)
  • Hyperbolic (Poincaré ball model)
  • Swiss roll (Swiss-roll curves, up to 3D)
  • Lorenz (chaotic attractor, up to 3D)
  • Pendulum (simple pendulum dynamics, up to 3D)

Each dataset is a collection of multi-dimensional functions that evolve along a specified manifold or dynamical system. The generator script lives in the Data/Manifold/ directory as manifold_valued_data_generator.py. You can run it directly. This generator was used in our NeurIPS2025 work to evaluate FAEclust.

Outputs & Shapes

  • X.shape = (n_samples, n_features, n_steps): multivariate time series laid out as [sample, feature, time].
  • y.shape = (n_samples,): integer labels (0 … n_clusters-1) for cluster/dynamics identity.

Key Parameters

  • n_samples: number of time series (functions) to generate.
  • n_features: dimensionality per time step (e.g., 2D, 3D coordinates).
  • n_steps: length (number of time points) in each trajectory.
  • n_clusters: number of distinct clusters/dynamics per dataset.
  • base_noise (optional): small perturbations; useful for realism.
  • seed (optional): random seed for reproducibility.

To change the size of a dataset (e.g., more functions), edit the corresponding tuple in specs - no other code changes needed.

Manifold-valued Functional Data (real)

Coming soon ...