动力系统的非线性测度(基于一维时间序列)
nolds的Python项目详细描述
nolds是一个基于numpy的小库,它为基于一维时间序列的动态系统的非线性度量提供了实现和学习资源。 目前正在实施以下措施:
- 样本熵(sampen)
- 基于近似熵 度量时间序列的复杂性
- 相关维度(corr_dim)
- lyapunov指数(lyap_r,lyap_e) 正lyapunov指数表示混沌和不可预测性。 nolds提供了rosenstein等人的算法。(lyap_r)估计最大lyapunov指数和eckmann等人的算法。(lyap_e)估计lyapunov指数的整个谱。
- hurst指数(hurst_rs) 赫斯特指数是时间序列“长期记忆”的量度。 它可以用来确定如果时间序列在前面的步骤中增加了,那么时间序列增加的可能性是多是少,还是相等。 这个属性使得赫斯特指数对于股票数据的分析特别有趣。
- detrended波动分析(dfa)(dfa) dfa测量hurst参数{em1}$h,这与hurst指数非常相似。 主要区别在于DFA可用于非平稳过程(其平均值和/或方差随时间变化)。
示例
import nolds import numpy as np rwalk = np.cumsum(np.random.random(1000)) h = nolds.dfa(rwalk)
要求
nolds从一个代码源支持python 2(>;=2.7)和3(>;=3.4)。它需要包numpy。
这些是唯一的硬性要求,但有些功能需要其他软件包:
- 如果要使用ransac算法进行线拟合,还需要包sklearn。
- 对于由nolds.qrandom生成的真正随机数,您需要包quantumrandom。
- nolds.examples中的绘图函数需要包matplotlib。
安装
nold可通过pypi获得,并可使用pip安装:
pip install nolds
您可以使用以下命令运行一些示例代码来测试安装:
python -m nolds.examples lyapunov-logistic
或者,如果没有安装matplotlib,则可以使用以下命令运行unittests:
python -m unittest nolds.test_measures
文档
nolds是为上述措施设计的学习资源。 因此,相应的功能具有广泛的文档,不仅解释了界面,还使用了算法,并指出用户额外的参考代码和论文。 文档可以在代码中找到,但也可以作为HTML-Version和Read the Docs使用。
相关度量可以在文件nolds/measures.py中找到。
联系信息
如果你有任何问题,建议或更正,你可以找到我的联系人 关于我的blog的信息。