从ODE或SDE模拟系统,分析时间序列。

nsim的Python项目详细描述


从odes、sde或分数odes模拟系统,分析时间序列。
n.b.这是一个预发行版:还有很多工作要做

模拟

nsim是用于物理、生物学和金融领域的系统,这些系统是用微分方程连续时间建模的。nsim使定义和模拟这些(包括适当的噪声处理)和分析产生的时间序列变得容易。

  • 自动并行计算/集群计算:对于多个或重复的模拟,nsim将它们分布在集群或amazon ec2云(或一台计算机的cpu)上,而无需进行任何并行编程。
    (首先配置一个IPython cluster。例如,在一台计算机上可以键入ipcluster start
  • 要定义标量或向量ode系统,请子类ODEModel。(参见examples)定义标量或向量sde系统,子类ItoModelStratonovichModel。现在支持多个驱动维纳进程。默认情况下,SDE积分使用1.0阶强随机Runge-Kutta算法(R_ler2010)。要定义标量或向量caputo分数ode系统,请子类CaputoModel

  • 模型参数可以指定为随机分布,以创建多个不相同的模拟。

  • NetworkModel类允许您模拟耦合到网络中的许多子系统,网络结构指定为加权有向图。子模型可以都是相同的,但它们不一定是相同的。(可以选择使用networkx包生成各种在网络模型中有用的随机、集群和小世界图)。网络模型中的子模型甚至可以是用于模拟网络的其他网络模型。

分析时间序列

除了模拟得到的时间序列外,还可以从Matlab.mat文件或.edf文件中加载经验时间序列数据进行分布式分析。

  • nsim提供了一个Timeseries类。这是一个numpy数组。
    它允许按时间而不是按数组索引对数组进行切片,例如可以将ts.t[10.5:30]从t=10.5写到t=30秒。当操作数组时,它将跟踪多变量时间序列的任何通道名(或变量名)。
  • 除了通常的numpy数组方法之外,Timeseries对象还有额外的方法,可以方便地进行过滤、绘图和分析。分析可以在管道中链接在一起。例如,使用Timeseries实例ts,您可以编写一系列分析,如ts.t[10:30].bandpass(20,35).hilbert().abs().plot()
    通过调用Timeseries.add_analyses()
    多个时间序列的分析分布在集群上,无需进行任何并行编程。
  • 要获得最佳结果,请使用启用了__numpy_ufunc__功能(尚未发布)的numpy。这使我们能够在分析得到的时间序列时支持分布式计算。您可以在此处启用此实验功能获得numpy:https://github.com/mattja/numpy/archive/master.zip

  • 待办事项

    • 自动生成覆盖点格的多个模拟 参数空间,并行运行。
    • 任选地允许在c中指定和积分方程, 对于速度
    • 添加对具有时间延迟(DDE和延迟SDE)的模型的支持。
    • 目前,单个CPU核心用于模拟 模型,包括网络模型。理想情况下可以使用共享内存和 每个集群主机上有多个CPU核,用于模拟模型实例, 在单个主机上均匀地跨CPU拆分自由度。

    谢谢

    结合了福里斯盛宝的额外时间序列分析 pyeeghttp://fsbao.net

    ipyparallel交互式并行计算: https://ipyparallel.readthedocs.org/

    另请参见:

    sdeint:sde集成算法库,由nsim用来进行模拟。https://github.com/mattja/sdeint

    fodeint:由nsim使用的分数ode集成算法库。https://github.com/mattja/fodeint

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

    推荐PyPI第三方库


    热门话题
    java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?