Time Series by Anharmonic Oscillators is a Python library developed to fit user defined differential equations (with the form of anharmonic oscillators) to time series data.
Suppose we have sets of points making up time series such as
This library will allow us to propose a differential equation for the $x(t)$ function, and fit the free parameters to find a good differential equation that models the dynamics of the system.
Running this analysis allows one to find a differential equation (DE) that a (or a set of) time series roughly obeys. Some interesting things that can be done with the DE are
In order to make tsaopy
work one should first be using a Linux PC, specifically it’s being developed and tested on Ubuntu 20+ systems. Windows won’t work, and we haven’t tried it on macOS.
Necessary Python dependencies are numpy
, and another package I developed (largely to serve as a base for tsaopy
) which is quickemcee
, which also depends on scipy
, matplotlib
, emcee
, and corner
.
tsaopy
uses a Fortran submodule in its backend. In order to compile it, it’s necessary that there’s a Fortran compiler, such as gfortran
, installed and properly pathed. If there isn’t, then sudo apt-get install gfortran
should do it.
With this, it’s possible to install tsaopy
using pip install tsaopy
.
At this point tsaopy
should be installed.
If you have any problems during installation please make an issue in the Github repo with all the information you can gather.
After running pip install tsaopy
try opening a Python console and run import tsaopy
. It may take a few seconds (the backend submodules are compiled the first time you import tsaopy
). Should any errors arise, please report the issue.
If you can import tsaopy
succesfully try running the basic test script. Go to the project’s repository test folder and either
python basictest.py
, orIf everything is working properly something like this should be displayed
We have a Zenodo DOI set up for the repository for the time being
And this is my personal ORCID
The following Bibtex citation is recommended
@software{tsaopy,
author = {Scozziero, Sofía Anna},
title = {The TSAOpy library},
month = may,
year = 2022,
publisher = {Zenodo},
doi = {10.5281/zenodo.6569848},
url = {https://tsaopy.github.io/}
}
There will probably be an article or something of the sorts in the near future.