tsfeatures

tsfeatures

时间序列特征提取的Python工具库

tsfeatures是一个Python库,用于计算时间序列数据的多种特征。作为R语言tsfeatures包的Python实现,它提供了自相关、异方差、熵、平稳性等统计指标的计算功能。该库支持自定义特征函数和处理不同频率的时间序列数据,并允许与R版本结果进行对比。tsfeatures适用于需要进行时间序列分析和建模的数据处理场景。

tsfeatures时间序列特征提取Python数据分析Github开源项目

构建 PyPI版本fury.io 下载量 Python 3.6+ 许可证: MIT

tsfeatures

计算时间序列数据的各种特征。这是R包_tsfeatures_的Python实现。

安装

你可以通过Python包索引安装tsfeatures发布版本:

pip install tsfeatures

使用方法

tsfeatures的主要函数默认计算Montero-Manso、Talagala、Hyndman和Athanasopoulos在他们的FFORMA模型实现中使用的特征。

from tsfeatures import tsfeatures

这个函数接收一个包含unique_iddsy列的面板pandas数据框,以及可选的数据频率参数。

<img src=https://raw.githubusercontent.com/FedericoGarza/tsfeatures/master/.github/images/y_train.png width="152">

tsfeatures(panel, freq=7)

默认情况下(freq=None),该函数会尝试推断每个时间序列的频率(使用pandas的infer_freq函数处理ds列),并根据内置的FREQS字典分配季节性周期:

FREQS = {'H': 24, 'D': 1, 'M': 12, 'Q': 4, 'W':1, 'Y': 1}

你可以使用dict_freqs参数来使用自己的字典:

tsfeatures(panel, dict_freqs={'D': 7, 'W': 52})

可用特征列表

特征
acf_featuresheterogeneityseries_length
arch_statholt_parameterssparsity
count_entropyhurststability
crossing_pointshw_parametersstl_features
entropyintervalsunitroot_kpss
flat_spotslumpinessunitroot_pp
frequencynonlinearity
guerreropacf_features

查看文档以了解特征的描述。要使用包中包含的特定特征,你需要导入它:

from tsfeatures import acf_features tsfeatures(panel, freq=7, features=[acf_features])

你还可以定义自己的函数,并将其与包含的特征一起使用:

def number_zeros(x, freq): number = (x == 0).sum() return {'number_zeros': number} tsfeatures(panel, freq=7, features=[acf_features, number_zeros])

tsfeatures可以处理接收numpy数组x和频率freq(即使你不使用它,这个参数也是必需的)并返回一个字典的函数,字典以特征名称为键,特征值为值。

R实现

你可以使用这个包在Python内部调用R的tsfeatures(你需要安装R、forecasttsfeatures包;以及Python包rpy2):

from tsfeatures.tsfeatures_r import tsfeatures_r tsfeatures_r(panel, freq=7, features=["acf_features"])

注意,这个函数接收的是字符串列表,而不是函数列表。

与R实现的比较(绝对差之和)

非季节性数据(100个每日M4时间序列)

特征差异特征差异特征差异特征差异
e_acf100e_acf10diff2_acf10alpha3.2
季节性周期0尖峰0diff1_acf100arch_acf3.3
周期数0曲率0x_acf10beta4.04
线性度0交叉点0非线性0garch_r24.74
hw_gamma0凸凹性0diff2x_pacf50赫斯特指数5.45
hw_beta0diff1x_pacf50单位根_kpss0garch_acf5.53
hw_alpha0diff1_acf100x_pacf5011.65
趋势0arch_lm0x_acf100
平坦点0diff1_acf10单位根_pp0
序列长度0稳定性0arch_r21.37

要复现这些结果,请使用:

python -m tsfeatures.compare_with_r --results_directory /some/path --dataset_name Daily --num_obs 100

季节性数据(100个小时级M4时间序列)

特征差异特征差异特征差异特征差异
序列长度0seas_acf10趋势2.28赫斯特指数26.02
平坦点0x_acf10arch_r22.29hw_beta32.39
周期数0单位根_kpss0alpha2.52低谷35
交叉点0非线性0beta3.67峰值69
季节性周期0diff1_acf100线性度3.97
凸凹性0x_acf100曲率4.8
稳定性0seas_pacf0e_acf107.05
arch_lm0单位根_pp0garch_r27.32
diff2_acf10尖峰0hw_gamma7.32
diff2_acf100季节性强度0.79hw_alpha7.47
diff1_acf10e_acf11.67garch_acf7.53
diff2x_pacf50arch_acf2.189.45

要复现这些结果,请使用:

python -m tsfeatures.compare_with_r --results_directory /some/path \ --dataset_name Hourly --num_obs 100

作者

编辑推荐精选

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

下拉加载更多