太平洋西北部人工智能地震数据集
太平洋西北地区包含了大量的地震,各种类型的地震
PNW地区地震记录的持久性和活跃地质灾害的丰富性为探索广泛的地震特征提供了独特的机会。
地震数据的高维性,数据量急剧增长的特性大大推动了机器学习在地震科学上的使用
目前有几个准备好的数据集:STEAD,INSTANCE,ETHZ,SCEDC
这些数据集包含各种地震仪记录的地震和噪声时间序列,56个典型数据属性是震源的基本特征
这样的数据集被认为是“ai就绪”的,因为它们的数据和属性是用机器学习社区常用的数据格式打包的
地表滑坡事件也可以产生地震波
本文介绍的地震数据集:构造地震、爆炸、地表事件(岩石坠落/雪崩)、音爆、雷暴
从iris下载数据
老事件的筛选:要求每一个台站都对地震事件有P和S的到达信息
我们使用SeisBench的元数据格式:表列出了我们与每组波形相关联的属性
新事件的检测由区域地震台网sta自动和手动审查
pnsn利用地震台站的数据监测和报告该地区的地震活动 使用STA/LTA来判别地震事件
子网站点组:一组地震站,称为“子网站”,用于监测特定地理区域的地震活动。当子网站内的多个站点检测到一个重要事件(即它们的STA/LTA超过阈值),就会考虑进一步的分析。
自动保存事件:如果子网站内的多个站点检测到一个事件,系统会自动保存有关事件的信息以供进一步审查
关于表面事件的定义
当确定一个事件是一个地震事件的时候,自动拾取系统会尝试从地震图形中识别和提取地震相(如P波和S波)的到达时间。这些到达时间对于确定地震的位置和深度非常重要
接着进行手动拾取:PNSN的分析员会仔细检查自动选取的到达时间,确保它们准确无误。如果需要,他们会对这些选取进行修改,以确保地震参数的准确性
分析员会手动注释到达时间并估计其选取的不确定性。
这些相到达时间仅在每个站点的单个分量上进行选择,通常选择P波在垂直通道(Z分量)上,而S波在水平通道(E/N或其他分量)上。
在相到达时间的选择中,既使用加速度通道又使用速度通道,尽管速度通道是最常用的。PNSN操作站点使用速度通道
pnm分为好几个数据集
异类事件的监测和记录在很大程度上受到分析员的手动干预和时间可用性的限制,主要是火山活动期间发生的事件
大多数异类事件的震级和振幅都比较小,因为只有几个台站,缺乏额外的观测,所以无法提供关于事件的源特性,(起始时间,震级,)由于都是局部性,难以提供很详细的地震参数来分析特征。
事件波形
对于每一个comcat事件,我们只选取同时有p和s到时的台站
数据窗口:为每一个comcat事件准备一个时间窗口,从震源开始前的一段时间开始,到震源结束一段时间之后
与数据窗口长度相同的噪声波形也包括在数据集中,以便在未来修正数据和移动数据具有一定的灵活性
S波达到:因为S波达到在震源到达时间之后的一定秒数之内的比例小于特定的百分比,大多数的S波到达都包含在窗口内部
数据处理:数据经过各种处理步骤,包括线性去趋势化和重新采样到特定采样率。
重新采样:采样率进行了调整,包括对具有时钟不准确性的某些站点进行重新采样到特定速率
缺失轨迹:带有缺口或缺失段的数据被丢弃。
单一仪器数据挑选:我们只是用每一个站点的单一仪器数据进行挑选,即使站点有很多传感器,保证每个数据流都是独立的
从触发式数据到连续数据的过渡是渐进的,有时触发数据(经过去趋势化处理)和连续数据(未经处理)会同时传输:触发数据会覆盖连续数据,从而在数据中创建一个跃迁
噪声波形是在地震事件波形之前提取的,而在噪声波形中,使用机器学习模型进行测试,以确定是否可能存在未被察觉的事件。
将三分量波形整理为Numpy数组,将三分量数组定义为stream, 为了在机器学习生态系统中提高数据的可访问性,遵循SeisBench数据格式规范,元数据以csv文件的形式存储,所有的波形以层次数据格式(hdf5)存储,信噪比SNR经过计算,并保存为元数据文件的属性。
使用EQTransformer模型在不同的数据集进行预训练模型,这意味着模型在不同的背景数据集(在STEAD、ETHZ、SCEDC和INSTANCE数据集)条件下进行了训练,让模型从地震波形中提取相位信息。
然后使用预训练模型对comcat数据中的事件进行自动拾取,然后这些模型生成的标记与pnsn分析员手动标记进行比较,
这样的比较可以评估这些模型在地震相位标记任务中的性能和准确性。
评估地震事件检测和相位标记性能的方法包括:
性能权衡意味着需要重新训练相位标记器,以在PNW数据获得更好的性能,以平衡事件检测的准确性和相位标记的质量。这种权衡反映了在地震数据处理中不同目标之间的取舍
使用我们经过筛选的ComCAT地震和爆炸数据集,我们重新训练EQTransformer,与从头开始训练(随机初始化权重)不同,我们从SeisBench经过训练的模型开始训练,该模型使用STEAD数据集,并在我们的数据集上继续训练额外的一些时期,在训练过程中,我们使用较小的学习率和Adam优化器(就是先使用STEAD训练出一个预训练模型,然后再进行额外的训练)
与其他预训练模型相比,将PNW数据集进行迁移学习可以显著提高检测的准确性,大幅度改善S波的到时标记,并且表现得和使用STEAD训练的数据集一样出色,其中INSTANCE包含最多的加速度波形(占据一定的百分比),结果现实,PNW迁移学习模型胜过其他预训练模型
使用重新训练的EQTransformer模型,通过改进的震相拾取模型,筛选出新的地震事件到时标记,将它们添加到一个筛选数据集中,同时从噪声波形中删除未标记的地震事件,这有助于创建一个更完整和准确的地震目录。将新生成的标记和PNSN人工标记进行结合,形成一个独立的筛选数据集。使用重新训练的模型来预测噪声波形,将具有大于某个预测值的标记从数据中删除,清楚噪声波形中未标记的地震事件
数据集中包括从ComCat和异类事件目录中精选的三分量波形数据,分别是190016和9627个事件
我们将所有波形存储在HDF5文件中,并且使用元数据中的跟踪名称进行索引
属性:trace_start_time以"YYYY-MM-DDTHH:MM:SS.SSSZ"格式描述了波形流开始时的时间。
下面的代码块演示用户如何在Python中读取波形数据并且定位波形流。
使用h5py从SeisBench格式波形文件中读取流数据
import h5py
f = h5py.File("/waveforms.hdf5", "r")
# 数据以固定窗口长度的三分量垂直串联的Numpy数组形式保存
# 数据分布在多个HDF5 bucket中,这些bucket在hdf5层次结构中是组
# 波形数据的名称(作为元数据数据框中的数据属性保存)bucket1
# 1000: 数据在bucket中的索引
# 3 x 15001 表示波形数据的形状
trace_name = "bucket1$1000,:3,:15001"
bucket, array = trace_name.split('$')
# 0 3 15001
x, y, z = iter([int(i) for i in array.split(',:')])
print(x)
print(y)
print(z)
# 找到
data = f[f'/data/{bucket}'][x, :y, :z]
# 3x15001
print(data.shape)
持续时间震级(Md)和局部震级(Ml)是两种用于测定地震事件震级的不同方法,它们有以下区别:
* 计算方法:
* 持续时间震级(Md)是基于地震波在地壳中传播的持续时间来计算的。它通常使用垂直分量的地震波形来测量地震事件的震动持续时间,以确定震级。
* 局部震级(Ml)是根据水平分量的地震波形,通常是从宽频地震计中获取,经过特定的处理和校正,包括转换为具有Wood-Anderson响应,以计算地震事件的震级。
* 适用情况:
* 持续时间震级(Md)通常用于小型地震事件或那些未在具有水平分量的良好校准地震台站上得到良好记录的事件。它是一种相对简单的震级测定方法,对于一些小型地震事件来说可能是唯一可用的震级类型。
* 局部震级(Ml)通常用于更大或更广泛地记录的地震事件,尤其是对于具有良好的水平分量地震波形的地震事件。它通常提供更准确的震级测定。
* 区域性:
* 持续时间震级(Md)通常较局部,适用于局部地震活动和小型地震事件。
* 局部震级(Ml)更常用于区域性地震,对于涵盖更广范围的地震事件更为适用。
信噪比是衡量地震波行噪声水平的重要因素
定义噪声窗口为Comcat事件的P波到达前的秒数
为了更好捕捉出现的S波起点的能量,信号窗口被定义为S波到达前和S波达到之后的秒数
对于异类事件,由于P波和S波到达可能不能用,噪声窗口被定义为从跟踪开始后开始
SNR = (信号窗口内的最大振幅)/(噪声窗口内的振幅均值)
这个定义量化地震波行中信号和噪声之间的比率,来评估信号的性喜读和可靠性,那么SNR越低,表示噪声小,信号强
SNR > 80db 或者 SNR < 20db的波形数据都会从数据集中删除,排除错误或者低信噪比的波形,确保数据的质量和准确性