时序预测 | MATLAB实现ARMA自回归移动平均模型时间序列预测

时序预测 | MATLAB实现ARMA自回归移动平均模型时间序列预测

目录

预测效果




基本介绍

MATLAB实现ARMA时间序列预测(完整源码和数据)

本程序基于MATLAB的armax函数实现arma时间序列预测;

实现了模型趋势分析、序列平稳化、AIC准则模型参数识别与定阶、预测结果与误差分析过程,逻辑清晰。

数据为144个月的数据集,周期为一年,最终实现历史数据的预测和未来两年数据的预报!

基于自回归移动平均模型时间序列预测.

评价指标包括:MAE、RMSE和MAPE等,代码质量极高,方便学习和替换数据。要求2018版本及以上。

程序设计

clike 复制代码
%%  参数设置
model_arima = arima(p_arima, d_arima, q_arima);
fit_arima = estimate(model_arima, trainData);
forecast_arima = forecast(fit_arima, numel(testData));
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
% 计算模型拟合优度
fit_ar_test = 1 - sum((testData - forecast_ar).^2) / sum((testData - mean(testData)).^2);
fit_arma_test = 1 - sum((testData - forecast_arma).^2) / sum((testData - mean(testData)).^2);
fit_arima_test = 1 - sum((testData - forecast_arima).^2) / sum((testData - mean(testData)).^2);
------------------------------------------------
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/132632834
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[S,Q] = size(T);
% Randomly Generate the Input Weight Matrix
IW = rand(N,R) * 2 - 1;
% Randomly Generate the Bias Matrix
B = rand(N,1);
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BiasMatrix = repmat(B,1,Q);
% Calculate the Layer Output Matrix H
tempH = IW * P + BiasMatrix;
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
switch TF
    case 'sig'
        H = 1 ./ (1 + exp(-tempH));
    case 'sin'
        H = sin(tempH);
    case 'hardlim'
        H = hardlim(tempH);
end
% Calculate the Output Weight Matrix
LW = pinv(H') * T';
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

参考资料

[1] https://blog.csdn.net/article/details/126072792?spm=1001.2014.3001.5502

[2] https://blog.csdn.net/article/details/126044265?spm=1001.2014.3001.5502

相关推荐
Desire.9842 天前
Python 数学建模——ARMA 时间序列分析
python·数学建模·时间序列分析·arma
机器学习之心5 天前
时序预测 | Matlab实现GA-CNN遗传算法优化卷积神经网络时间序列预测
时间序列预测·ga-cnn·遗传算法优化卷积神经网络
机器学习之心5 天前
时序预测 | Matlab实现PSO-CNN粒子群优化卷积神经网络时间序列预测
matlab·cnn·时间序列预测·pso-cnn·粒子群优化卷积神经网络
机器学习之心9 天前
多维时序 | Matlab基于TCN-Transformer+LSTM双输入神经网络时间序列预测
神经网络·matlab·lstm·transformer·时间序列预测·tcn-transformer
少喝冰美式21 天前
时间序列预测+NLP大模型新作:为时序预测自动生成隐式Prompt
人工智能·自然语言处理·llm·nlp·prompt·时间序列预测·ai大模型
顶呱呱程序2 个月前
2-34 小波神经网络采用传统 BP 算法
人工智能·神经网络·算法·matlab·时间序列预测·遗传算法优化小波神经网络·ga-wnn预测算法
机器学习之心2 个月前
Transformer-LSTM预测 | Matlab实现Transformer-LSTM时间序列预测
matlab·lstm·transformer·时间序列预测
简简单单做算法3 个月前
基于PSO粒子群优化的CNN-LSTM的时间序列回归预测matlab仿真
人工智能·cnn·lstm·cnn-lstm·时间序列预测·pso粒子群优化
简简单单做算法4 个月前
基于CNN+LSTM深度学习网络的时间序列预测matlab仿真,并对比CNN+GRU网络
深度学习·cnn·lstm·时间序列预测·cnn+lstm·cnn+gru
羽星_s5 个月前
Chronos:学习时间序列的大语言模型
深度学习·大语言模型·时间序列预测·chronos