---
# System prepended metadata

title: MSc Summer 2024 -  Zhida and aeon-neuro
tags: [aeon-msc]

---

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