| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Matlab用深度学习循环神经网络RNN长短期记忆LSTM进行波形时间序列数据预测 -> 正文阅读 |
|
[人工智能]Matlab用深度学习循环神经网络RNN长短期记忆LSTM进行波形时间序列数据预测 |
原文链接:http://tecdat.cn/?p=27279?原文出处:拓端数据部落公众号此示例说明如何使用长短期记忆 (LSTM) 网络预测时间序列。 相关视频:?LSTM神经网络架构和原理及其在Python中的预测应用 LSTM 网络是一种循环神经网络 (RNN),它通过循环时间步长和更新网络状态来处理输入数据。网络状态包含在所有先前时间步长中记住的信息。您可以使用 LSTM 网络使用先前的时间步长作为输入来预测时间序列或序列的后续值。要训??练 LSTM 网络进行时间序列预测,请训练具有序列输出的回归 LSTM 网络,其中响应(目标)是训练序列,其值偏移了一个时间步长。换句话说,在输入序列的每个时间步,LSTM 网络学习预测下一个时间步的值。 有两种预测方法:开环预测和闭环预测。
此图显示了一个示例序列,其中包含使用闭环预测的预测值。 此示例使用波形数据集,其中包含 2000 个具有三个通道的不同长度的综合生成波形。该示例训练 LSTM 网络以使用闭环和开环预测在给定先前时间步长的值的情况下预测波形的未来值。 加载数据查看前几个序列的大小。
查看声道数量。为了训练网络,每个序列必须具有相同数量的声道。
可视化图中的前几个序列。
将数据划分为训练集和测试集。将 90% 的观察结果用于训练,其余用于测试。 准备训练数据要预测序列的未来时间步长的值,请将目标指定为训练序列,其值移动一个时间步长。换句话说,在输入序列的每个时间步,LSTM 网络学习预测下一个时间步的值。预测变量是没有最终时间步长的训练序列。
为了更好地拟合并防止训练发散,请将预测变量和目标归一化以具有零均值和单位方差。进行预测时,还必须使用与训练数据相同的统计数据对测试数据进行标准化。要轻松计算所有序列的均值和标准差,请在时间维度上连接序列。 定义 LSTM 网络架构创建一个 LSTM 回归网络。
指定训练选项指定训练选项。
训练神经网络指定的训练选项训练 LSTM 网络?。 测试网络使用与训练数据相同的步骤准备用于预测的测试数据。 使用从训练数据计算的统计数据对测试数据进行标准化。将目标指定为测试序列,其值偏移一个时间步,将预测变量指定为没有最终时间步的测试序列。
使用测试数据进行预测。指定与训练相同的填充选项。
为了评估准确性,对于每个测试序列,计算预测和目标之间的均方根误差 (RMSE)。
在直方图中可视化错误。较低的值表示较高的准确性。 计算所有测试观测值的平均 RMSE。
预测未来时间步长给定输入时间序列或序列,要预测多个未来时间步的值。对于每个预测,使用之前的预测作为函数的输入。 在图中可视化其中一个测试序列。
开环预测开环预测仅使用输入数据预测序列中的下一个时间步长。在对后续时间步进行预测时,您会从数据源中收集真实值并将其用作输入。例如,假设您想使用在时间步 1 到 t-1 中收集的数据来预测序列的时间步 t 的值。要对时间步 t+1 进行预测,请等到您记录时间步 t 的真实值并将其用作输入以进行下一个预测。当您在进行下一次预测之前有真实值要提供给网络时,请使用开环预测。 使用输入数据的前 75 个时间步更新网络状态。
为了预测进一步的预测,更新网络状态。通过循环输入数据的时间步并将它们用作网络的输入来预测测试观察的剩余时间步的值。 将预测值与目标值进行比较。
闭环预测闭环预测通过使用先前的预测作为输入来预测序列中的后续时间步长。在这种情况下,模型不需要真实值来进行预测。例如,假设您想仅使用在时间步 1 到 t-1 中收集的数据来预测序列的时间步 t 到 t+k 的值。要对时间步 i 进行预测,请使用时间步 i-1 的预测值作为输入。使用闭环预测来预测多个后续时间步长,或者当您在进行下一个预测之前没有向网络提供真实值时。 通过首先使用函数重置状态来初始化网络状态?,然后?使用输入数据的前几个时间步长
为了预测进一步的预测,循环时间步长并更新网络状态。通过迭代地将先前的预测值传递给网络来预测接下来的 200 个时间步长。由于网络不需要输入数据来进行任何进一步的预测,因此您可以指定任意数量的时间步长进行预测。
在图中可视化预测值。
闭环预测允许您预测任意数量的时间步长,但与开环预测相比可能不太准确,因为网络在预测过程中无法访问真实值。 最受欢迎的见解 1.用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类 2.Python中利用长短期记忆模型LSTM进行时间序列预测分析 – 预测电力消耗数据 4.Python中用PyTorch机器学习分类预测银行客户流失模型 6.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:31:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |