2023年天府杯全国大学生数学建模竞赛A题震源属性识别模型构建与震级预测解题全过程文档及程序

news2024/11/26 14:58:20

2023年天府杯全国大学生数学建模竞赛

A题 震源属性识别模型构建与震级预测

原题再现:

  地震是一种较为复杂的地壳运动现象,全世界每年发生的地震灾害事故不计其数。旨在减少地震灾害的地震预警预报技术需要在日常地震监测中有效识别出天然地震事件,剔除掉人工地震记录或异常干扰信号,然后进行后需操作。地震信号精准辨识是地震学研究和地震观测技术的重要内容,但随着城市工程建设项目的急剧增多和地震台网监测范围的扩大,爆破、矿震、武器试验、塌陷等非天然地震事件时有发生,干预了近震事件的记录、大震应急处置与地震目录的日常管理,有必要增强识别模型的可靠性与精度大小。
  震级预测是地震预测的重要目标(震中、发震时间、震级等)之一,震级大小的精准判定依赖于大量历史事件的特征挖掘和地震波能量估计,且有助于开展针对性的地震应急方案制定,减少损失。
在这里插入图片描述
  随着计算机技术和人工智能学科的发展,人工智能地震学应用而生,利用机器学习和神经网络模型解决常规地震学问题的手段亦逐渐取代传统方法,深入到震源属性识别模型构建与震级预测中。

  请解决:
  问题 1:针对附件 1~8 中的地震波数据,找出一系列合适的指标与判据,构建震源属性识别模型,进行天然地震事件(附件 1~7)与非天然地震事件(附件 8)的准确区分;
  问题 2:地震波的振幅大小、波形特性与震级有着显著关联。根据已知震级大小的附件 1~7 中数据(震级大小分别为:4.2、5.0、6.0、6.4、7.0、7.4、8.0),恰当地挑选事件与样本,建立震级预测模型,尝试给出附件 9 中地震事件的准确震级(精确到小数点后一位)。
  问题 3:库深、库容、断层类型、构造活动/基本烈度、岩性等是影响水库诱发地震震级大小的重要因素。请根据附件 10 中 102 个水库地震样本,尝试建立水库基本属性资料与震级的关系模型,并给出合理的依据。
  注意:信号采样率统一为 200 Hz;附件 1~9 中每个附件皆代表一个独立地震事件,附件中的各个样本来自于同一地震事件中的不同台站观测数据,且数据物理含义相同(加速度或速度);库深单位为 m,库容单位为100000000m^3。

整体求解过程概述(摘要)

  地震是一种复杂的地球现象,每年全球都会发生许多地震,因此寻找可靠的地震预警预报技术非常重要。为了能有效地识别出天然地震事件,并排除人为地震或其他信号的干扰,需要进行精确的地震信号辨识。同时,随着城市工程建设的增加和地震台网监测范围的扩大,非天然地震事件的发生也越来越多,因此增强模型的识别可靠性和精度也变得十分重要。在地震预测的众多目标之一,震级预测的精准判定有助于开展针对性的地震应急方案制定,减少灾害损失。
  针对问题一,为了解决自然地震和非自然地震事件识别的问题,首先需要对所有站点收集到的数据进行合并处理。其次,利用MFCC方法对数据集进行特征提取。然后采用了多种分类器,包括概率神经网络、BP神经网络、支持向量机和logistic回归等,对数据进行二分类识别。最后,通过比较和分析结果,得出了附件9的具体类别为自然地震事件。
  针对问题二,为了解决附件9的震级预测问题,首先利用问题一提取的特征数据,并通过主成分分析法进行数据降维,以减少数据维度,提高预测效果。利用灰色关联系数大致猜测附件9的震级值与附件4最为接近,即震级值为6左右。其次,建立了6种不同的预测模型,包括支持向量机回归、BP神经网络、模糊神经网络、多元线性回归模型,此外,还利用鮣鱼优化算法和增强版鮣鱼优化算法调整正则化系数,构建两种不同的岭回归模型对附件9的震级进行回归预测。最后,通过分析3种误差指标(平均绝对误差、均方根误差和平均百分比误差)以及拟合度R²,确定了较好的模型,并预测了附件9的震级值为6.1。
  针对问题三,为了研究水库基本属性资料与震级之间的关系模型,首先,利用对“附件10”中的类别变量进行编码,便于后续建模分析。其次,运用建立岭回归模型,发现库容和库深与震级关系不显著,而岩性与震级的关系存在一定的争议,进一步通过逐步回归模型,选出影响因素的关键变量为断层类型和构造活动/基本烈度。然后,鉴于水库属性与震级之间可能存在非线性关系,应用增强版鮣鱼优化算法,建立了非线性回归模型,以更加准确地描述两者之间的关系。最后,进行模型误差对比和对自变量进行敏感性分析,确定最终的关系模型,即震级值关于断层类型和构造活动/基本烈度的非线性回归模型,其拟合度R²为0.981。

模型假设:

  为了便于考虑问题,不影响模型准确性的前提下,作出以下假设:
  (1)假设站台的测试数据能够反应震动类别。
  (2)假设测试数据无误。
  (3)对于震值的预测,假设站台测试数据能够反应震值。
  (4)对于关系模型的建立,假设无其他强相关的变量影响震值。

问题分析:

  针对问题一
  为了解决识别自然地震和非自然地震事件的问题,首先,将所有站点收集的数据进行合并处理。其次,利用 MFCC 方法对数据集进行特征提取。然后,采用了多种分类器,包括概率神经网络、BP神经网络、支持向量机和logistic回归等,对数据进行了二分类识别。最后,通过比较和分析,确定了附件9的具体类别。
  针对问题二
  为了解决附件9的震级预测问题,首先,利用问题一提取的特征数据,并通过主成分分析法进行数据降维,以减少数据维度,提高预测效果。同时,利用灰色关联系数大致猜测附件9的震级值。然后,建立了6种不同的预测模型,包括支持向量机回归、BP神经网络、模糊神经网络、岭回归、线性回归模型等,对附件9的震级进行回归预测。最后,通过分析3种误差(平均绝对误差、均方根误差和平均百分比误差)和拟合度,得到较好的模型,并确定附件9的震级。
  针对问题三
  为了研究水库基本属性资料与震级之间的关系模型,首先,我们利用SPSSPRO对“附件10”中的类别变量进行编码,便于后续建模分析。其次,我们运用岭回归和逐步回归等统计方法,建立线性回归模型,并选出了影响因素的关键变量。鉴于水库属性与震级之间可能存在非线性关系,应用EROA,建立了非线性回归模型,以更加准确地描述两者之间的关系。最后,我们进行了误差比较和敏感性分析,以确定最终的关系模型。

模型的建立与求解整体论文缩略图

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animation
#定义计算区域
x0 = 0.0
x1 = 1.0
y0 = 0.0
y1 = 1.0
N = 100
ds = (x1 - x0)/N

t0 = 0.0
t1 = 1.4
M = 1400
dt = (t1 - t0)/M
x = np.linspace(x0, x1, N+1)
y = np.linspace(y0, y1, N+1)
t = np.linspace(t0, t1, M+1)

r = dt/ds;
#初始化计算区域
(X, Y, T) = np.meshgrid(x,y,t)
#解析解
uu = np.multiply(np.multiply(np.cos(np.sqrt(2) * np.pi * T),np.sin(np.pi * X)),np.sin(np.pi * Y))
#有限差分求解
#创建差分数组
u = np.zeros((N+1,N+1,M+1))
#加入初始条件1
for i in range(0,N+1):
    for j in range(0,N+1):
        u[i,j,0] = np.sin(np.pi*i*ds) * np.sin(np.pi*j*ds)
#加入初始条件2
for i in range(1,N):
    for j in range(1,N):
        u[i,j,1] = r**2 / 2 * (u[i+1,j,0] + u[i-1,j,0] + u[i,j+1,0] + u[i,j-1,0]) + (1 - 2*r**2) * u[i,j,0] 
#加入边界条件
for k in range(0,M+1):
    u[0,0,k] = u[0,N,k] = u[N,0,k] = u[N,N,k] = 0
#递推求[1,N-1]时刻波场
for k in range(1,M):
    for i in range(1,N):
        for j in range(1,N):
            u[i,j,k+1] = r**2*(u[i+1,j,k]+u[i-1,j,k]+u[i,j+1,k]+u[i,j-1,k]) + (2-4*r**2)*u[i,j,k] -u[i,j,k-1]
(X, Y) = np.meshgrid(x,y)
t = 100

fig = plt.figure(figsize=(20,16))
ax1 = fig.add_subplot(131,projection='3d')
surf1 = ax1.plot_surface(X, Y, uu[:,:,t], cmap='viridis')
fig.colorbar(surf1)
ax1.set_xlabel('X Label')
ax1.set_ylabel('Y Label')
ax1.set_zlabel('Z Label')
ax1.set_title(f"analysis solution at time {t*dt}")

ax2 = fig.add_subplot(132,projection='3d')
surf2 = ax2.plot_surface(X, Y, u[:,:,t], cmap='viridis')
fig.colorbar(surf2)
ax2.set_xlabel('X Label')
ax2.set_ylabel('Y Label')
ax2.set_zlabel('Z Label')
ax2.set_title(f"FD solution at time {t*dt}")

ax3 = fig.add_subplot(133,projection='3d')
surf3 = ax3.plot_surface(X, Y, uu[:,:,t]-u[:,:,t], cmap='viridis')
fig.colorbar(surf3)
ax3.set_xlabel('X Label')
ax3.set_ylabel('Y Label')
ax3.set_zlabel('Z Label')
ax3.set_title(f"error at time {t*dt}")

plt.show()
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

PyTorch学习笔记之激活函数篇(三)

文章目录 3、ReLU3.1 公式3.2 对应的图像3.3 对应的图像的代码3.4 优点与不足3.5 torch.relu()函数 3、ReLU 3.1 公式 ReLU函数的公式&#xff1a; f ( x ) { x , x > 0 0 , x < 0 f(x) \begin{cases} x&,x>0 \\ 0&,x<0 \end{cases} f(x){x0​,x>…

鸿蒙4.0ArkUI快速入门(一)应用模型

ArkUI篇 应用模型Stage模型FA模型模型对比 应用模型 应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼&#xff0c;它提供了应用程序必备的组件和运行机制。 HarmonyOS先后提供了两种应用模型&#xff1a; FA&#xff08;Feature Ability&#xff09;模型&…

HarmonyOS4.0—自定义渐变导航栏开发教程

前言 今天要分享的是一个自定义渐变导航栏&#xff0c;本项目基于鸿蒙4.0。 先看效果&#xff1a; 这种导航栏在开发中也比较常见&#xff0c;特点是导航栏背景色从透明到不透明的渐变&#xff0c;以及导航栏标题和按钮颜色的变化。 系统的导航栏无法满足要求&#xff0c;我们…

【Linux】项目部署CPU彪高如何定位

1.查看所有CPU占比 使用top指令获取彪高进程的PID 2.输出进程的信息 ps H -eo pid,tid,%cpu | grep 1313 3.查看线程的信息 jstack tid nid都是十六进制的 4.进制转换 将 tid的十进制转为十六进制 找到nid 可以定位到具体位置 5.关闭程序 ps -ef | grep java kill -9 jav…

LeetCode 面试经典150题 380.O(1)时间插入、删除和获取随机元素

题目&#xff1a; 实现RandomizedSet 类&#xff1a; RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时&#xff0c;向集合中插入该项&#xff0c;并返回 true &#xff1b;否则&#xff0c;返回 false 。bool remove(int val) 当元素 va…

Lightroom Classic 2024 for mac 中文激活:强大的图像后期处理软件

对于追求极致画面效果的摄影师来说&#xff0c;Lightroom Classic 2024无疑是Mac平台上的一款必备软件。它凭借其强大的功能和出色的性能&#xff0c;赢得了众多摄影师的青睐。 软件下载&#xff1a;Lightroom Classic 2024 for mac 中文激活版下载 在Lightroom Classic 2024中…

软件测评中心:进行科技成果鉴定测试的注意事项和好处简析

软件产品科技成果鉴定是有效评价科技成果质量和水平的方法之一&#xff0c;也是鼓励科技成果通过市场竞争等方式得到有效的评价和认可&#xff0c;可以推动科技成果的进步和转化。 一、进行科技成果鉴定测试时的注意事项&#xff1a;   1、应由具备一定资质和能力的专业机构…

处理器方法的参数

处理器方法的参数&#xff1a; 处理器方法可以包含以下四类参数&#xff0c;这些参数会在系统调用时由系统自动赋值&#xff0c;即程序员可在方法内直接使用: HttpServletRequestHttpServletResponseHttpSession请求中所携带的请求参数 控制器方法&#xff1a; 前面三个参数怎…

【LeetCode: 173. 二叉搜索树迭代器 + dfs + 二叉搜索树】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

常用小知识点总结

1. pc可以跑通&#xff0c;但是安卓编译死循环&#xff0c;可能是函数声明了返回类型&#xff0c;但是没有真正返回 2. ubuntu下根据关键词杀死所有相关进程。ps -ef | grep code | grep -v grep | cut -c 10-16 | xargs kill -s 9 top和ps基本作用都是显示系统进程状况&…

由浅到深认识Java语言(2):Java语言概述

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

《UE5_C++多人TPS完整教程》学习笔记28 ——《P29 Mixamo 动画(Mixamo Animations)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P29 Mixamo动画&#xff08;Mixamo Animations&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者…

【机器学习-05】模型的评估与选择

在前面【机器学习-01】机器学习基本概念与建模流程的文章中我们已经知道了机器学习的一些基本概念和模型构建的流程&#xff0c;本章我们将介绍模型训练出来后如何对模型进行评估和选择等 1、 误差与过拟合 学习器对样本的实际预测结果与真实值之间的差异&#xff0c;我们称之…

蓝桥刷题--四元组问题和肖恩的投球游戏加强版

1.四元组问题 我的这个代码有点问题&#xff0c;我也找不出来&#xff0c;哪位大佬指正一下 // 四元组问题 //思路 // 是否存在 a < b < c < d, 使得nums[d] < nums[c] < nums[a] < nums[b] //分别维护二元组 (a, b) 和 (c, d), 对合法 b 维护前缀 max 的 n…

安卓Android入门

安卓作为日常生活中不可缺少的移动操作系统&#xff0c;在5G的发展和应用过程中发挥着其重要的作用。 5G是第五代移动通信技术&#xff0c;拥有更快的速度、更高的带宽、更低的延迟和更大的连接密度。这一技术的快速发展为移动设备和应用提供了更多的可能性。 安卓和5G的关系…

低代码 + 大模型,让业务系统智能化,加速想法落地

1 AI 时代下的应用 大模型来了&#xff0c;每个行业/领域都在融合大模型。作为低代码开发的探索者&#xff0c;今天我们来聊聊业务系统是如何融合大模型实现智能化的。 我们用百度内部实际应用场景来举例。比如请假&#xff0c;智能业务助手可以帮你&#xff1a; 了解…

卸载torch并更新版本,torch-gpu的下载安装--亲测有效!!

以前一直抱怨实验室的cuda版本&#xff0c;以前是10.1&#xff0c;导致只能安装最低配版本的torch&#xff0c;也就是torch1.8.1&#xff0c;现在内核版本和驱动都更新了&#xff0c;变成了cuda11.4&#xff0c;以前的环境都没办法跑代码&#xff0c;只能重新进行卸载安装。 1…

计算机毕业设计-基于Python的“哔哩哔哩视频网”视频热度分析

概要 在21世纪的今天&#xff0c;网络发展越来越快&#xff0c;网上的娱乐方式也越来越多样化&#xff0c;而如今在网上观看视频消遣时间越来越受到大众的青睐。Bilibili视频网站是现当下年轻人最受欢迎的一个视频网站。有调查显示&#xff0c;直到2019年的10月份&#xff0c;B…

flowable-ui部署

版本 java: java8+tomcat: apache-tomcat-9.0.87flowable: flowable-6.8.1mysql驱动: mysql-connector-java-8.0.30.jar 注意:版本一定要对,否则启动报错执行数据库脚本 创建数据库flowable执行脚本,脚本位于解压flowable-6.8.1.zip后的flowable-6.8.1/database/create/all/…

机器学习——终身学习

终身学习 AI不断学习新的任务&#xff0c;最终进化成天网控制人类终身学习&#xff08;LLL&#xff09;&#xff0c;持续学习&#xff0c;永不停止的学习&#xff0c;增量学习 用线上收集的资料不断的训练模型 问题就是对之前的任务进行遗忘&#xff0c;在之前的任务上表现不好…