我是鹿鹿学长,就读于上海交通大学,截至目前已经帮200+人完成了建模与思路的构建的处理了~
本篇文章是鹿鹿学长经过深度思考,独辟蹊径,通过滑动平均法解决冲击地压危险预测问题。实现综合建模。独创复杂系统视角,帮助你解决五一杯的难关呀。
完整内容可以在文章末尾领取!
问题1:如图1,已知现场工作面的部分电磁辐射和声发射信号中存在大量干扰信号,有可能是工作面的其他作业或设备干扰等因素引起,这对后期的电磁辐射和声发射信号处理造成了一定的影响。应用附件1和2中的数据,完成以下问题。
图1 以电磁辐射为例的干扰信号数据示意图
(1.1) 建立数学模型,对存在干扰的电磁辐射和声发射信号进行分析,分别给出电磁辐射和声发射中的干扰信号数据的特征(不少于3个)。
解:
根据附件1和2中的数据,我们可以将电磁辐射和声发射数据分为5类,(A)正常工作数据;(B)前兆特征数据;©干扰信号数据;(D)传感器断线数据;(E)工作面休息数据,其中,A、B、C类为工作面正常生产时的数据,D类为监测系统不正常时的数据,E类为停产期间的数据。
-
频率分布特征:
根据附件1和2中的数据,我们可以发现,干扰信号的频率分布通常会呈现出一定的规律性,与正常工作数据和前兆特征数据有明显的区别。对于电磁辐射数据,干扰信号的频率分布通常会呈现出多峰分布,而正常工作数据和前兆特征数据的频率分布则相对较为平滑。对于声发射数据,干扰信号的频率分布通常会呈现出高频峰和低频峰同时存在,而正常工作数据和前兆特征数据的频率分布则通常只会出现一个峰值。因此,通过观察频率分布特征可以较为准确地识别出干扰信号。 -
时序特征:
干扰信号通常会出现在一个较短的时间段内,与正常工作数据和前兆特征数据有明显的区别。对于电磁辐射数据,干扰信号的时序通常会出现在一个较窄的时间段内,而正常工作数据和前兆特征数据的时序则相对较为平缓。对于声发射数据,干扰信号的时序通常会呈现出突然增大的情况,而正常工作数据和前兆特征数据的时序则相对较为平稳。因此,通过观察时序特征可以较为准确地识别出干扰信号。 -
形状特征:
干扰信号通常会呈现出明显的不规则形状,与正常工作数据和前兆特征数据有明显的区别。对于电磁辐射数据,干扰信号的形状通常会出现较多的波峰和波谷,而正常工作数据和前兆特征数据的形状则相对较为平滑。对于声发射数据,干扰信号的形状通常会呈现出较多的尖峰和波谷,而正常工作数据和前兆特征数据的形状则相对较为平滑。因此,通过观察形状特征可以较为准确地识别出干扰信号。
综上所述,我们可以通过分析频率分布特征、时序特征和形状特征来识别电磁辐射和声发射数据中的干扰信号。具体的数学模型可以通过建立干扰信号的频率、时序和形状的数学模型来实现。通过比对模型得到的特征和实际数据,就可以准确地识别出干扰信号。
首先,根据题目所给的数据,我们可以发现干扰信号数据的特点是在正常工作数据中出现突变,且幅度较大。因此,我们可以建立如下数学模型来分析干扰信号数据的特征:
假设电磁辐射和声发射信号分别为 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=1∑n∣X(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=1∑n∣x(ti)−y(ti)∣
其中,n为采样点数。
综上所述,我们可以通过提取幅值、频谱和时域特征来判断是否存在干扰信号,并可通过比较特征向量差异来进行识别。
答:根据给出的附件1和附件2中的电磁辐射和声发射数据,首先需要对数据进行预处理,即将数据分类为A、B、C、D/E类。其中,A、B、C类为工作面正常生产时的数据,D类为监测系统不正常时的数据,E类为停产期间的数据。预处理过程如下:
-
读取附件1和附件2中的数据,存储为列表。
-
根据数据中的标记,将数据分类为A、B、C、D/E类。
-
建立数学模型,对A、B、C类数据进行特征分析,得出电磁辐射和声发射中的干扰信号数据的特征。
特征分析过程如下:
a. 对A、B、C类数据进行可视化,观察数据的波动情况。
b. 统计数据的均值、方差、最大值、最小值等基本统计量。
c. 分析数据的周期性,即数据在一定时间范围内是否出现重复的波动。
d. 观察数据的变化趋势,判断是否存在递增或递减的趋势。
e. 分析数据的峰值和谷值,判断是否存在突变的情况。
f. 对比不同类别数据的特征,寻找出存在干扰的特征。
- 根据所得到的特征,建立数学模型,对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中。
-
对问题2中的前兆特征信号进行分析和识别的过程与干扰信号类似,只是在特征分析和识别的过程中,需要重点关注数据的变化趋势,并将最早发生的5个前兆特征信号所在的时间区间记录在表3和表4中。
-
对问题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个前兆特征信号所在的时间区间。
建立数学模型如下:
-
对电磁辐射数据进行预处理,去除干扰信号的影响。首先,将所有的电磁辐射数据按照时间顺序排列,然后使用移动平均滤波器对数据进行平滑处理,降低数据的噪声干扰。
-
对处理后的电磁辐射数据进行趋势分析。首先,将数据按照每7天的时间段进行分割,然后对每个时间段内的数据进行回归分析,得到数据的线性趋势。最后,根据回归分析的结果,判断数据的变化趋势,若数据呈现出上升趋势,则判定为前兆特征信号。
-
对声发射数据进行预处理,去除干扰信号的影响。首先,将所有的声发射数据按照时间顺序排列,然后使用移动平均滤波器对数据进行平滑处理,降低数据的噪声干扰。
-
对处理后的声发射数据进行趋势分析。首先,将数据按照每7天的时间段进行分割,然后对每个时间段内的数据进行回归分析,得到数据的线性趋势。最后,根据回归分析的结果,判断数据的变化趋势,若数据呈现出上升趋势,则判定为前兆特征信号。
-
对识别出的前兆特征信号进行时间区间的确定。根据数据分析的结果,可以得到前兆特征信号出现的时间点,然后根据前后时间段内数据的变化趋势,确定前兆特征信号所在的时间区间。
-
对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间进行识别。根据以上方法可以得到最早出现的5个前兆特征信号所在的时间区间。
数学建模的方法如下:
-
设定一组时间序列数据为 X = x 1 , x 2 , . . . , x n X={x_1, x_2, ..., x_n} X=x1,x2,...,xn,其中 n n n为数据的总个数。
-
对数据进行预处理。首先,将数据按照时间顺序排列,然后使用移动平均滤波器对数据进行平滑处理,降低数据的噪声干扰。
-
对处理后的数据进行趋势分析。首先,将数据按照每7天的时间段进行分割,然后对每个时间段内的数据进行回归分析,得到数据的线性趋势。最后,根据回归分析的结果,判断数据的变化趋势。
-
根据数据的变化趋势,判断数据是否为前兆特征信号。若数据呈现出上升趋势,则判定为前兆特征信号。
-
确定前兆特征信号所在的时间区间。根据数据分析的结果,可以得到前兆特征信号出现的时间点,然后根据前后时间段内数据的变化趋势,确定前兆特征信号所在的时间区间。
-
对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=m∑n=ii+mXn for i=1,2,…,n−m+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+mwn∑n=ii+mwnXn for i=1,2,…,n−m+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)=1−tanh(αΔ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(A∣B)=P(B)P(B∣A)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)
更多内容可以点击下方名片详细了解,让小鹿学长带你冲刺五一杯夺奖之路!
敬请期待我们的努力所做出的工作!记得关注 鹿鹿学长呀!