CNN实现时间序列预测
工具集
Python3.8
PyTorch1.10
Jupyter6.3.0
具体安装过程就不多赘述了:)
数据集介绍
本次实验使用的数据集是关于乙醇年销售额数据,该数据集是一个单变量时间序列,数据集链接在本文末尾。
数据集格式:
数据处理
- 加载数据集
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
Dataset = pd.read_csv('..\data\Alcohol_Sales.csv',
index_col=0,parse_dates=True)
- 查看数据集
len(Dataset)
Dataset.head()
plt.figure(figsize=(12,4))
plt.grid(True)
plt.plot(df['S4248SM144NCEN'])
plt.show()
- 数据预处理
y = df['S4248SM144NCEN'].values.astype(float)
test_size = 12
# 划分训练和测试集,最后12个值作为测试集
train_set = y[:-test_size]
test_set = y[-test_size:]
from sklearn.preprocessing import MinMaxScaler
# 归一化处理
scaler = MinMaxScaler(feature_range=(-1, 1))
train_norm = scaler.fit_transform(train_set.reshape(-