时序预测归一化

在做预测问题时,当数据的量纲存在较大差异时,归一化非常重要。以下问题是我遇到的:

1.多个维度的数据,是对每一个样本进行归一化?还是对每一个维度(属性)归一化

2.训练集和测试集放在一起归一化?还是分开归一化?

问题1:

对每一个属性进行归一化,从sklearn的文档中提到:MinMaxScaler,This estimator scales and translates each feature individually such that it is in the given range on the training set.

在上一篇博客中也使用了空气污染预测做了实验。

问题2:在搜集到的资料中,大部分都是将训练集和测试集放在一起归一化,可是这样测试集就对模型有了影响,只要换了测试集训练出来的模型就不一样。当使用训练好的模型去预测其他的数据集时,不知道是否合适。而且如果这样的话,每次一更换测试集就需要将其余训练集放在一起重新归一化,再去训练新的模型。目前为了更好的结果,我采用的是这种方法。

也有人提到用归一化训练集的最大最小值来归一化预测值,这样的话预测值就会被限定在一个范围,这样做的原因是:训练集和测试集应该是独立同分布的,有理由认为最大值和最小值就出现在训练集中。但在用python实现时,发现这样操作并不是很方便。

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PyTorch是一个流行的深度学习框架,其中包含了许多用于时序预测的模型,其中包括LSTM(长短期记忆)神经网络。LSTM是一种递归神经网络,能够处理和预测时序数据,并且在一些应用中表现优异。 在PyTorch中使用LSTM进行时序预测的步骤如下: 1. 数据预处理:首先,需要时序数据进行预处理。这包括加载和归一化数据,以及将数据划分为输入序列和目标序列。输入序列是用于预测的历史数据,而目标序列是要预测的未来数据。 2. 模型定义:接下来,需要定义LSTM模型。可以使用PyTorch的nn.LSTM类来创建一个LSTM层。通常,LSTM需要指定输入维度、隐藏层维度和输出维度等参数。 3. 模型训练:在训练之前,需要定义损失函数和优化器。通常,可以使用均方误差(MSE)作为损失函数,用于衡量预测值与真实值之间的差距。对于优化器,可以选择Adam等常见的优化算法。然后,通过迭代训练数据,逐渐调整模型的权重,找到最佳的参数配置。 4. 模型预测:在模型训练完成后,可以使用它来进行时序预测。将输入序列输入到训练好的模型中,可以得到对未来数据预测结果。 5. 评估模型:最后,需要评估模型的性能。可以使用各种指标,如均方根误差(RMSE)或平均绝对百分比误差(MAPE)等,来评估预测结果与真实数据之间的误差。 PyTorch提供了许多灵活的工具和函数,使得使用LSTM进行时序预测变得简单。通过适当地配置和训练模型,可以实现准确且可靠的时序预测
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值