Closed TonyBagnall closed 9 months ago
Add to this "Heteregeneous Intrinsic Dimensionality Algorithm (Hidalgo) model" which is in
from aeon.transformations.series.hidalgo import Hidalgo
there are still issues with the annotation module, but the issue is different to the one described above, which has been resolved, so closing this
Describe the feature or idea you want to propose
Im just doing some docstring/notebook tidying and having a little look around annotation. Personally, I think I would split segmentation, change point detection and anomaly detection into separate modules. I believe it would improve exposure and be more logical. You can call them both annotation, but then you can call classification/regression/forecasting prediction if you want, doesnt make it a good idea. Any thoughts? I'm just scoping it for now, most of this is just for reference
Describe your proposed solution
ClaspSegmentation: Segmentation (BaseSeriesAnnotator) GGS: Segmentation (no base class) EAAgglo: "is a non-parametric clustering approach for multivariate timeseries" Should then be in clustering, but this class extends BaseTransformer, which seems a bit odd. Name not exactly informatibe HMM: "Implements a simple HMM fitted with Viterbi algorithm." (BaseSeriesAnnotator). Seems like a full implementation IGTS: Segmentation (no base class) InformationGainSegmentation: Segmentation (SegmentationMixin) STRAY: robust anomaly detection in data streams with concept drift. (BaseTransformer)
then we have in sub packages PyODAnnotator. "Transformer that applies outlier detector from pyOD." (BaseSeriesAnnotator)
in hmm_learn package which wraps https://github.com/hmmlearn/hmmlearn BaseHMMLearn (BaseSeriesAnnotator): Base class for all HMM wrappers, handles required overlap between packages. GaussianHMM: "Hidden Markov Model with Gaussian emissions." GMMHMM: "Hidden Markov Model with Gaussian mixture emissions" PoissonHMM: Hidden Markov Model with Poisson emissions
there is also a base and a plotting subpackage.
Seems the easiest rationalisation would be to move evertything that is obviously segmentation into its own package, perhaps initially in annotations/segmentation.
Describe alternatives you've considered, if relevant
No response
Additional context
No response