首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间序列预测中序列长度与批量大小的差异

时间序列预测中序列长度与批量大小的差异
EN

Data Science用户
提问于 2020-12-18 10:09:49
回答 1查看 3.3K关注 0票数 2

我正在使用Keras进行时间序列预测,并且我试图了解有关时间序列预测的官方网站上的教程,您可以在这里找到(https://keras.io/examples/timeseries/timeseries_天气_预测/)。

它们使用一个名为keras.preprocessing.timeseries_dataset_from_array的keras方法,它具有以下参数(这里是一个文档https://www.tensorflow.org/api_docs/python/tf/keras/预处理/时序_数据集_从…_数组):

代码语言:javascript
复制
    dataset_train = keras.preprocessing.timeseries_dataset_from_array(
    x_train,
    y_train,
    sequence_length=sequence_length,
    sampling_rate=step,
    batch_size=batch_size,
)

所以我的问题是,序列长度和批次大小之间有什么区别。我认为序列是滑动窗口的大小(x特征和一个目标y值)。但是批次的大小是多少?不幸的是,我无法查看此方法的输出,因为

代码语言:javascript
复制
   print(dataset_train) or 
   print(dataset_train.head()) 

不向我展示数据,我也不知道其他函数如何查看该方法的输出。

你们中有没有人对这种方法有经验,或者对顺序和批次一般都有经验?我很感谢你的每一条评论。

EN

回答 1

Data Science用户

发布于 2021-01-12 14:21:10

让我们取一个TS数据= 1、2、3、4、5、7、8、9、10

用这些参数调用函数

sequence_length=5, sampling_rate=1, sequence_stride=1, shuffle=False, batch_size=2

shuffle, batch_size在TS数据创建中没有任何作用。当您在返回的数据集上迭代时,它将生效。

在这种情况下,我们将有以下数据点,

1,2,3,4,5

2、3、4、5、6

3、4、5、6、7

4、5、6、7、8

5、6、7、8、9

6、7、8、9、10

batch_size

当您在此数据集上进行迭代时,您将在每次迭代中收到2条记录。

如果是shuffle=True,记录将在批处理之前被洗牌。

代码语言:javascript
复制
for batch in dataset:
  inputs, targets = batch

在上面的片段中,输入将是一批记录,而不仅仅是一条记录。如果需要的话,您可以使用batch_size=1。

targets

与数据中的时间步骤相对应的目标。它应该与数据具有相同的长度。目标我应该是与从索引i开始的窗口相对应的目标(参见下面的示例2)。如果没有目标数据,则不传递任何数据(在本例中,数据集只生成输入数据)

这是一个通用的函数。

它不是根据某种逻辑,即自回归方法来确定目标。它期望目标将被提供,否则,它只会返回预测器。

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/86857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档