📚 个人网站:ipengtao.com
大家好,今天为大家分享一个超强的 Python 库 - darts。
Github地址:https://github.com/unit8co/darts
时间序列数据在各行各业中都扮演着重要的角色。无论是股票价格、气象数据、销售记录还是其他领域的数据,时间序列分析和预测都可以帮助我们了解数据的趋势、周期性和未来走向。Python Darts 是一个强大的库,专门用于时间序列分析和预测。本文将详细介绍 Python Darts,并提供丰富的示例代码,帮助大家了解如何使用这个工具来处理时间序列数据。
Python Darts(Data Analysis of Real-Time Streams)是一个用于时间序列分析和预测的开源库。它提供了一组强大的工具和算法,帮助数据科学家、分析师和工程师处理时间序列数据。Darts 是一个灵活且易于使用的工具,支持多种时间序列问题,包括预测、异常检测、时间序列生成和模型评估。
要开始使用 Python Darts,需要在 Python 环境中安装它。可以使用 pip 包管理器来安装 Darts。
在终端或命令提示符中运行以下命令:
pip install darts
安装完成后,可以在 Python 代码中导入 Darts 并开始使用它。
import darts
通过一个简单的示例来了解 Python Darts 的基本用法。假设有一组月度销售数据,希望使用时间序列分析来预测未来几个月的销售额。
首先,需要创建一个时间序列对象并加载销售数据。
import pandas as pd
from darts import TimeSeries
# 创建销售数据
data = pd.Series([100, 120, 140, 160, 180, 200],
index=pd.date_range(start='2022-01-01', periods=6, freq='M'))
# 创建时间序列对象
sales_ts = TimeSeries.from_series(data)
在上述代码中,使用 Pandas 创建了一个包含销售数据的 Series 对象,并将其转换为 Darts 的时间序列对象。
为了进行时间序列预测,通常需要将数据划分为训练集和测试集。将前四个月的数据用于训练,后两个月的数据用于测试。
train, test = sales_ts.split_after(pd.Timestamp('2022-04-30'))
接下来,可以选择一个时间序列模型并在训练集上拟合模型。
from darts.models import ExponentialSmoothing
# 初始化并拟合指数平滑模型
model = ExponentialSmoothing()
model.fit(train)
现在,可以使用训练好的模型来预测未来的销售额。
from darts import forecasting
# 预测未来两个月的销售额
forecast = model.predict(n=2)
# 显示预测结果
print(forecast)
除了基本用法外,Python Darts 还提供了一些进阶功能,以满足更复杂的时间序列分析需求。
Darts 提供了自动模型选择功能,可以选择最适合您数据的时间序列模型。
from darts.utils import best_model
# 自动选择最佳模型
best_model = best_model(train, models=[
ExponentialSmoothing(),
forecasting.ARIMA(),
forecasting.NaiveSeasonal(),
])
# 拟合最佳模型
best_model.fit(train)
Darts 支持多种性能评估指标,可以更全面地评估模型的性能。
from darts.metrics import rmse, mape
# 计算均方根误差(RMSE)
rmse_score = rmse(test, forecast)
# 计算平均绝对百分比误差(MAPE)
mape_score = mape(test, forecast)
# 打印性能评估指标
print(f'RMSE: {rmse_score:.2f}')
print(f'MAPE: {mape_score:.2%}')
Python Darts 是一个强大的时间序列分析和预测工具,适用于各种时间序列数据和问题。无论是初学者还是专业数据科学家,Darts 都可以处理和分析时间序列数据。希望本文提供的示例代码和基本用法可以帮助大家入门 Python Darts,进一步探索时间序列分析的世界。
📚 个人网站:ipengtao.com
如果还想要领取更多更丰富的资料,可以点击文章下方名片,回复【优质资料】,即可获取 全方位学习资料包。
点击文章下方链接卡片,回复【优质资料】,可直接领取资料大礼包。