炸鸡人博客 基本上无害
Posts with the tag 时间序列:

Matplotlib 系列:手动设置时间序列折线图的刻度

前言

Matplotlib 中画折线图用 ax.plot(x, y),当横坐标 x 是时间数组时,例如 datetimenp.datetime64 构成的列表,xy 的组合即一条时间序列。Matplotlib 能直接画出时间序列,并自动设置刻度。下面以一条长三年的气温时间序列为例:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('test.csv', index_col=0, parse_dates=True)
series = df.loc['2012':'2014', 'T']

fig, ax = plt.subplots(figsize=(10, 4))
ax.plot(series.index, series)
ax.set_ylabel('Temperature (℃)')

print(ax.xaxis.get_major_locator())
print(ax.xaxis.get_major_formatter())
<matplotlib.dates.AutoDateLocator object at 0x000001AC6BF89A00>
<matplotlib.dates.AutoDateFormatter object at 0x000001AC6BF89B20>

fig_1

预测的 KPI:RMSE、MAE、MAPE 和 Bias

Nicolas Vandeput 发布在 Towards Data Science 上的文章,同时也是其著作《Data Science for Supply Chain Forecasting》中的一章。

为预测任务挑选一个合适的指标并没有想象中那么简单,所以这次我们来研究一下 RMSE、MAE、MAPE 和 Bias 的优缺点。剧透:MAPE 是其中最差的,别用。

fig1

PyTorch 时间序列预测入门

xkcd

最近学习用 PyTorch 做时间序列预测,发现只有 TensorFlow 官网的教程 把时间窗口的选取和模型的设置讲得直观易懂,故改编如下。本人也只是入门水平,翻译错误之处还请指正。

本文是利用深度学习做时间序列预测的入门教程,用到的模型包括卷积神经网络(CNN)和循环神经网络(RNN)。全文分为两大部分,又可以细分为:

  • 预测单个时间步:
    • 预测一个特征。
    • 预测所有特征。
  • 预测多个时间步:
    • 单发预测:模型跑一次输出所有时间步的结果。
    • 自回归:每次输出一个时间步的预测,再把结果喂给模型得到下一步的预测。

本文用到的数据和 notebook 可以在 GitHub 仓库 找到。