行业资讯
Temporian核心功能详解:事件集操作与时间窗口分析实战
Temporian核心功能详解事件集操作与时间窗口分析实战【免费下载链接】temporianTemporian is an open-source Python library for preprocessing ⚡ and feature engineering temporal data for machine learning applications 项目地址: https://gitcode.com/gh_mirrors/te/temporianTemporian是一个开源Python库专为机器学习应用中的时间数据预处理和特征工程设计。它提供了高效的事件集操作和灵活的时间窗口分析能力帮助开发者轻松处理时序数据。事件集EventSet时间数据的核心容器事件集EventSet是Temporian中处理时间数据的核心数据结构类似于Pandas的DataFrame但专为时序数据优化。它将数据组织为带有时间戳的事件集合支持高效的时间序列操作和特征工程。EventSet的主要特点包括内置时间戳管理确保数据按时间顺序处理支持多维度索引方便进行分组时间序列分析提供丰富的操作接口简化时间特征工程流程创建EventSet非常简单可以通过temporian.event_set()函数直接创建或从Pandas DataFrame转换而来import temporian as tp # 从数组创建EventSet evset tp.event_set( timestamps[1, 2, 3, 4], features{temperature: [20.0, 21.0, 22.0, 23.0]} ) # 从Pandas DataFrame创建 import pandas as pd df pd.DataFrame({ timestamp: [1, 2, 3, 4], temperature: [20.0, 21.0, 22.0, 23.0] }) evset tp.from_pandas(df, timestamp_columntimestamp)EventSet支持多种基本操作如添加索引、选择特征、过滤事件等这些操作可以通过直观的方法调用来完成。时间窗口分析捕捉时序数据的动态特征时间窗口分析是时序特征工程的核心技术Temporian提供了丰富的窗口操作功能能够捕捉时间序列的动态变化特征。窗口长度window_length参数解析窗口长度是控制窗口分析的关键参数可以是固定值或动态值固定窗口长度使用数字或Duration对象指定如window_length10.0表示10个时间单位动态窗口长度使用另一个EventSet指定使窗口大小随时间变化# 固定窗口长度 fixed_window evset.simple_moving_average(window_length10.0) # 动态窗口长度 window_length_evset tp.event_set( timestamps[1, 2, 3], features{window_size: [5.0, 10.0, 15.0]} ) dynamic_window evset.simple_moving_average(window_lengthwindow_length_evset)常用窗口操作Temporian提供了多种窗口操作函数满足不同的特征提取需求1. 简单移动平均Simple Moving Average计算窗口内的平均值平滑短期波动突出长期趋势sma evset.simple_moving_average(window_length5.0)2. 移动总和Moving Sum计算窗口内的总和适用于累计指标分析ms evset.moving_sum(window_length3.0)3. 移动计数Moving Count统计窗口内的事件数量可用于计算事件频率mc evset.moving_count(window_length10.0)4. 移动最大/最小值Moving Max/Min捕捉窗口内的极值识别异常值或周期性峰值mmax evset.moving_max(window_length7.0) mmin evset.moving_min(window_length7.0)窗口分析实战案例下面是一个展示多门店收入数据的时间窗口分析结果使用简单移动平均计算各门店的收入趋势该图表展示了三个不同门店在2023年9月至12月期间的收入趋势通过时间窗口分析平滑了每日收入波动更清晰地显示了长期趋势和周期性模式。高级事件集操作构建复杂特征工程管道Temporian提供了丰富的事件集操作支持构建复杂的特征工程管道。1. 事件过滤根据时间或特征值过滤事件聚焦关键数据# 过滤特定时间范围内的事件 filtered evset.filter(evset.timestamps() 100) # 使用移动计数过滤高频事件 sparse_evset evset.filter_moving_count(window_length1.5)2. 事件连接Join合并不同来源的事件数据丰富分析维度# 按时间连接两个事件集 joined evset1.join(evset2, ontimestamp)3. 特征转换对事件特征进行各种数学转换生成新特征# 计算特征的绝对值 abs_evset evset.abs() # 计算特征的自然对数 log_evset evset.log()4. 时间偏移Lag创建特征的滞后版本捕捉时间序列的延迟效应# 将特征值滞后2个时间单位 lagged_evset evset.lag(duration2.0)总结与最佳实践Temporian提供了强大的事件集操作和时间窗口分析功能为时序数据预处理和特征工程提供了高效解决方案。以下是一些使用Temporian的最佳实践合理选择窗口长度根据数据的时间粒度和业务需求选择合适的窗口长度平衡噪声消除和趋势捕捉。利用动态窗口对于具有变化模式的时间序列考虑使用动态窗口长度适应不同时期的特性。组合多种窗口操作结合不同的窗口操作如移动平均、移动最大/最小值构建多维度特征。优化事件集索引合理设置事件集索引提高分组操作和窗口分析的效率。通过灵活运用Temporian的事件集操作和时间窗口分析功能开发者可以快速构建强大的时序特征工程管道为机器学习模型提供高质量的时间序列特征。要开始使用Temporian只需克隆仓库并安装git clone https://gitcode.com/gh_mirrors/te/temporian cd temporian pip install .更多详细信息和高级用法请参考项目文档和示例代码。【免费下载链接】temporianTemporian is an open-source Python library for preprocessing ⚡ and feature engineering temporal data for machine learning applications 项目地址: https://gitcode.com/gh_mirrors/te/temporian创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
郑州网站建设
网页设计
企业官网