跳转到主要内容

常见预测例程的快速实现

项目描述

动机

在Nixtla,我们已经实现了几个处理时间序列数据的库。我们经常需要对所有序列应用一些转换,即使是像执行某种缩放这样的简单操作也可能耗时。

我们使用numba来加速我们的昂贵计算,然而这也带来了其他问题,例如冷启动和更多依赖(LLVM)。这就是我们开发这个库的原因,它通过C++实现了几个算子来转换时间序列数据(或其他可以被视为独立组的类型的数据),并有可能使用多线程来获得最佳性能。

你可能不需要直接使用这个库,而是可以使用我们的一些高级库,如mlforecast,它将在内部使用这个库。如果你对直接使用这个库感兴趣(仅依赖于numpy),你应该继续阅读。

安装

PyPI

pip install coreforecast

conda-forge

conda install -c conda-forge coreforecast

最小示例

基本数据结构是“分组数组”,它包含两个NumPy一维数组

  • data:序列的值。
  • indptr:序列边界,使得data[indptr[i] : indptr[i + 1]]返回第i个序列。例如,如果你有两个大小分别为5和10的序列,indptr将是[0, 5, 15]。
import numpy as np
from coreforecast.grouped_array import GroupedArray

data = np.arange(10)
indptr = np.array([0, 3, 10])
ga = GroupedArray(data, indptr)

一旦您有了这个结构,您就可以运行提供的任何转换,例如

from coreforecast.lag_transforms import ExpandingMean
from coreforecast.scalers import LocalStandardScaler

exp_mean = ExpandingMean(lag=1).transform(ga)
scaler = LocalStandardScaler().fit(ga)
standardized = scaler.transform(ga)

单数组函数

我们还实现了一些适用于单个数组的函数,您可以参考以下页面

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

coreforecast-0.0.12.tar.gz (43.0 kB 查看哈希值)

上传时间

构建分布

coreforecast-0.0.12-py3-none-win_amd64.whl (101.8 kB 查看哈希值)

上传时间 Python 3 Windows x86-64

coreforecast-0.0.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196.7 kB 查看哈希值)

上传时间 Python 3 manylinux: glibc 2.17+ x86-64

coreforecast-0.0.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (181.7 kB 查看哈希值)

上传时间 Python 3 manylinux: glibc 2.17+ ARM64

coreforecast-0.0.12-py3-none-macosx_11_0_arm64.whl (110.3 kB 查看哈希值)

上传时间 Python 3 macOS 11.0+ ARM64

coreforecast-0.0.12-py3-none-macosx_10_9_x86_64.whl (125.9 kB 查看哈希值)

上传时间 Python 3 macOS 10.9+ x86-64

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面