基于模糊神经网络的时间序列预测(以hopkinsirandeath数据集为例,MATLAB)

模糊神经网络从提出发展到今天,主要有三种形式:算术神经网络、逻辑模糊神经网络和混合模糊神经网络。算术神经网络是最基本的,它主要是对输入量进行模糊化,且网络结构中的权重也是模糊权重;逻辑模糊神经网络的主要特点是模糊权值可以进行逻辑运算操作;混合模糊神经网络是对于基本的模糊神经网络而言,其内的传统函数和模糊权值的运算都是随意的不同的。模糊神经网络发展到今天,已经从理论研究应用到工业生产和人们生活中的各个领域。模糊神经网络已经在模式识别、图像处理、工业控制生产等各个领域取得了不少成果。

鉴于此,采用Takagi Sugeno Kang模糊神经网络对时间序列进行预测,以hopkinsirandeat数据为例进行说明,程序运行环境为MATLAB R2021B。主运行代码如下:

Matlab 复制代码
close all;clc;clear all
dat=load('hopkinsirandeath.txt')';
dat1=load('hopkinsiranconfirmed.txt')';
dat2=load('hopkinsiranrecovered.txt')';

% Nonlinear ARX model to fit
sys = nlarx(dat,64);
sys1 = nlarx(dat1,64);
sys2 = nlarx(dat2,64);

% Compare the simulated output of sys with measured data to ensure it is a good fit.
nstep = 40;
figure;
set(gcf, 'Position',  [50, 200, 1300, 400])
subplot(1,3,1)
compare(dat,sys,nstep);title('Covid Iran Death');
grid on;
subplot(1,3,2)
compare(dat1,sys1,nstep);title('Covid Iran Confirm');
grid on;
subplot(1,3,3)
compare(dat2,sys2,2);title('Covid Iran Recovered');
grid on;
% Forecast the values into the future for a given time horizon K.
% K is number of days 
K = 180;
opt = forecastOptions('InitialCondition','e');
[p,ForecastMSE] = forecast(sys,dat,K,opt);
[p1,ForecastMSE1] = forecast(sys1,dat1,K,opt);
[p2,ForecastMSE2] = forecast(sys2,dat2,K,opt);

datsize=size(dat);datsize=datsize(1,1);
ylbl=datsize+K;
t = linspace(datsize,ylbl,length(p));
figure;
set(gcf, 'Position',  [1, 1, 1000, 950])
subplot(3,1,1)
plot(dat,'--',...
    'LineWidth',1,...
    'MarkerSize',5,...
    'Color',[0,0,0]);
hold on;
plot(t,p,'-.',...
    'LineWidth',2,...
    'MarkerSize',10,...
    'MarkerEdgeColor','r',...
    'Color',[0.9,0,0]);
title('Johns Hopkins Data for Iran COVID Deaths - Red is Forcasted')
xlabel('Days - From Jan 2020 Till Dec 2021','FontSize',12,...
       'FontWeight','bold','Color','b');
ylabel('Number of People','FontSize',12,...
       'FontWeight','bold','Color','b');
   datetick('x','mmm');
legend({'Measured','Forecasted'});
    subplot(3,1,2)
plot(dat1,'--',...
    'LineWidth',1,...
    'MarkerSize',5,...
    'Color',[0,0,0]);
hold on;
plot(t,p1,'-.',...
    'LineWidth',2,...
    'MarkerSize',10,...
    'MarkerEdgeColor','r',...
    'Color',[0.9,0,0]);
title('Johns Hopkins Data for Iran COVID Confirmed - Red is Forcasted')
xlabel('Days - From Jan 2020 Till Dec 2021','FontSize',12,...
       'FontWeight','bold','Color','b');
ylabel('Number of People','FontSize',12,...
       'FontWeight','bold','Color','b');
   datetick('x','mmm');
legend({'Measured','Forecasted'});
subplot(3,1,3)
plot(dat2,'--',...
    'LineWidth',1,...
    'MarkerSize',5,...
    'Color',[0,0,0]);
hold on;
plot(t,p2,'-.',...
    'LineWidth',2,...
    'MarkerSize',10,...
    'MarkerEdgeColor','r',...
    'Color',[0.9,0,0]);
title('Johns Hopkins Data for Iran COVID Recovered - Red is Forcasted')
xlabel('Days - From Jan 2020 Till Dec 2021','FontSize',12,...
       'FontWeight','bold','Color','b');
ylabel('Number of People','FontSize',12,...
       'FontWeight','bold','Color','b');
   datetick('x','mmm');
legend({'Measured','Forecasted'});
%
finalpredict=[dat;p];
finalpredict1=[dat1;p1];
finalpredict2=[dat2;p2];

%% Predicting original and forcasted data using ANFIS (FCM)
[TrainTargets,TrainOutputs]=fuzzfcm(finalpredict);
figure;
set(gcf, 'Position',  [10, 50, 1100, 300])
Plotit(TrainTargets,TrainOutputs,'ANFIS Predict COVID Deaths');
%
[TrainTargets,TrainOutputs]=fuzzfcm(finalpredict1);
figure;
set(gcf, 'Position',  [50, 100, 1100, 300])
Plotit(TrainTargets,TrainOutputs,'ANFIS Predict COVID Confirmed');
%
[TrainTargets,TrainOutputs]=fuzzfcm(finalpredict2);
figure;
set(gcf, 'Position',  [70, 130, 1100, 300])
Plotit(TrainTargets,TrainOutputs,'ANFIS Predict COVID Recovered');

完整代码:https://mbd.pub/o/bread/mbd-ZJWWm5hv

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
Teacher.chenchong11 分钟前
现代R语言机器学习:Tidymodel/Tidyverse语法+回归/树模型/集成学习/SVM/深度学习/降维/聚类分类与科研绘图可视化
机器学习·回归·r语言
AndrewHZ14 分钟前
【图像处理基石】如何入门色彩评估?
图像处理·人工智能·深度学习·色彩科学·hvs·色彩评估·颜色工程
TomatoSCI14 分钟前
聚类的可视化选择:PCA / t-SNE丨TomatoSCI分析日记
人工智能·机器学习
大咖分享课16 分钟前
深度剖析:最新发布的ChatGPT Agent 技术架构与应用场景
人工智能·openai·智能助手·ai代理·chatgpt agent·自主任务执行
爱吃烤鸡翅的酸菜鱼17 分钟前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
lucky_lyovo26 分钟前
卷积神经网络--网络性能提升
人工智能·神经网络·cnn
liliangcsdn30 分钟前
smolagents - 如何在mac用agents做简单算术题
人工智能·macos·prompt
nju_spy34 分钟前
周志华《机器学习导论》第8章 集成学习 Ensemble Learning
人工智能·随机森林·机器学习·集成学习·boosting·bagging·南京大学
心情好的小球藻1 小时前
Python应用进阶DAY9--类型注解Type Hinting
开发语言·python
星座5281 小时前
基于现代R语言【Tidyverse、Tidymodel】的机器学习方法与案例分析
机器学习·r语言·tidyverse·tidymodel