使用pybind11的cppedm的python包装器

EDM-SugiharaLab的Python项目详细描述


经验动态建模(EDM)


这个包为EDM analysiscppEDM库提供了一个python/pandas数据帧接口。Documentation可在pyEDM找到。

功能包括:

  • 单纯形投影(Sugihara和1990年5月)
  • 序列局部加权全局线性映射(s-map)(Sugihara 1994)
  • 多变量嵌入(Dixon等人1999年)
  • 收敛交叉映射(Sugihara等人2012年)
  • 多视图嵌入(YE和Sugihara 2016)

安装

不幸的是,我们没有资源为各种计算机平台提供预构建的二进制发行版。用户需要首先在自己的机器上构建cppedm库,然后使用pip安装python包。在OSX和Linux上,这需要G++,在Windows上,需要Microsoft Visual Studio编译器(MSVC),可以从Build Tools for Visual Studio 2019获得。只需要windows sdk。

请注意,Eigen C++ Template Library是构建cppedm所必需的。假定Eigen目录在编译器INCLUDE路径中可用。如果没有,可以将目录添加到makefile中的CFLAGS -I选项中,适当定义INCLUDE环境变量,或者使用CFLAGS=重写make命令行以指定位置。

OSX和Linux

  1. 下载pyedm:git clone https://github.com/SugiharaLab/pyEDM
  2. 构建cppedm库:cd pyEDM/cppEDM/src; make
  3. 生成并安装程序包:cd ../..; python -m pip install . --user

窗口

  1. 下载pyedm:git clone https://github.com/SugiharaLab/pyEDM
  2. 构建cppedm库:cd pyEDM\cppEDM\src; nmake /f makefile.windows
  3. 生成并安装程序包:cd ..\..; python -m pip install . --user

用法

python提示符下的示例用法:

>>>importEDM>>>EDM.Examples()

参考文献

Sugihara G.和May R.1990。非线性预测作为一种判别方法 时间序列测量误差引起的混沌。自然,344:734–741.

Sugihara G.1994年。自然分类的非线性预测 时间序列。哲学交易:物理科学和 工程,348(1688):477-495.

Dixon,P.A.,M.Milicich和G.Sugihara,1999年。幼虫供应的周期性波动。科学283:1528-1530。

Sugihara G.,May R.,Ye H.,Xieh C.,Deyle E.,Fogarty M.,Munch S.,2012年。 探测复杂生态系统中的因果关系。科学338:496-500。

Ye H.,和G.Sugihara,2016年。互联网络中的信息杠杆 生态系统:克服维度的诅咒。科学353:922–925。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JTable无法向新创建的列添加值   java如何调整JEditorPane中编辑区域的大小?   Java通过反射确定未知数组中的数组大小   java Intellij Idea有时无法按其预期的方式构建应用程序   java Swing GUI带有IntelliJ错误“contentPane不能设置为null”从终端编译时   如何将这些通用方法调用从C#转换为Java   在null上找不到java属性或字段“index”   从Java HashMap获取整数值时是否需要调用intValue()方法?   java Android谷歌地图获取相机中的图像块   unix无法捕获JAVA中“who m”命令的输出   java,同时将邮件发送到“收件人”标题“我”中的多个收件人   在java中向链表添加未知数量的节点   无法为Heroku上的discord bot设置java端口   java使用Apache HttpClient进行选项请求   与元素类型“ApplicationName”关联的属性“Application Version”需要java Open quote   Android Studio Java中的两个变量求和