工夫序列剖析是数据迷信的重要组成部分,特地是在金融、经济、天气预报等畛域。它包含剖析随工夫收集或索引的数据点,以确定趋势、周期或节令变动。因为工夫序列数据的复杂性所以剖析工夫序列须要简单统计办法,我最近在 Github 上发现了一个刚刚公布不久的 Python 工夫工具包 PyTimeTK,它能够帮咱们简化工夫序列剖析的很多步骤。
PyTimeTK 的次要性能如下:
1、工夫序列数据通常须要大量的预处理,例如解决缺失值、时区调整和转换工夫格局。pytimmetk 提供了相干的函数并且能够主动解决。
2、pytimek 提供很多内置的函数,除了挪动平均线等基本操作以外,还有季节性检测和预测等更简单的分析方法
3、pytimmetk 还蕴含了用于生成信息和交互式绘图的内置函数,能够对工夫序列数据对趋势和模式进行可视化示意。
4、与 Pandas dataframe 无缝集成,这个我想目前所有数据处理库都应该是这样吧
上面咱们介绍一下 pytimek 的应用办法,首先应用 pip 装置:
pip install pytimetk
#或者间接从 Github 装置最新版
pip install git+https://github.com/business-science/pytimetk.git
咱们将应用一个假如的温度数据集。
import pytimetk
import pandas as pd
# Sample dataset
data = {'Date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04'],
'Temperature': [22, 24, 23, 25]}
df = pd.DataFrame(data)
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
在这个例子中,咱们首先创立一个简略的四天温度数据集。
基本功能
而后咱们应用 pytimek 的 moving_average 函数来计算窗口大小为 2 的挪动平均线,这是一个工夫序列剖析库的基本操作。
moving_avg = pytimetk.moving_average(df, window=2)
print(moving_avg)
异样检测是工夫序列剖析的一个要害方面,能够辨认可能重要变动或事件的异样模式
from pytimetk import detect_anomalies
anomalies = detect_anomalies(df, sensitivity=3)
print(anomalies)
这个函数依据统计阈值查看异样数据,能够应用灵敏度 sensitivity 参数对其进行调整,满足特定需要。
pytimmetk 还能够间接应用不同的工夫序列模型和办法进行建模并且进行比拟,这样咱们可能间接评估模型在特定数据集的性能
from pytimetk import compare_models
models = ['ARIMA', 'SARIMA', 'Prophet']
results = compare_models(df, models=models)
print(results)
pytimek 的可视化也非常简单:
from pytimetk.visualize import plot_time_series
plot_time_series(df)
高级技术
pytimmetk 还反对高级工夫序列剖析技术,如因果关系、协整和状态空间模型等等:
比如说协整
from pytimetk.advanced import cointegration_test
cointegration_results = cointegration_test(df1, df2)
去噪声:
from pytimetk.preprocessing import denoise_data
clean_df = denoise_data(df)
季节性检测
from pytimetk import detect_seasonality
seasonality = detect_seasonality(df, column='Temperature', period=365)
咱们能够通过设置 period 来检测给定时间段内的周期性趋势
总结
pytimmetk 是一个功能强大的工具包,它简化了工夫序列剖析的过程,整合了工夫序列剖析须要的个别和简单的函数,咱们间接拿来就能够应用,并且这个库是刚刚公布不久,有趣味的话能够关注它的近期倒退。
https://avoid.overfit.cn/post/f711e907112c4e1a88023ae6d291e816
作者:Ravi M