跳转到主要内容

可伸缩的时间序列特征计算

项目描述

FastTSFeatures

时间序列特征提取作为服务。FastTSFeatures是一个作为服务的SDK,用于计算静态、时间和日历变量。

该软件包作为tsfreshtsfeaturesholidays的包装器。由于我们负责整个基础设施,特征提取变得像在Python笔记本中运行一行代码或调用API一样简单。

为什么?

我们构建FastTSFeatures,因为我们想要一种简单快捷的方式来提取时间序列特征,无需考虑基础设施和部署。现在我们想看看其他数据科学家是否也认为它很有用。

目录

可用功能(超过600个)

安装

pip install fasttsfeatures

如何使用

您可以使用FastTSFeatures,要么使用完全公开的S3存储桶,要么上传文件到我们提供的自己的S3存储桶。

数据格式

目前我们只支持.csv文件。这些文件必须包含至少3列,包括unique_id(每个时间序列的标识符)、日期戳和值。

1. 请求免费试用

发送电子邮件至: fede.garza.ramirez@gmail.com 请求免费试用,并获取您的 BUCKET_NAMEAPI_IDAPI_KEYAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

2. 在私有S3桶上运行fasttsfeatures

如果您不希望其他人可能访问您的数据,您可以在私有S3存储桶上运行fasttsfeatures。为此,您必须将数据上传到我们将为您提供的私有S3存储桶;您可以在Python内部完成此操作。

2.1 从Python上传到S3

您需要我们提供的AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

  • 导入并实例化TSFeatures,引入您的BUCKET_NAMEAPI_IDAPI_KEYAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
from fasttsfeatures.core import TSFeatures

tsfeatures = TSFeatures(bucket_name='<BUCKET_NAME>',
                        api_id='<API_ID>',
                        api_key='<API_KEY>',
                        aws_access_key_id='<AWS_ACCESS_KEY_ID>',
                        aws_secret_access_key='<AWS_SECRET_ACCESS_KEY>')
  • 引入文件名上传您的本地文件。
s3_uri = tsfeatures.upload_to_s3(file='<YOUR FILE NAME>')
  • 运行特征提取过程

您可以在上传的数据上运行时间、静态或日历特征。要运行该过程,请指定

  • s3_uri:调用tsfeatures.upload_to_s3()后提供的S3 uri。
  • freq:整数,其中

{'Hourly':24, 'Daily': 7, 'Monthly': 12, 'Quarterly': 4, 'Weekly':52, 'Yearly': 1}.- ds_column:唯一id列的名称。

  • y_column:目标列的名称。

在日历变量的情况下,您必须使用ISO代码指定国家。

#Run Temporal Features
response_tmp_ft = tsfeatures.calculate_temporal_features_from_s3_uri(
                    s3_uri="<PRIVATE S3 URI HERE>",
                    freq=7, # For the moment only works for Daily data.
                    unique_id_column="<NAME OF ID COLUMN>",
                    ds_column= "<NAME OF DATESTAMP COLUMN>",
                    y_column="<NAME OF TARGET COLUMN>"
                  )

#Run Static Features
response_static_ft = tsfeatures.calculate_static_features_from_s3_uri(
                      s3_uri=s3_uri,
                      freq=7,
                      unique_id_column="<NAME OF ID COLUMN>",
                      ds_column= "<NAME OF DATESTAMP COLUMN>",
                      y_column="<NAME OF TARGET COLUMN>"
                    )

#Run Calendar Features
response_cal_ft = tsfeatures.calculate_calendar_features_from_s3_uri(
                    s3_uri=s3_uri,
                    country="<ISO>",
                    unique_id_column="<NAME OF ID COLUMN>",
                    ds_column= "<NAME OF DATESTAMP COLUMN>",
                    y_column="<NAME OF TARGET COLUMN>"
                  )
response_tmp_ft
状态 正文 id_job 消息
0 200 "s3://nixtla-user-test/features/features.csv" f7bdb6dc-dcdb-4d87-87e8-b5428e4c98db 在GET /tsfeatures/jobs/{job_id}处检查作业状态
  • 使用以下代码监控过程。完成后,访问您的存储桶以下载生成的特征。
job_id = response_tmp_ft['id_job'].item()
tsfeatures.get_status(job_id)
状态 处理时间(秒)
0 进行中 3

2.2 从s3下载您的结果

过程完成后,您可以从s3下载结果。

s3_uri_results = response_tmp_ft['dest_url'].item()
tsfeatures.download_from_s3(s3_url=s3_uri_results)

待办事项

  • 使用Parquet文件优化读写速度
  • 为不同粒度提供时间特征
  • 填充零值(对于0值未报告的数据,例如零售数据)
  • 对模型改进进行实证基准测试
  • 处理Nan
  • 上传前检查数据完整性
  • 提供有意义的错误消息
  • 提供有意义的状态
  • 日历中可选的y参数

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

fasttsfeatures-0.0.10.tar.gz (13.8 kB 查看哈希值)

上传时间

构建分布

fasttsfeatures-0.0.10-py3-none-any.whl (11.2 kB 查看哈希值)

上传时间 Python 3

由以下支持