当前位置:   article > 正文

【LSTM预测】基于多元算法结合麻雀算法优化LSTM实现空气质量预测附matlab代码

麻雀算法优化lstm

 1 简介

近年来随着我国经济实力的快速发展,不可避免的带来了一定的环境污染问题,尤其是大气污染.这些环境污染问题已经给人民群众的生活质量和我国经济的快速发展造成了一定的影响.为了能够快速发现和应对空气污染问题,一些地区已经开始采用空气质量的网格化监测技术来加强对环境情况的监测与管控.所以,为了能够更好的利用网格化监测技术带来的大量数据,提前发现空气污染情况,搭建一套可以使用历史空气质量监测数据来预测未来一段时间空气质量的可视化系统,是可以为我国的环境治理工作带来一定帮助的.本文的主要工作如下:(1)收集整理沈阳市浑南区18个位于空气质量网格化监控中的微型监测站的6种空气中污染物(PM2.5,PM10,O3,CO,NO2,SO2)浓度数据并进行数据预处理.(2)考虑到网格化监测中各个微型监测站之间的空间关联,提出了一种基于多元算法结合混沌麻雀算法优化LSTM(MVO-TSSA-LSTM)的空气质量预测算法,该算法在空气质量预测方面相比于SSA-LSTM和LSTM算法表现更优.

正在上传…重新上传取消

2 部分代码

function [r2 rmse] = rsquare(y,f,varargin)% Compute coefficient of determination of data fit model and RMSE%% [r2 rmse] = rsquare(y,f)% [r2 rmse] = rsquare(y,f,c)%% RSQUARE computes the coefficient of determination (R-square) value from% actual data Y and model data F. The code uses a general version of % R-square, based on comparing the variability of the estimation errors % with the variability of the original values. RSQUARE also outputs the% root mean squared error (RMSE) for the user's convenience.%% Note: RSQUARE ignores comparisons involving NaN values.% % INPUTS%   Y       : Actual data%   F       : Model fit%% OPTION%   C       : Constant term in model%             R-square may be a questionable measure of fit when no%             constant term is included in the model.%   [DEFAULT] TRUE : Use traditional R-square computation%            FALSE : Uses alternate R-square computation for model%                    without constant term [R2 = 1 - NORM(Y-F)/NORM(Y)]%% OUTPUT %   R2      : Coefficient of determination%   RMSE    : Root mean squared error%% EXAMPLE%   x = 0:0.1:10;%   y = 2.*x + 1 + randn(size(x));%   p = polyfit(x,y,1);%   f = polyval(p,x);%   [r2 rmse] = rsquare(y,f);%   figure; plot(x,y,'b-');%   hold on; plot(x,f,'r-');%   title(strcat(['R2 = ' num2str(r2) '; RMSE = ' num2str(rmse)]))%   % Jered R Wells% 11/17/11% jered [dot] wells [at] duke [dot] edu%% v1.2 (02/14/2012)%% Thanks to John D'Errico for useful comments and insight which has helped% to improve this code. His code POLYFITN was consulted in the inclusion of% the C-option (REF. File ID: #34765).if isempty(varargin); c = true; elseif length(varargin)>1; error 'Too many input arguments';elseif ~islogical(varargin{1}); error 'C must be logical (TRUE||FALSE)'else c = varargin{1}; end% Compare inputsif ~all(size(y)==size(f)); error 'Y and F must be the same size'; end% Check for NaNtmp = ~or(isnan(y),isnan(f));y = y(tmp);f = f(tmp);if c; r2 = max(0,1 - sum((y(:)-f(:)).^2)/sum((y(:)-mean(y(:))).^2));else r2 = 1 - sum((y(:)-f(:)).^2)/sum((y(:)).^2);%     if r2<0%     % http://web.maths.unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html%         warning('Consider adding a constant term to your model') %#ok<WNTAG>%         r2 = 0;%     endendrmse = sqrt(mean((y(:) - f(:)).^2));

3 仿真结果

4 参考文献

[1]陶晓玲, 王素芳, 赵峰,等. 基于麻雀搜索算法优化Bi-LSTM的网络安全态势预测方法:. 

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号