今天咱们聊聊用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

一文熟悉新版llama.cpp使用并本地部署LLAMA

一文熟悉新版llama.cpp使用并本地部署LLAMA

0. 简介 关于UCloud(优刻得)旗下的compshare算力共享平台 UCloud(优刻得)是中国知名的中立云计算服务商,科创板上市,中国云计算第一股。 Compshare GPU算力平台隶属于UCloud,专注于提供高性价4090算力资源,配备独立IP,支持按时、按天、按月灵活计费,支持github、huggingface访问加速。 使用下方链接注册可获得20元算力金,免费体验10小时4090云算力 https://www.compshare.cn/?ytag=GPU_lovelyyoshino_LZEEKLOG_ZEEKLOG_display 最近是快到双十一了再给大家上点干货。去年我们写了一个大模型的系列,经过一年,大模型的发展已经日新月异。这一次我们来看一下使用llama.cpp这个项目,其主要解决的是推理过程中的性能问题。主要有两点优化: * llama.cpp 使用的是 C 语言写的机器学习张量库 ggml llama.cpp 提供了模型量化的工具 此项目的牛逼之处就是没有GPU也能跑LLaMA模型。llama.

SYCL并行计算揭秘:Intel GPU在llama.cpp中的性能突破

当传统CUDA生态遇到Intel GPU架构,一场关于异构计算的深度变革正在悄然发生。在Arch Linux平台上,SYCL后端为llama.cpp带来了全新的加速可能,实测显示在Intel Arc A770上,7B模型的推理速度相比CPU实现了21%-87%的性能提升。 【免费下载链接】llama.cppPort of Facebook's LLaMA model in C/C++ 项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp 技术架构解析:SYCL如何重构GPU加速范式 SYCL(发音为"sickle")作为一种现代异构并行编程模型,其核心优势在于跨平台兼容性与内存管理智能化。与传统的OpenCL相比,SYCL通过基于C++17的单一源代码编程模式,实现了对Intel Xe架构GPU的深度优化。 内存统一管理机制 SYCL的最大创新在于其统一共享内存(

Llama Factory微调优化:如何选择最佳的超参数

Llama Factory微调优化:如何选择最佳的超参数 微调大语言模型(LLM)是让模型适应特定任务的关键步骤,而选择合适的超参数往往决定了微调效果的好坏。作为一名刚接触Llama模型微调的研究人员,面对众多超参数选项时可能会感到无从下手。本文将基于LLaMA-Factory框架,分享如何选择最佳超参数的实用指南,帮助你在有限资源下获得更好的微调效果。 这类任务通常需要GPU环境支持,目前ZEEKLOG算力平台提供了包含LLaMA-Factory的预置镜像,可快速部署验证。下面我们将从关键参数解析、显存优化策略到典型配置方案,一步步拆解超参数选择的奥秘。 关键超参数解析与作用 1. 学习率(Learning Rate) * 作用:控制模型参数更新的步长,是最重要的超参数之一 * 典型范围: * 全参数微调:1e-5到5e-5 * LoRA微调:1e-4到5e-4 * 调整建议: * 初始可设为3e-5(全参)或3e-4(LoRA) * 观察loss曲线,如果震荡剧烈则降低学习率 2. 批量大小(Batch Size) * 显存影响:与显存消耗成正比关系

VibeVoice Pro多模态扩展教程:与Whisper+Llama3构建语音交互链

VibeVoice Pro多模态扩展教程:与Whisper+Llama3构建语音交互链 1. 引言:从语音生成到语音交互的跨越 想象一下这样的场景:你对着设备说话,它不仅能听懂你的意思,还能用自然的人声回应你,整个过程流畅得就像和真人对话一样。这就是我们要实现的语音交互链——将语音识别、语言理解和语音合成三个环节完美衔接。 VibeVoice Pro作为这个链条的最后一环,承担着将文本转换为自然语音的关键任务。与其他语音合成工具不同,它的核心优势在于实时流式处理能力。传统TTS需要等待整段文本生成完毕才能播放,而VibeVoice Pro实现了音素级别的流式输出,首包延迟低至300毫秒,让交互体验更加自然。 本教程将带你一步步搭建完整的语音交互系统,让你快速掌握多模态AI应用的开发技巧。 2. 环境准备与组件部署 2.1 硬件与基础环境要求 在开始之前,请确保你的系统满足以下要求: * GPU配置:NVIDIA RTX 3090/4090或同等级别显卡 * 显存需求:最低8GB,推荐12GB以上以确保流畅运行 * 系统环境:Ubuntu 20.04+或兼容的L