news 2026/5/1 8:18:43

基于带外源输入的非线性自回归网络(NARX)的时间序列预测 NARX时间序列 matlab 代码 注

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于带外源输入的非线性自回归网络(NARX)的时间序列预测 NARX时间序列 matlab 代码 注

基于带外源输入的非线性自回归网络(NARX)的时间序列预测 NARX时间序列 matlab 代码 注:暂无Matlab版本要求 -- 推荐 2018B 版本及以上

最近在折腾时间序列预测,发现NARX网络对付非线性数据效果挺有意思。这玩意儿全名叫带外源输入的非线性自回归网络,听着复杂其实跟咱们平时用的循环神经网络有点像,但多了外部变量输入这个buff。

先上段Matlab实战代码热热身:

% 数据准备(假设已有时间序列数据) load engine_data % 自带示例数据集 inputSeries = con2seq(exInput); % 外部输入序列 targetSeries = con2seq(exOutput); % 目标输出序列 % 创建NARX网络 delay = 2; % 延迟阶数 hiddenLayerSize = 10; narxNet = narxnet(1:delay,1:delay,hiddenLayerSize); % 数据预处理 [Xs,Xi,Ai,Ts] = preparets(narxNet,inputSeries,{},targetSeries); % 训练配置 narxNet.divideFcn = 'divideblock'; % 按块划分数据集 narxNet.trainParam.epochs = 100; narxNet.trainParam.min_grad = 1e-5; % 开练! [net,tr] = train(narxNet,Xs,Ts,Xi,Ai); % 预测未来三步 prediction = net(Xs,Xi,Ai);

这里有几个关键点值得唠唠。延迟阶数相当于给网络开了个时间窗口,比如delay=2时网络会同时看t-1和t-2时刻的数据。hiddenLayerSize别设太大,我之前试过设50结果过拟合得亲妈都不认识,10-20层足够应对多数场景。

数据预处理里的preparets函数是个隐藏大佬,自动帮咱们处理输入输出对齐问题。要是自己手动处理时间延迟数据,代码量至少翻三倍。不过要注意输出序列会比输入短delay个点,新手容易在这儿翻车。

训练时强烈推荐用divideblock代替默认的随机划分,时间序列讲究时间连贯性,乱序划分会让模型学了个寂寞。早停法(Epochs设个合理值)也是个防过拟合的利器,毕竟这网络的学习能力堪比黑洞,稍不留神就把噪声都吃进去了。

预测部分有个坑需要注意:当用预测值继续滚动预测时,记得把网络输出重新接入输入层。这里给个多步预测的扩展代码:

% 转成开环网络做多步预测 narxNetClosed = narxNet; narxNetOpen = removedelay(narxNetClosed); [predictionsOpen,xiOpen,aiOpen] = narxNetOpen(Xs,Xi,Ai); % 可视化对比 figure plot(cell2mat([targetSeries; predictionsOpen])) legend('真实值','预测值') title('NARX预测效果')

这个removedelay操作相当于把闭环改成开环,让网络能持续用自己预测的结果作为下一步输入。不过实际用起来会发现预测误差会逐渐累积,所以长期预测还是要配合其他方法。

最后说下数据归一化这个玄学问题。虽然示例代码里没体现,但遇到量纲差异大的输入特征时,建议加上:

% 手动归一化 inputSeries = (inputSeries - mean(inputSeries))./std(inputSeries); targetSeries = (targetSeries - mean(targetSeries))./std(targetSeries);

别完全依赖工具箱自带的归一化,特别是当训练集和测试集分布不一致时,手动控制更靠谱。我上次有个项目没注意这个细节,预测结果直接飞出了银河系。

总的来说NARX网络就像个带记忆的智能漏斗,能把时间信息和外部变量搅和在一起榨出预测规律。不过别指望它通吃所有场景,遇到高频震荡数据还是得上LSTM之类的专业选手。下次有机会再聊聊怎么用NARX网络预测股票走势——当然,亏了别找我(手动狗头)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:44:24

HY-MT1.5-1.8B与商业API对比:同规模模型翻译质量全面评测

HY-MT1.5-1.8B与商业API对比:同规模模型翻译质量全面评测 1. 引言 1.1 开源翻译模型的崛起背景 随着全球化进程加速,跨语言沟通需求激增,高质量机器翻译成为企业出海、内容本地化和多语言服务的核心基础设施。传统商业翻译API(如…

作者头像 李华
网站建设 2026/5/1 5:50:43

Hunyuan-HY-MT1.5入门必看:首次部署必知的10个核心参数详解

Hunyuan-HY-MT1.5入门必看:首次部署必知的10个核心参数详解 混元翻译模型(Hunyuan-HY-MT1.5)是腾讯开源的新一代大语言翻译模型,专为多语言互译场景设计。该系列包含两个主力模型:HY-MT1.5-1.8B 和 HY-MT1.5-7B&#…

作者头像 李华
网站建设 2026/5/1 5:49:48

Qwen3-VL图像描述生成:5分钟云端部署,效果惊艳

Qwen3-VL图像描述生成:5分钟云端部署,效果惊艳 引言:摄影师的好帮手 作为一名摄影师,你是否经常为作品描述绞尽脑汁?传统的在线工具生成的描述往往千篇一律,缺乏对画面细节的精准捕捉。今天我要介绍的Qwe…

作者头像 李华
网站建设 2026/5/1 5:50:44

Qwen3-VL多语言支持实测:中文图片理解最佳,1块钱快速验证

Qwen3-VL多语言支持实测:中文图片理解最佳,1块钱快速验证 1. 为什么你需要关注Qwen3-VL的多语言能力 如果你正在开发一款面向全球市场的App,特别是需要处理图片内容的出海应用,那么多语言图片理解能力就是你的刚需。想象一下&am…

作者头像 李华
网站建设 2026/5/1 5:47:01

HY-MT1.5-1.8B如何节省成本?边缘设备部署省钱实战攻略

HY-MT1.5-1.8B如何节省成本?边缘设备部署省钱实战攻略 在大模型时代,翻译模型的参数规模不断攀升,但随之而来的高昂部署成本也让许多中小企业望而却步。腾讯开源的HY-MT1.5-1.8B翻译模型,正是在这一背景下应运而生——它以仅1.8B…

作者头像 李华
网站建设 2026/5/1 8:01:19

Qwen3-VL原型开发:1人初创公司如何快速验证MVP?

Qwen3-VL原型开发:1人初创公司如何快速验证MVP? 1. 为什么选择Qwen3-VL开发智能相册? 作为一名Solo创业者,你可能正在寻找一个既能理解图片内容又能生成自然语言描述的AI工具。Qwen3-VL正是这样一个多模态大模型,它能…

作者头像 李华