Tensorflow 时间序列数据模型 [数据的处理 + DNN预测模型实现]

生活中常常会碰到各种各样的时间序列预测问题,如商场人流量的预测问题、商品价格的预测、股价的预测、等等。
这些问题都,已知过去时间内的数据,希望你从中“发现”规律,预测未来值,并且数据按照时间顺序展开。

本文讲解TensorFlow 处理这类问题的基本处理方法。
主要讲解:
(一) 我们对这类问题的数据的处理方法,以方便输入给后续的网络模型。
(二) DNN模型对此类问题的处理,达到入门的效果。


数据处理:
在这里插入图片描述
假设上图为某类时间序列问题的历史数据,我们希望“学习”这类数据的规律,预测未来的数据。
为了将数据输入网络,我们需要将数据处理为神经网络需要的 (特征,标签) 类型的数据。

对于时间序列问题,我们引入一个 数据窗口 的概念,如上图绿色框所示。
假设窗口的大小(超参数)为:20, 则表示我们将过去20天的数据作为“特征”数据, 如而将当前的数据作为**“标签”**数据。
遍历所以已知历史数据,我们就可以得到我们所需的数据集。

小栗子: 我们以[0,1,2,…,9]的列表(简单序列数据)为例子,使用以上处理方法获得我们所需的数据集
1:导入所需包,确保TensorFlow版本为2.0

!pip install tf-nightly-2.0-preview
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
print(tf.__version__)

在这里插入图片描述
2:生成简单的序列数据[0,1,…,9]

dataset = tf.data.Dataset.range(10)
for val in dataset:
   print(val.numpy())

在这里插入图片描述
3:获得窗口数据,窗口大小为5(实际为4,最后一个为标签数据)

dataset = tf.data.Dataset.range(10)
dataset = dataset.window(5, shift=1)
for window_dataset in dataset:
  for va
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值