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