Bagging exponential
smoothing methods using STL decomposition and Box-Cox transformatio
## Getting started tasks
- [x] Introduce yourself in the community Slack channels. Use __#introductions__ to introduce youself to the wider community if you have not already and __#summer-2024__ to introduce yourself and your project to other students and mentors.
- [x] Go through the contributor guide on the _aeon_ website (https://www.aeon-toolkit.org/en/stable/contributing.html).
- [x] Set up a development environment, including _pytest_ and _pre-commit_ dependencies. This will make development a lot easier for you, as you must pass the PR tests to have your code merged (https://www.aeon-toolkit.org/en/stable/developer_guide/dev_installation.html).
- [ ] Review some of the important dependencies for developing aeon at a basic level:
- [x] __scikit-learn__ the interface aeon estimators extend from. We aim to keep as compatible as possible with sklearn tools.
- [x] __pytest__ for unit testing. Any code added will have to be covered by tests.
- [ ] __sphinx/myst__ for documentation. Adding new functions and classes will have to be added to the API docs.
- [ ] __numba__ for writing efficient functions.
- [x] Make some basic Pull Requests (PRs) to gain some experience with contributing to _aeon_ through GitHub.
- [x] Add the project time line objects to this document.
# Make notes of progress here
This is just an informal place to make notes on objectives and progress
## meeting on 7/6/24
Getting started plan
- [x] please join aeon-neuro slack: https://join.slack.com/t/aeon-neuro/shared_invite/zt-2kertkuw1-5FdUR3Wc8I__PO6OUDY25Q
- [x] aeon proper good first issue list: https://github.com/aeon-toolkit/aeon/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
choice:
1. https://github.com/aeon-toolkit/aeon/issues/1594
2. https://github.com/aeon-toolkit/aeon-neuro/issues/36
Riemannian distance: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5444491
todo
- [x] 1. Make first PR with a good first issue on aeon
- [x] 2. Set up with aeon-neuro
- [x] 3. Read and understand paper on Reimannian distance
- [x] 4. Implement Reimannian distance
- [ ] 5. Literature review on other Reimannian EEG algorithms, build a bibliography
## meeting 14/6/24
aeon PR is in.
aeon-neuro PR is in.
Reimannian distance implementation
1. as aeon distance function
1. [no] to wrap pyRiemann's distance function
2. [need refine] self implementation
2. need a power spectral density matrix series transformer
1. [BUG] to wrap welch's estimation of power spetral density from scipy.signal.welch
2. others
3. special k-nn for R-distance from [1]
Tony to set up the structure of these, Zhida to implement/wrap. Goal is to test if k-nn with R-distance is a good approach for EEG classification.
## meeting 21/6/24
Branch set up on aeon-neuro, still looking at implementations of reimannian distances
## meeting 28/6/24
PR wrapping pyreiman and Li, Y.'s paper
1. solve conflict
2. write a notebook in ~/example
3. keep learning spectrum, autoregression, and Burg's
## ~~meeting 6/7/24~~
## meeting 12/7/24
~~to implement pairwise_distance function following `dtw.py` and `sklearn` document~~
to refine tests using exist data (pytest)
~~to try using pairwise distance matrix with sklearn classifiers~~
to run some EEG problems with classifiers
# References
1. original paper about Riemannian distance application in sleep stage: [EEG Signal Classification Based on a Riemannian Distance Measure](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5444491)
2. same author, same approach as 1, but different year: 2012 [SIGNAL CLASSIFICATION BY POWER SPECTRAL DENSITY: AN APPROACH VIA RIEMANNIAN GEOMETRY](https://ieeexplore.ieee.org/document/6319854), 2013 [Riemannian Distances for Signal Classification by Power Spectral Density](https://ieeexplore.ieee.org/abstract/document/6509394?casa_token=SNFt1_fRmHcAAAAA:eTKrtORc_VP_iMQk3xqMb3LXj2iCOHMbdnPvxRo-Or8CeERWhVmcerhQlxSYmAPsE_bwk-zR)
3. another application in imagined speech: [EEG signal classification of imagined speech based on Riemannian distance of correntropy spectral density](https://www.sciencedirect.com/science/article/pii/S1746809420300550)
4. Nutall-Strand algorithm: [Multichannel complex maximum entropy (autoregressive) spectral analysis](https://ieeexplore.ieee.org/document/1101545)
5. an adapted version of Nutall-Strand algorithm (MVAR): [A new algorithm for neural connectivity estimation of EEG event related potentials](https://ieeexplore.ieee.org/document/7319218)
# 2/8/24
- Implementation of matrix transform complete
to do
1. Mail second examiner √
2. Run experiments to get accuracies √
something wrong and fuzzy with my implementation, can't get good performance
3. Write test examples with known output
4. Make a PR into aeon-neuro