阅读 43

【数据分析】基于matlab多元回归模型矿井通风量计算【含Matlab源码 259期】

一、简介

1 矿井通风量概述
煤炭作为我国的基础能源,煤炭分布广泛,如今全球占有量已超50%。我国是“富煤、贫油、少气”的国家,这一特点决定了煤炭将在一次性能源生产和消费中占主导地位并且长期不会改变。近年来,由于能源紧张,煤炭市场的好转也同时带来了煤矿安全方面的问题。其中主要是以瓦斯、煤尘等自然灾害为主。矿井开采方式为如今煤炭行业的主要方式,一般来说瓦斯含量越高的矿井其开采条件越恶劣,这就导致了开采难度的上升,同时增加了开采过程中危险性。由于国家地质条件的复杂性以及在矿井通风、防止瓦斯、防止没车、防灭火等技术方面受到一定限制,导致了瓦斯爆炸、井下火灾事故等矿难频繁发生。近年来,虽然全国煤矿安全生产状况不断好转,但形势依然十分严峻。
针对矿井通风、防止瓦斯、防治煤尘以及防灭火为主的“一通三防”方面的事故。本章采用多元回归模型应用于煤矿井下通风量的最优预测方案,旨在解决煤矿井下通风影响因素的复杂,以及风速、瓦斯、煤尘等各因素之间复杂的非线性关系对瓦斯浓度和煤尘浓度的影响,利用该方法揭示煤矿井下风速与瓦斯和煤尘等因素之间的内在规律,有效预防瓦斯和煤尘爆炸事故的发生。
2 矿井通风量回归模型分析
基于采集的煤矿通风量、瓦斯、煤尘、温度、湿度等数据进行最优化矿井通风量设计。常规的数据处理为回归分析,用采集的瓦斯和煤尘、矿井温度、湿度等数据进行通风量的计算,通过多元回归分析,控制系统输出。
回归分析(regression analysis)是确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法。运用十分广泛,回归分析按照涉及的自变量的多少,可分为一元回归分析和多元回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
相关分析研究的是现象之间是否相关以及相关的方向和密切程度,一般不区别自变量或因变量。而回归分析则要分析现象之间相关的具体形式,确定其因果关系,并用数学模型来表现其具体关系。比如说,从相关分析中我们可以得知“质量”和“用户满意度”变量密切相关,但是这两个变量之间到底是哪个变量受哪个变量的影响,影响程度如何,则需要通过回归分析方法来确定。
一般来说,回归分析是通过规定因变量和自变量来确定变量之间的因果关系,建立回归模型,并根据实测数据来求解模型的各个参数,然后评价回归模型是否能够很好的拟合实测数据;如果能够很好的拟合,则可以根据自变量作进一步预测。
3 工作面数据点归一化处理结果
在这里插入图片描述

二、源代码

clc,clear,close all
ysw1;        % 加载数据
x=[v1,v3, v4];      % 风速
y=[Pc1, Pc3 ,Pc4];  % 煤尘
figure('color',[1 1 1])
scatter(x,y,'.')
xlabel('风速(m/s)');  ylabel(' 煤尘浓度(g/m3)');  grid off; axis tight

p = polyfit(x,y,1)  % 拟合
Pc=p(1)*x+p(2);
hold on
plot(x,Pc,'r*--')

%% 空气中瓦斯浓度与风速映射关系建模
clc,clear,close all
ysw1;               % 加载数据
x=[v1,v4];          % 风速
y=[Pg1,Pg4];        % 瓦斯
figure('color',[1 1 1])
scatter(x,y,'.')
xlabel('风速(m/s)');  ylabel(' 煤尘浓度(g/m3)');  grid off; axis tight

p = polyfit(x,y,1)  % 拟合
Pc=p(1)*x+p(2);
hold on
plot(x,Pc,'r*--')

%% 矿井中温湿度与风速映射关系建模
clc,clear,close all
ysw1;               % 加载数据
data = data1;
n=size(data);
datay=data(:,2);   %作为 风速 目标变量
datax4=data(:,5);  %作为 温度 输入
datax5=data(:,6);  %作为 湿度 输入
figure('Color',[1 1 1]);
subplot(121),scatter(datay,datax4,'.')
xlabel('风速(m/s)');   ylabel('温度');  grid off;  axis tight
clc,clear,close all
format long
ysw1;        % 加载数据
n0=size(data1);
a=mean(data1);
a1=std(data1);
mstdata=zscore(data1);

figure('color',[1 1 1])
X=mstdata(:,3:6);
X=[ones(n0(1,1),1),X];
Y=mstdata(:,2); 
[b,bint,r,rint,s]=regress(Y,X)
rcoplot(r,rint)

yuc = b(1)+b(2)*mstdata(:,3)+b(3)*mstdata(:,4)+b(4)*mstdata(:,5)+b(5)*mstdata(:,6);
n1=size(yuc);
for i=1:n1(1,1)
    for j=2
        yu(i,j-1)=yuc(i,j-1)*a1(1,j)+a(1,j);   %反归一化操作
    end
end

figure('color',[1 1 1])
plot(data1(:,1),data1(:,2),'r.-','linewidth',2)
hold on
plot(data1(:,1),yu,'bo-','linewidth',2)
xlabel('时间点');  ylabel(' 通风量');  grid off; axis tight
legend('原始信号','回归预测')

error_hg= data1(:,2)-yu;
save error_hg.mat error_hg

 end
复制代码

三、运行结果

在这里插入图片描述

四、备注

版本:2014a

文章分类
人工智能
文章标签