今天咱们聊聊用MATLAB玩时间序列预测的野路子。别被那些AR、ARIMA之类的缩写吓到,说白了就是找规律猜未来的游戏。直接上代码更实在,咱边写边唠

今天咱们聊聊用MATLAB玩时间序列预测的野路子。别被那些AR、ARIMA之类的缩写吓到,说白了就是找规律猜未来的游戏。直接上代码更实在,咱边写边唠

几种时间序列预测方法(MATLAB R2021B) 算法运行环境为MATLAB R2021B,执行几种时间序列预测方法,包括: 1) Autoregression (AR) 2) Moving Average 3) Autoregressive Moving Average 4) Autoregressive Integrated Moving Average (ARIMA) 5) Seasonal Autoregressive Integrated Moving-Average (SARIMA) 6) Seasonal Autoregressive Integrated Moving Average with Exogenous Regressors (SARIMAX) 7) Vector Autoregression (VAR) 8) GARCH Model 9) Glostan, Jagannathan and Runkle GARCH Model

先整点数据热身。假设手头有个股票收盘价序列,长度500天:

data = cumsum(randn(500,1)*0.5 + 0.01) + 50; % 带趋势的随机游走 plot(data) title('假装这是股票价格')

这串随机数生成器造的数据有微弱正趋势,标准差0.5,初始值50。cumsum让数据有持续性特征,符合金融时间序列特性。

AR模型实战

自回归的核心就是拿历史数据当预测依据。比如用前3天的数据预测明天:

Mdl = arima('ARLags',1:3); EstMdl = estimate(Mdl, data); [YF, YMSE] = forecast(EstMdl, 5, data); % 预测未来5天

这里'ARLags'参数指定滞后阶数,1:3表示用t-1,t-2,t-3时刻的值。estimate函数会返回模型参数估计值,注意MATLAB自动做了标准化处理。预测时YMSE是预测方差,可以画置信区间。

ARIMA进阶版

加上差分处理非平稳数据更带劲:

Mdl = arima(2,1,1); % AR阶2,差分阶1,MA阶1 EstMdl = estimate(Mdl, data); [YF, YMSE] = forecast(EstMdl, 5, 'Y0', data);

差分阶数1表示做一阶差分消除趋势。模型训练时注意看命令行输出的参数显著性,p值小于0.05的项才有保留价值。如果MA项系数不显著,可以降阶试试。

GARCH家族玩波动

几种时间序列预测方法(MATLAB R2021B) 算法运行环境为MATLAB R2021B,执行几种时间序列预测方法,包括: 1) Autoregression (AR) 2) Moving Average 3) Autoregressive Moving Average 4) Autoregressive Integrated Moving Average (ARIMA) 5) Seasonal Autoregressive Integrated Moving-Average (SARIMA) 6) Seasonal Autoregressive Integrated Moving Average with Exogenous Regressors (SARIMAX) 7) Vector Autoregression (VAR) 8) GARCH Model 9) Glostan, Jagannathan and Runkle GARCH Model

搞金融预测必须处理波动聚集现象:

Mdl = garch('GARCHLags',1,'ARCHLags',1); EstMdl = estimate(Mdl, diff(data)); % 对收益率建模 condVar = infer(EstMdl, diff(data)); % 提取条件方差 plot([diff(data), condVar]) legend('收益率','波动率')

这里用差分后的收益率数据,infer函数能提取波动率估计。GARCH(1,1)模型里,ARCH项反映新息冲击,GARCH项体现波动持续性。如果发现杠杆效应(跌的时候波动更大),可以升级到GJR-GARCH:

Mdl = gjr('GARCHLags',1,'ARCHLags',1,'LeverageLags',1); EstMdl = estimate(Mdl, diff(data));

多了个LeverageLags参数来捕捉不对称效应。回测时要注意,这类模型对参数初值敏感,可能需要多试几次初值设定。

多变量搞事情——VAR模型

当多个时间序列互相影响时:

data_multi = [data, randn(500,1)*2 + 5]; % 伪造第二个变量 Mdl = varm(2,2); % 两个变量,滞后2阶 EstMdl = estimate(Mdl, data_multi); [YF, YMSE] = forecast(EstMdl, 5, data_multi);

varm模型会自动估计变量间的交叉影响。注意数据要先做平稳性检验,可以用MATLAB的adftest做单位根检验。预测时输出的YF是矩阵,每列对应一个变量的预测值。

季节杀器SARIMA

处理像销售额这种有季节波动的:

Mdl = arima('ARLags',1:2,'D',1,'Seasonality',12,... 'MALags',1,'SMALags',12); EstMdl = estimate(Mdl, data);

这里设置季节周期为12(比如月度数据),Seasonality参数自动创建季节性差分。实际操作中要先用季节图判断周期长度,别瞎猜参数。可以用x13as工具做季节调整,再喂给模型。

代码跑完别急着收工,几个避坑指南:

  1. 预测前务必做残差诊断:用lbqtest检验自相关性
  2. 模型对比用AIC/BIC指标,别光看拟合误差
  3. 样本外预测要用滚动窗口验证,防止过拟合
  4. 用parfor加速参数寻优,特别是SARIMAX这种参数多的模型

说到底,时间序列预测就是平衡bias和variance的艺术。没有通吃所有场景的银弹,多备几把刷子,根据数据特征选兵器才是王道。下次遇到震荡市,不妨试试GARCH系模型;要是数据有明显周期规律,SARIMA可能更香。代码只是工具,理解数据内在逻辑才是真功夫。

Read more

Cogito-v1-preview-llama-3B惊艳表现:128k长文本中精准定位跨段落逻辑矛盾

Cogito-v1-preview-llama-3B惊艳表现:128k长文本中精准定位跨段落逻辑矛盾 你有没有遇到过这样的情况?读完一篇很长的报告或文章,总觉得哪里不对劲,前后说法好像有点矛盾,但又说不清楚具体是哪两句话冲突了。或者,在审核一份复杂的合同时,需要逐字逐句地比对不同条款之间是否存在隐藏的逻辑漏洞。 过去,这种工作只能靠人工完成,不仅耗时耗力,还容易因为疲劳而遗漏关键问题。但现在,有一个专门为此而生的AI模型出现了——Cogito-v1-preview-llama-3B。 这个仅有30亿参数的小模型,却拥有一个令人惊叹的“超能力”:它能在长达128k字符的文本中,像侦探一样精准地找出跨越多个段落的逻辑矛盾。今天,我就带你深入了解这个模型的强大之处,看看它是如何工作的,以及你能用它来做什么。 1. 认识Cogito:不只是聊天,更擅长“思考” 你可能用过很多AI聊天模型,它们能回答问题、写文章、写代码,表现都很不错。但Cogito系列模型有些不一样——它们被设计成“会思考的AI”。 1.1 什么是混合推理模型? 简单来说,Cogito模型有两种工作模式: 标

零基础玩转AI绘画:Z-Image-Turbo保姆级教程,5分钟出大片

零基础玩转AI绘画:Z-Image-Turbo保姆级教程,5分钟出大片 你有没有过这样的时刻:脑子里闪过一个绝妙的画面——比如“黄昏时分悬浮在云海之上的玻璃城堡”,手指已经点开绘图软件,却卡在第一步:不知道怎么把脑海里的光、影、质感和情绪,变成一行能让AI听懂的提示词?更别说等渲染、调参数、修废图……还没开始创作,热情先被流程浇灭。 Z-Image-Turbo 极速云端创作室,就是为这种“想画就画”的直觉而生。它不讲模型结构、不聊LoRA微调、不设CFG滑块、不让你选采样器——它只做一件事:你写一句话,它秒出一张电影级高清图。没有黑图、不用调试、不占本地显存,连笔记本电脑都能通过浏览器直接用。本文就是为你量身定制的“零门槛启动指南”,从打开页面到保存第一张作品,全程不超过5分钟。 1. 为什么说Z-Image-Turbo是新手的第一台“AI相机” 1.1 它不是另一个需要折腾的WebUI 市面上很多AI绘画工具,界面像控制台,参数像密码本:CFG Scale、Denoising

AI智能写作终极指南:三步快速生成万字长篇小说的完整教程

AI智能写作终极指南:三步快速生成万字长篇小说的完整教程 【免费下载链接】AI_NovelGenerator使用ai生成多章节的长篇小说,自动衔接上下文、伏笔 项目地址: https://gitcode.com/GitHub_Trending/ai/AI_NovelGenerator 你是否曾经梦想创作一部属于自己的长篇小说,却被复杂的剧情设计、人物塑造和前后连贯性所困扰?现在,AI_NovelGenerator将为你打开智能写作的大门,让创作变得前所未有的简单和高效。 🎯 从零开始的智能写作之旅 想象一下这样的场景:你只需要简单设定故事主题和类型,系统就能自动为你生成完整的世界观、鲜活的角色设定,以及逻辑严密的章节目录。这就是AI_NovelGenerator带给你的创作体验。 第一步:快速环境搭建 git clone https://gitcode.com/GitHub_Trending/ai/AI_NovelGenerator cd AI_NovelGenerator && pip install

vs2022无法正常使用copilot的解决方案

vs2022无法正常使用copilot的解决方案

问题描述 不知道从什么时候开始,在visual studio2022中用copilot一直显示完成你的请求时出现了问题。请重试。 点开显示输出日志发现可能是网络原因,但是我在浏览器打开显示的是404,那就是可以正常连接。 试过很多AI得到的回答无非以下几种: * 设置了代理 * 防火墙 * 网络原因 但是经过排查防火墙我早就关闭了,代理我也没有设置过全局,都是使用的浏览器插件。而网络原因更不太可能了,因为我在vscode中是能正常使用copilot的。 解决方案 今天想再试试AI,我又把上面那一大串的错误复制发给了GPT5.2,然后他给出一系列的测试命令(因为使用的vscode里的copilot,所以只需要一直点允许它就能执行命令并获取执行结果了)。 $ErrorActionPreference='Continue'; Write-Host '=== Env Proxy Vars ==='; gci env: | ? { $_.Name -match 'PROXY|COPILOT' } | sort Name | ft -AutoSize; Write-Host