2024年五一杯高校数学建模竞赛(C题) 建模解析| 冲击地压危险预测 |小鹿学长带队指引全代码文章与思路

news2024/11/18 13:50:01

我是鹿鹿学长,就读于上海交通大学,截至目前已经帮200+人完成了建模与思路的构建的处理了~
本篇文章是鹿鹿学长经过深度思考,独辟蹊径,通过滑动平均法解决冲击地压危险预测问题。实现综合建模。独创复杂系统视角,帮助你解决五一杯的难关呀。
完整内容可以在文章末尾领取!
在这里插入图片描述

问题1:如图1,已知现场工作面的部分电磁辐射和声发射信号中存在大量干扰信号,有可能是工作面的其他作业或设备干扰等因素引起,这对后期的电磁辐射和声发射信号处理造成了一定的影响。应用附件1和2中的数据,完成以下问题。
图1 以电磁辐射为例的干扰信号数据示意图
(1.1) 建立数学模型,对存在干扰的电磁辐射和声发射信号进行分析,分别给出电磁辐射和声发射中的干扰信号数据的特征(不少于3个)。
解:
根据附件1和2中的数据,我们可以将电磁辐射和声发射数据分为5类,(A)正常工作数据;(B)前兆特征数据;©干扰信号数据;(D)传感器断线数据;(E)工作面休息数据,其中,A、B、C类为工作面正常生产时的数据,D类为监测系统不正常时的数据,E类为停产期间的数据。

  1. 频率分布特征:
    根据附件1和2中的数据,我们可以发现,干扰信号的频率分布通常会呈现出一定的规律性,与正常工作数据和前兆特征数据有明显的区别。对于电磁辐射数据,干扰信号的频率分布通常会呈现出多峰分布,而正常工作数据和前兆特征数据的频率分布则相对较为平滑。对于声发射数据,干扰信号的频率分布通常会呈现出高频峰和低频峰同时存在,而正常工作数据和前兆特征数据的频率分布则通常只会出现一个峰值。因此,通过观察频率分布特征可以较为准确地识别出干扰信号。

  2. 时序特征:
    干扰信号通常会出现在一个较短的时间段内,与正常工作数据和前兆特征数据有明显的区别。对于电磁辐射数据,干扰信号的时序通常会出现在一个较窄的时间段内,而正常工作数据和前兆特征数据的时序则相对较为平缓。对于声发射数据,干扰信号的时序通常会呈现出突然增大的情况,而正常工作数据和前兆特征数据的时序则相对较为平稳。因此,通过观察时序特征可以较为准确地识别出干扰信号。

  3. 形状特征:
    干扰信号通常会呈现出明显的不规则形状,与正常工作数据和前兆特征数据有明显的区别。对于电磁辐射数据,干扰信号的形状通常会出现较多的波峰和波谷,而正常工作数据和前兆特征数据的形状则相对较为平滑。对于声发射数据,干扰信号的形状通常会呈现出较多的尖峰和波谷,而正常工作数据和前兆特征数据的形状则相对较为平滑。因此,通过观察形状特征可以较为准确地识别出干扰信号。

综上所述,我们可以通过分析频率分布特征、时序特征和形状特征来识别电磁辐射和声发射数据中的干扰信号。具体的数学模型可以通过建立干扰信号的频率、时序和形状的数学模型来实现。通过比对模型得到的特征和实际数据,就可以准确地识别出干扰信号。

首先,根据题目所给的数据,我们可以发现干扰信号数据的特点是在正常工作数据中出现突变,且幅度较大。因此,我们可以建立如下数学模型来分析干扰信号数据的特征:
假设电磁辐射和声发射信号分别为 E ( t ) E(t) E(t) S ( t ) S(t) S(t),其中 t t t为时间变量。我们可以将信号数据分解为两部分:基准信号 B ( t ) B(t) B(t)和干扰信号 I ( t ) I(t) I(t),即 E ( t ) = B ( t ) + I ( t ) E(t)=B(t)+I(t) E(t)=B(t)+I(t) S ( t ) = B ( t ) + I ( t ) S(t)=B(t)+I(t) S(t)=B(t)+I(t)。基准信号 B ( t ) B(t) B(t)表示正常工作数据,干扰信号 I ( t ) I(t) I(t)表示干扰数据。
假设 E ( t ) E(t) E(t) S ( t ) S(t) S(t)的采样频率为 f s f_s fs,则信号的频率域表示为 E ( f ) E(f) E(f) S ( f ) S(f) S(f),其中 f f f为频率变量。
根据采样定理,信号的最高频率分量为 f m a x = f s / 2 f_{max}=f_s/2 fmax=fs/2,因此我们可以将信号的频率域表示为低频分量 E l ( f ) E_l(f) El(f)和高频分量 E h ( f ) E_h(f) Eh(f),即 E ( f ) = E l ( f ) + E h ( f ) E(f)=E_l(f)+E_h(f) E(f)=El(f)+Eh(f)。同理, S ( f ) = S l ( f ) + S h ( f ) S(f)=S_l(f)+S_h(f) S(f)=Sl(f)+Sh(f)
由于干扰信号数据的特征是在正常工作数据中出现突变,因此可以认为干扰信号 I ( t ) I(t) I(t)是高频分量 E h ( t ) E_h(t) Eh(t) S h ( t ) S_h(t) Sh(t)的叠加,即 I ( t ) = α E h ( t ) + β S h ( t ) I(t)=\alpha E_h(t)+\beta S_h(t) I(t)=αEh(t)+βSh(t),其中 α \alpha α β \beta β为干扰信号的系数。
根据傅里叶变换的性质,我们可以得到干扰信号的频率域表示为 I ( f ) = α E h ( f ) + β S h ( f ) I(f)=\alpha E_h(f)+\beta S_h(f) I(f)=αEh(f)+βSh(f)
综上所述,干扰信号数据的特征为在正常工作数据中出现突变,且幅度较大,其频率域表示为叠加了高频分量 E h ( f ) E_h(f) Eh(f) S h ( f ) S_h(f) Sh(f)的信号,系数为干扰信号的系数 α \alpha α β \beta β
在这里插入图片描述

问题1:对于存在干扰的电磁辐射和声发射信号,我们可以通过以下特征进行分析:

(1) 幅值变化特征:干扰信号在幅值上会表现出明显的变化,通常幅值会比正常信号大或小,且变化幅度较大。

(2) 频谱分布特征:干扰信号的频谱分布与正常信号不同,通常会表现出更高或更低的频率分量。

(3) 时域特征:干扰信号的时域波形通常会出现突然的起伏或跳变现象,与正常信号的平稳波形不同。

具体的数学模型可以采用频谱分析和时域分析的方法,对信号进行幅值、频谱和波形等特征提取,建立特征向量,通过对比干扰信号与正常信号的特征向量差异来判断是否存在干扰信号。

频谱分析方法可以采用傅里叶变换来提取信号的频谱信息,时域分析方法可以采用小波变换来提取信号的时域波形信息。具体的数学模型可以表示为:

(1) 幅值变化特征:

设干扰信号为x(t),正常信号为y(t),采样时刻为t,幅值变化特征可用幅值比值来表示:

∣ max ⁡ ( x ( t ) ) − min ⁡ ( x ( t ) ) ∣ ∣ max ⁡ ( y ( t ) ) − min ⁡ ( y ( t ) ) ∣ \frac{|\max(x(t))-\min(x(t))|}{|\max(y(t))-\min(y(t))|} max(y(t))min(y(t))max(x(t))min(x(t))

(2) 频谱分布特征:

设干扰信号的频谱为X(f),正常信号的频谱为Y(f),采样频率为f,频谱分布特征可用频谱差值来表示:

∑ i = 1 n ∣ X ( f i ) − Y ( f i ) ∣ \sum_{i=1}^{n}|X(f_i)-Y(f_i)| i=1nX(fi)Y(fi)

(3) 时域特征:

设干扰信号的时域波形为x(t),正常信号的时域波形为y(t),采样时刻为t,时域特征可用波形差值来表示:

∑ i = 1 n ∣ x ( t i ) − y ( t i ) ∣ \sum_{i=1}^{n}|x(t_i)-y(t_i)| i=1nx(ti)y(ti)

其中,n为采样点数。

综上所述,我们可以通过提取幅值、频谱和时域特征来判断是否存在干扰信号,并可通过比较特征向量差异来进行识别。

答:根据给出的附件1和附件2中的电磁辐射和声发射数据,首先需要对数据进行预处理,即将数据分类为A、B、C、D/E类。其中,A、B、C类为工作面正常生产时的数据,D类为监测系统不正常时的数据,E类为停产期间的数据。预处理过程如下:

  1. 读取附件1和附件2中的数据,存储为列表。

  2. 根据数据中的标记,将数据分类为A、B、C、D/E类。

  3. 建立数学模型,对A、B、C类数据进行特征分析,得出电磁辐射和声发射中的干扰信号数据的特征。

特征分析过程如下:

a. 对A、B、C类数据进行可视化,观察数据的波动情况。

b. 统计数据的均值、方差、最大值、最小值等基本统计量。

c. 分析数据的周期性,即数据在一定时间范围内是否出现重复的波动。

d. 观察数据的变化趋势,判断是否存在递增或递减的趋势。

e. 分析数据的峰值和谷值,判断是否存在突变的情况。

f. 对比不同类别数据的特征,寻找出存在干扰的特征。

  1. 根据所得到的特征,建立数学模型,对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号中的干扰信号所在的时间区间进行识别。

识别过程如下:

a. 对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号数据进行预处理,得到A、B、C、D/E类数据。

b. 对A、B、C类数据进行特征分析,寻找出存在干扰的特征。

c. 对D/E类数据进行异常检测,将异常数据剔除。

d. 利用前面得到的特征进行干扰信号识别,将出现干扰的时间区间记录下来。

e. 根据记录的时间区间,得到电磁辐射和声发射最早发生的5个干扰信号所在的区间,将其记录在表1和表2中。

  1. 对问题2中的前兆特征信号进行分析和识别的过程与干扰信号类似,只是在特征分析和识别的过程中,需要重点关注数据的变化趋势,并将最早发生的5个前兆特征信号所在的时间区间记录在表3和表4中。

  2. 对问题3中的数据,需要建立概率模型来判断在每个时间段最后时刻出现前兆特征数据的概率。具体过程如下:

a. 读取附件3中的数据,将数据存储为列表。

b. 对每个时间段的数据进行预处理,得到A、B、C、D/E类数据。

c. 对每个时间段的数据进行特征分析,得到数据的变化趋势。

d. 对比不同时间段的数据特征,寻找出前兆特征数据的特征。

e. 根据所得到的特征,建立概率模型,计算每个时间段最后时刻出现前兆特征数据的概率。

f. 将计算得到的概率记录在表5中。

第二个问题是建立数学模型,对电磁辐射和声发射信号中的前兆特征信号进行分析,并识别出2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中最早出现的5个前兆特征信号所在的时间区间。

建立数学模型如下:

  1. 对电磁辐射数据进行预处理,去除干扰信号的影响。首先,将所有的电磁辐射数据按照时间顺序排列,然后使用移动平均滤波器对数据进行平滑处理,降低数据的噪声干扰。

  2. 对处理后的电磁辐射数据进行趋势分析。首先,将数据按照每7天的时间段进行分割,然后对每个时间段内的数据进行回归分析,得到数据的线性趋势。最后,根据回归分析的结果,判断数据的变化趋势,若数据呈现出上升趋势,则判定为前兆特征信号。

  3. 对声发射数据进行预处理,去除干扰信号的影响。首先,将所有的声发射数据按照时间顺序排列,然后使用移动平均滤波器对数据进行平滑处理,降低数据的噪声干扰。

  4. 对处理后的声发射数据进行趋势分析。首先,将数据按照每7天的时间段进行分割,然后对每个时间段内的数据进行回归分析,得到数据的线性趋势。最后,根据回归分析的结果,判断数据的变化趋势,若数据呈现出上升趋势,则判定为前兆特征信号。

  5. 对识别出的前兆特征信号进行时间区间的确定。根据数据分析的结果,可以得到前兆特征信号出现的时间点,然后根据前后时间段内数据的变化趋势,确定前兆特征信号所在的时间区间。

  6. 对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间进行识别。根据以上方法可以得到最早出现的5个前兆特征信号所在的时间区间。

数学建模的方法如下:

  1. 设定一组时间序列数据为 X = x 1 , x 2 , . . . , x n X={x_1, x_2, ..., x_n} X=x1,x2,...,xn,其中 n n n为数据的总个数。

  2. 对数据进行预处理。首先,将数据按照时间顺序排列,然后使用移动平均滤波器对数据进行平滑处理,降低数据的噪声干扰。

  3. 对处理后的数据进行趋势分析。首先,将数据按照每7天的时间段进行分割,然后对每个时间段内的数据进行回归分析,得到数据的线性趋势。最后,根据回归分析的结果,判断数据的变化趋势。

  4. 根据数据的变化趋势,判断数据是否为前兆特征信号。若数据呈现出上升趋势,则判定为前兆特征信号。

  5. 确定前兆特征信号所在的时间区间。根据数据分析的结果,可以得到前兆特征信号出现的时间点,然后根据前后时间段内数据的变化趋势,确定前兆特征信号所在的时间区间。

  6. 对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间进行识别。根据以上方法可以得到最早出现的5个前兆特征信号所在的时间区间。

针对第二个问题,首先需要建立一个数学模型来分析电磁辐射和声发射信号中的前兆特征信号。根据题目中提供的数据,可以发现前兆特征信号的特点是在冲击地压发生前约7天内出现,且信号会随时间循环增大。因此,可以使用时间序列分析的方法来建立数学模型,从而识别出前兆特征信号所在的时间区间。

首先,我们需要对电磁辐射和声发射信号的数据进行预处理,包括数据的平滑处理和异常值的检测与处理。接着,我们可以使用移动平均法来分析信号的趋势性变化。移动平均法是一种常用的时间序列分析方法,它可以消除信号中的随机波动,从而更容易观察信号的长期趋势。具体来说,我们可以使用加权移动平均法来计算信号的移动平均值,然后观察平均值的变化趋势。

在计算移动平均值时,需要确定合适的权重系数。根据题目中提供的数据,我们可以将时间序列分为三段,分别是2020年4月8日-2020年6月8日、2021年11月20日-2021年12月20日、2021年11月1日-2022年1月15日。在每段时间内,我们可以计算出信号的移动平均值,并观察其变化趋势。根据题目中给出的数据,可以发现电磁辐射和声发射信号的移动平均值都呈现出随时间循环增大的趋势,这也符合冲击地压发生前的特征。

因此,我们可以将移动平均值的变化趋势作为前兆特征信号的识别标准。具体来说,当信号的移动平均值开始增大,并且持续增大一段时间后,就可以判断该信号出现了前兆特征,而且冲击地压的发生也可能在近期内发生。根据题目中给出的时间数据,我们可以使用类似的方法来识别出最早出现的5个前兆特征信号所在的时间区间。

综上所述,我们可以通过建立数学模型,利用移动平均法来分析信号的变化趋势,从而识别出电磁辐射和声发射信号中的前兆特征信号,并给出最早出现的5个前兆特征信号所在的时间区间。这样的方法可以有效地提前预警冲击地压事故的发生,帮助煤矿采取措施来防止事故的发生,从而提高煤矿的安全生产水平。
在这里插入图片描述

解题思路:

1.首先,根据已知条件,可以得知在发生冲击地压危险前约7天内,电磁辐射和声发射信号存在随时间循环增大的趋势,这类信号我们称为前兆特征信号。

2.其次,根据附件1和2中的数据,我们可以建立数学模型,对电磁辐射和声发射信号中的前兆特征信号进行分析。

3.对于电磁辐射信号,我们可以将其分为5类,分别为A、B、C、D、E类,其中A、B、C类为工作面正常生产时的数据,D类为监测系统不正常时的数据,E类为停产期间的数据。

4.根据前兆特征信号的定义,我们可以发现,在出现前兆特征信号之后的约7天内,有可能发生冲击地压,所以一般情况下出现前兆特征信号之后,会采取一定措施尽可能的防止冲击地压发生。

5.因此,我们可以重点分析信号的变化趋势,分别给出电磁辐射和声发射信号危险发生前(前兆特征)数据的趋势特征。

6.根据附件1和2中的数据,我们可以利用数学模型,对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间进行识别,并给出最早发生的5个前兆特征信号所在的时间区间。

7.最后,根据识别出的时间区间,我们可以建立预警模型,提前发出预警,以尽早防止冲击地压事故的发生。

数学模型:

1.对于电磁辐射信号,我们可以根据附件1中的数据,利用移动平均法来分析信号的变化趋势,得到每个时间段的平均值,然后计算每个时间段内数据的标准差,从而判断是否出现前兆特征信号。具体公式如下:
X i = ∑ n = i i + m X n m  for  i = 1 , 2 , … , n − m + 1 X_{i}=\frac{\sum_{n=i}^{i+m} X_{n}}{m} \quad \text { for } i=1,2, \ldots, n-m+1 Xi=mn=ii+mXn for i=1,2,,nm+1

其中, X i X_i Xi表示每个时间段的平均值, m m m表示时间段的长度, n n n表示总的数据量。

2.对于声发射信号,我们可以根据附件2中的数据,利用指数加权移动平均法来分析信号的变化趋势,得到每个时间段的加权平均值,然后计算每个时间段内数据的标准差,从而判断是否出现前兆特征信号。具体公式如下:
X i = ∑ n = i i + m w n X n ∑ n = i i + m w n  for  i = 1 , 2 , … , n − m + 1 X_{i}=\frac{\sum_{n=i}^{i+m} w_{n} X_{n}}{\sum_{n=i}^{i+m} w_{n}} \quad \text { for } i=1,2, \ldots, n-m+1 Xi=n=ii+mwnn=ii+mwnXn for i=1,2,,nm+1

其中, X i X_i Xi表示每个时间段的加权平均值, m m m表示时间段的长度, n n n表示总的数据量, w n w_n wn表示第 n n n个数据的权重。

3.根据以上分析,我们可以得到电磁辐射和声发射信号危险发生前(前兆特征)数据的趋势特征,如下:

(1)平均值从小到大递增;

(2)标准差从小到大递增;

(3)趋势线具有明显的上升趋势。

4.根据以上特征,我们可以建立数学模型,对附件1和2中的数据进行分析,识别出2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中最早出现的5个前兆特征信号所在的时间区间。

5.最后,根据识别出的时间区间,我们可以建立预警模型,利用监测系统每30秒采集的数据,对危险进行预判,提前发出预警,以尽早防止冲击地压事故的发生。

import pandas as pd
import numpy as np

# 读取数据
df_emr = pd.read_excel('附件1:电磁辐射数据.xlsx')
df_ae = pd.read_excel('附件1:声发射数据.xlsx')

# 选取前兆特征数据
df_emr_pre = df_emr[df_emr['分类'] == 'B']
df_ae_pre = df_ae[df_ae['分类'] == 'B']

# 定义函数,判断前兆特征信号的变化趋势
def trend_detect(data):
    '''
    输入:数据,为一维的Series类型
    输出:数据的变化趋势,为字符串类型,分别为上升、下降、平稳
    '''
    diff_list = []
    for i in range(len(data)-1):
        diff = data.iloc[i+1] - data.iloc[i]
        diff_list.append(diff)
    diff_array = np.array(diff_list)
    if np.all(diff_array > 0):
        return '上升'
    elif np.all(diff_array < 0):
        return '下降'
    else:
        return '平稳'

# 选取2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的数据
df_emr_pre_selected = df_emr_pre[(df_emr_pre['日期'] >= '2020-04-08') & (df_emr_pre['日期'] <= '2020-06-08') | (df_emr_pre['日期'] >= '2021-11-20') & (df_emr_pre['日期'] <= '2021-12-20')]
df_ae_pre_selected = df_ae_pre[(df_ae_pre['日期'] >= '2020-04-08') & (df_ae_pre['日期'] <= '2020-06-08') | (df_ae_pre['日期'] >= '2021-11-20') & (df_ae_pre['日期'] <= '2021-12-20')]

# 对电磁辐射和声发射信号分别进行分析,并输出前兆特征数据的时间区间
print('电磁辐射前兆特征时间区间:')
for column in df_emr_pre_selected.columns[3:]:
    print(column, ':', df_emr_pre_selected[column].iloc[0], '到', df_emr_pre_selected[column].iloc[-1])
print('声发射前兆特征时间区间:')
for column in df_ae_pre_selected.columns[3:]:
    print(column, ':', df_ae_pre_selected[column].iloc[0], '到', df_ae_pre_selected[column].iloc[-1])

#输出结果:
见完整版

问题3:为了尽早的识别前兆特征信号,在前兆特征信号出现的第一时间发出预警,需要在每次数据采集的时刻对危险进行预判。附件3给出了一些非连续时间段采集的电磁辐射和声发射信号数据。请建立数学模型,给出附件3中的每个时间段最后时刻出现前兆特征数据的概率,完成表5。

解:问题3:为了尽早的识别前兆特征信号,在前兆特征信号出现的第一时间发出预警,需要在每次数据采集的时刻对危险进行预判。附件3给出了一些非连续时间段采集的电磁辐射和声发射信号数据。请建立数学模型,给出附件3中的每个时间段最后时刻出现前兆特征数据的概率,完成表5。
设每次数据采集的时刻为t,前兆特征信号出现的时刻为t0,根据题目中给出的条件,可以得到每次数据采集的时刻t和前兆特征信号出现的时刻t0之间的时间间隔Δt=t-t0,根据题目中给出的数据,可以得到每次数据采集的时刻t和前兆特征信号出现的时刻t0之间的时间间隔Δt的分布情况。
根据题目中给出的条件,可以得到前兆特征信号出现的概率P(t0)=1-tanh(αΔt),其中α为控制参数,可以根据实际情况确定。
在这里插入图片描述

根据以上条件,可以建立数学模型:
P ( t 0 ) = 1 − t a n h ( α Δ t ) P(t0)=1-tanh(αΔt) P(t0)=1tanh(αΔt)
其中,Δt=t-t0,α为控制参数。
根据题目中给出的数据,可以得到每次数据采集的时刻t和前兆特征信号出现的时刻t0之间的时间间隔Δt的分布情况,从而可以计算出每次数据采集的时刻t和前兆特征信号出现的时刻t0之间的时间间隔Δt的概率密度函数f(Δt)。
根据概率密度函数f(Δt),可以计算出每次数据采集的时刻t和前兆特征信号出现的时刻t0之间的时间间隔Δt的概率分布P(Δt)。
根据以上条件,可以建立数学模型:
P ( t 0 ) = ∫ P ( Δ t ) f ( Δ t ) d ( Δ t ) P(t0)=∫P(Δt)f(Δt)d(Δt) P(t0)=P(Δt)f(Δt)d(Δt)
其中,P(Δt)为每次数据采集的时刻t和前兆特征信号出现的时刻t0之间的时间间隔Δt的概率分布,f(Δt)为每次数据采集的时刻t和前兆特征信号出现的时刻t0之间的时间间隔Δt的概率密度函数。
根据以上模型,可以计算出每个时间段最后时刻出现前兆特征数据的概率,完成表5。

P = n N \begin{equation} P = \frac{n}{N} \end{equation} P=Nn

其中, P P P为前兆特征的概率, n n n为在给定时间段内出现前兆特征的次数, N N N为给定时间段内采集数据的总次数。

根据附件3中的数据,可得到每个时间段内的 n n n值和 N N N值,代入公式(1)可得到每个时间段内出现前兆特征的概率 P P P

根据数据分析,电磁辐射和声发射信号的前兆特征概率并不是固定值,而是随着时间段的变化而变化。因此,可以通过每次数据采集的时刻对前兆特征概率进行实时计算,从而及时预测冲击地压的危险。此方法可以有效地提高预警的准确性和及时性,从而保障煤矿的安全生产。

首先,我们定义事件A为某一时刻电磁辐射或声发射信号出现前兆特征,事件B为某一时刻电磁辐射或声发射信号不出现前兆特征。根据附件1和2的数据,我们可以得到事件A和事件B发生的概率分别为:
P ( A ) = n A n P(A)=\frac{n_A}{n} P(A)=nnA
P ( B ) = n B n P(B)=\frac{n_B}{n} P(B)=nnB
其中,n为总的数据量,n_A为出现前兆特征的数据量,n_B为不出现前兆特征的数据量。

根据贝叶斯定理,可以得到在事件B发生的条件下,事件A发生的条件概率为:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)
其中,P(B|A)为事件A发生的条件下,事件B发生的概率。

我们可以利用附件3中的数据,根据上述公式计算出每个时间段电磁辐射和声发射信号出现前兆特征的概率,即为表5中的“前兆特征概率”。

import pandas as pd
import numpy as np

# 读取附件3的数据
df = pd.read_excel('附件3.xlsx')

# 将时间列转换为datetime类型
df['时间'] = pd.to_datetime(df['时间'], format='%Y-%m-%d %H:%M:%S')

# 创建空列表用于存储前兆特征数据出现的概率
prob_list = []

# 遍历每个时间段
for i in range(len(df['时间'].unique())):
    # 获取当前时间段的数据
    data = df[df['时间'] == df['时间'].unique()[i]]
    # 计算前兆特征数据的数量
    count = len(data[data['类别'] == '前兆特征'])
    # 计算前兆特征数据出现的概率
    prob = count / len(data)
    # 将概率添加到列表中
    prob_list.append(prob)

# 将概率列表转换为DataFrame
prob_df = pd.DataFrame(prob_list, columns=['前兆特征的概率'])

# 将时间列添加到DataFrame中
prob_df['时间'] = df['时间'].unique()

# 输出结果
print(prob_df)

更多内容可以点击下方名片详细了解,让小鹿学长带你冲刺五一杯夺奖之路!
敬请期待我们的努力所做出的工作!记得关注 鹿鹿学长呀!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1637222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android滑动冲突解决方案面试问题及回答

问题 1: 什么是滑动冲突&#xff1f;在Android开发中常见哪些类型&#xff1f; 答案: 滑动冲突通常发生在多个滑动组件&#xff08;如ScrollView, ListView, ViewPager等&#xff09;嵌套使用时&#xff0c;各个组件对同一个滑动事件的响应发生冲突。常见的类型包括垂直滑动冲…

Flask教程1:flask框架基础入门,路由、模板、装饰器

文章目录 一、 简介二、 概要 一、 简介 Flask是一个非常小的Python Web框架&#xff0c;被称为微型框架&#xff1b;只提供了一个稳健的核心&#xff0c;其他功能全部是通过扩展实现的&#xff1b;意思就是我们可以根据项目的需要量身定制&#xff0c;也意味着我们需要学习各…

算法:双指针题目练习

目录 题目一&#xff1a;移动零 题目二&#xff1a;复写零 题目三&#xff1a;快乐数 题目四&#xff1a;盛最多水的容器 题目五&#xff1a;有效三角形的个数 题目六&#xff1a;和为s的两个数字(剑指offer) 题目七&#xff1a;三数之和 题目八&#xff1a;四数之和 常…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

CAD的DWG文件如何进行搜索文字

1.目的 想搜索CAD文件中的数字或文字是否存在DWG文件中。 2.方法 方式1:菜单栏 编辑→查找 方式2&#xff1a;指令格式 图纸的左下侧→命令处&#xff0c;进行输入find→再按回车enter 3.结果

Day 22 SSH远程管理服务

sshd服务&#xff0c;系统自带&#xff0c;默认开机自启运行 云/物理服务器的安全组和防火墙默认放行该端口 软件包&#xff1a;openssh-server&#xff08;服务端&#xff09;&#xff1b;openssh-client&#xff08;客户端&#xff09;&#xff1b; 格式&#xff1a;ssh I…

【C++语法练习】计算梯形的面积

题目链接&#xff1a;https://www.starrycoding.com/problem/158 题目描述 已知一个梯形的上底 a a a&#xff0c;下底 b b b和高 h h h&#xff0c;请求出它的面积&#xff08;结果保留两位小数&#xff09;。 输入格式 第一行一个整数 T T T表示测试用例个数。 ( 1 ≤ T …

JeeSite主子表

classroom表代码生成配置&#xff08;主表&#xff09; student表代码生成配置&#xff08;子表&#xff09; 设置“班级”菜单 班级列表页面 点击“三年级二班”&#xff0c;显示班级中的学生列表页面 班级表 CREATE TABLE classroom (classroom_id int NOT NULL AUTO_…

Meditron:基于 Llama 完全开源的医学大语言模型

健康危机就在眼前&#xff0c;当医疗资源有限时&#xff0c;每一秒钟都至关重要&#xff01;Meditron 就像一位忠实的医疗助手&#xff0c;提供基于证据的护理建议和情境意识的推荐&#xff0c;帮助医疗工作者在诊断和治疗过程中做出更准确的决策。 在资源有限的医疗环境中&am…

C/C++实现高性能并行计算——1.pthreads并行编程(中)

系列文章目录 pthreads并行编程(上)pthreads并行编程(中)pthreads并行编程(下)使用OpenMP进行共享内存编程 文章目录 系列文章目录前言一、临界区1.1 pi值估计的例子1.2 找到问题竞争条件临界区 二、忙等待三、互斥量3.1 定义和初始化互斥锁3.2 销毁。3.3 获得临界区的访问权&…

《读懂财务报表》手绘版读书笔记:通过报表找好公司

通过财报的三张表判断好公司&#xff1a; 然后是在三表中&#xff0c;计算各个项目占总体的比例&#xff0c;以及做比率分析&#xff0c; 比率分析&#xff0c;从偿还能力&#xff0c;运营能力&#xff0c;盈利能力三方面分析&#xff1a; 1&#xff09; 偿还能力 2&#xff09…

新建stm32工程模板步骤

1.先使用keil新建一个project的基本代码 2.stm32启动文件添加 将stm32的启动文件&#xff0c;在原工程当中新建一个Start文件夹把相关的启动文件放到文件夹当中 然后还需要找到下面三个文件 stm32f10x.h是stm32的外设寄存器的声明和定义&#xff0c;后面那两个文件用于配置系…

Python数据预处理1:导入与基本操作

2024/4/30 After installing the xlrd package, you should be able to read Excel files using pandas without any issues. #需要在pyCharm命令行中下载两个包 pip install pandas pip install xlrd .xls数据导入 #数据的导入 import pandas as pd #导入EXCEL表格数据 df…

Java基于微信小程序+uniapp的校园失物招领小程序(V3.0)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【大数据】利用 Apache Ranger 管理 Amazon EMR 中的数据权限

利用 Apache Ranger 管理 Amazon EMR 中的数据权限 1.需求背景简介2.系统方案架构图3.主要服务和组件简介3.1 Amazon EMR3.2 Simple Active Directory3.3 Apache Ranger 4.部署步骤4.1 部署 Simple AD 服务4.2 部署 Apache Ranger4.3 部署 Amazon EMR4.4 在 Amazon EMR 的主节点…

FPGA高端项目:FPGA帧差算法多目标图像识别+目标跟踪,提供11套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA帧差算法单个目标图像识别目标跟踪 3、详细设计方案设计原理框图运动目标检测原理OV5640摄像头配置与采集OV7725摄像头配置与采集RGB视频流转AXI4-StreamVDMA图像缓存多目标帧差算法图像识别目标跟踪模块视频输出Xilinx系列FPGA工程源…

spring-boot示例

spring-boot版本&#xff1a;2.0.3.RELEASE 数据库: H2数据库 &#xff08;嵌入式内存性数据库&#xff0c;安装简单&#xff0c;方便用于开发、测试&#xff0c;不适合用于生产&#xff09; mybatis-plus框架&#xff0c;非常迅速开发CRUD

Liunx磁盘管理(上)

Liunx磁盘管理&#xff08;中&#xff09;-CSDN博客 目录 一.硬盘类型 机械硬盘&#xff08;HDD&#xff09; 固态硬盘&#xff08;SSD&#xff09; 二.插拔方式 1. 热插拔&#xff08;Hot Swapping&#xff09; 2. 冷插拔&#xff08;Cold Swapping&#xff09; 3. 模块…

新唐的nuc980/nuc972的开发3-官方源码编译

上一节中bsp已经安装&#xff0c;交叉环境已经搭建&#xff0c;理应就可以正常的编写上层的应用程序啦。 但是系统启动次序是- uboot-> kernel内核 ->挂载文件系统 ->上层应用程序 下面是bsp安装后的文件&#xff1a; 因此本章节&#xff0c;将讲解 uboot-> kerne…

MySql-日期分组

一、分别统计各时间各类型数据条数 数据库的 request_time字段 数据类型&#xff1a;timestamp 默认值&#xff1a;CURRENT_TIMESTAMP 例子&#xff1a; 2024-01-26 08:25:48 原数据&#xff1a; 1、将数据按照日期&#xff08;年月日&#xff09;形式输出 按照request_…