AETA地震预测 AI 算法大赛——Helloworld队比赛方案(亚军)

首先很幸运拿到AETA地震预测AI数据分析大赛的亚军,非常感谢我的大佬队友(也是我的学弟)。我第一次参赛没有思路也没有经验,想先做一个可行性分析,做一个大而全的方案,导致的后果就是无从下手。队友直接给我上了一课,别想太多,先定一个简单的方案先试着,后期再做改进,不管三七二十一,一顿操作猛如虎,先肝再说,肝出了我们队的baseline,然后在比赛过程中一点点的改进,有了最终的方案。
       在这里也非常感谢主办方,给我们耐心地讲解,提供了很多研究资料,给了我很多启发。希望我的分享与总结能给大家带来些许帮助,并且一起交流学习。

1. 赛题分析

选手通过分析电磁和地声数据,发现其中与临震相关的异常信号和特征,挖掘前兆观测数据与地震三要素的相关性,并基于历史观测数据和地震目录,构建地震预测模型。

比赛要求:使用四川云南地区的历史观测数据预测未来该地区的地震事件,包括地震有无和地震发生的时间,经纬度,震级。主办方每周日更新本周的观测数据,要求提交下周四川云南地区的地震发生事件,包括地震有无和地震发生的时间,经纬度,震级。

比赛数据

19号台站的地声数据(蓝色最大值、黄色均值、绿色最小值)

87号台站的电磁数据(蓝色最大值、黄色均值、绿色最小值)

2. 赛题难点

(1)数据特征构建:原数据是典型的时序数据,其大量的信息藏在它的结构中,不仅仅体现在其数值上。构建新特征,并寻找其中的强特征是比赛的难点之一。

(2)地震机制复杂:不同的地区(如不同的断裂带)由于地质构造、地形地貌等不同,其地震的产生机理和发震特点也是有差异的。地震前,当地的电磁和地声会出现出现的现象没有明确的相通性,如何细分这些现象,并建立这些现象与地震的关联关系是比赛的难点。

3. 分类问题

按照地区划分:鲜水河地震带、安宁河-则木河地震带、金沙江地震带、松潘-较场地震带、龙门山地震带、理塘地震带、木里-盐源地震区、名山-马边-昭通地震带、小江地震带、中甸—南涧地震带、大关—马边地震带、澜沧—耿马地震带、泸水—腾冲地震带、普洱—宁洱地震带、通海—石屏地震带。
        按时间划分:地震事件发生前一周
        按震级划分:经过统计以上区域的三年内历史地震多发在3~6之间,所以按照震级影响范围和频次划分为四档。

4. 特征工程

(1)衍生特征:计算电磁和地声数据的临近差值等。

data['magn_var'] = data['average_magn'].diff()# 电磁均值的变化
data['sound_var'] = data['average_sound'].diff()# 地声均值的变化

(2)统计特征:统计电磁和地声数据的衍生特征及基础特征一天内的最大值,最小值,均值,方差,偏度,峰度,均方根,波形因子,峰值因子,脉冲因子,裕度因子,最大值与最小值的差、滑动四分位数,以及变异系数。

      #滑动四分位距for i in [0.25, 0.75]:result['average_magn_' + str(i)] = data['average_magn'].quantile(i)result['average_magn_' + str(i)] = data['average_magn'].quantile(i)
def stat_feature(data_ ,flag):result_ = {}for feature in data_.columns:if (feature in {'Date', 'Longitude', 'Longitude','stationID','Day','area','label','Day of Predicting'}):continuedata_min = data_[feature].min()data_max = data_[feature].max()data_mean = data_[feature].mean()data_std = data_[feature].std()data_skew = data_[feature].skew()data_kurt = data_[feature].kurt()# 均方根data_rms = math.sqrt(pow(data_mean, 2) + pow(data_std, 2))# 波形因子data_boxing = data_rms / ((abs(data_[feature]).mean()) + 0.0001)# 峰值因子data_fengzhi = (max(data_[feature])) / (data_rms + 0.00001)# 脉冲因子data_maichong = (max(data_[feature])) / ((abs(data_[feature]).mean()) + 0.00001)# 裕度因子data_yudu = (max(data_[feature])) / (pow((data_[feature].map(lambda x: math.sqrt(abs(x))).sum() / (len(data_))), 2) + 0.00001)data_range = data_max - data_mindata_covar = data_std / (data_mean + 0.0001)result__ = {feature + '_min': data_min,feature + '_max': data_max,feature + '_mean': data_mean,feature + '_std': data_std,feature + '_skew': data_skew,feature + '_kurt': data_kurt,feature + '_range': data_range,feature + '_covar': data_covar,feature + '_rms': data_rms,feature + '_boxing': data_boxing,feature + '_fengzhi': data_fengzhi,feature + '_maichong': data_maichong,feature + '_yudu': data_yudu,}result_.update(result__)result_ = pd.DataFrame([result_])if flag == 'train':result_['label'] = data_['label'].max()result_['stationID'] = data_['stationID'].max()result_['area'] = data_['area'].max()result_['Latitude'] = data_['Latitude'].mean()result_['Longitude'] = data_['Longitude'].mean()result_['Day of Predicting'] = data_['Day of Predicting'].max()return result_

(3)额外衍生特征:通过用随机森林的特征重要性筛选方法选出特征重要性排前50的特征,两两交叉相乘得出新特征。

5. 模型训练

使用Stacking方法进行建模,第一层基模型为lightgbm、随机森林和catboost,第二层使用逻辑回归。

6. 总结

方案做的非常仓促,大致的思路是把预测问题转化成分类问题,假设特征值与类标签存在关系。不过我个人认为数据中包含很多信息,从时域、频域和结构等等方面提取出丰富的特征,会使模型得到比较好的结果。在比赛中,有的选手会选择0点到凌晨6点之间干扰比较少的数据,也得到了很好地结果。
        当然,我这种方法仅仅是从分类的角度来转化问题,比赛中也有很多选手用回归的方法来预测,也取得了很好地结果。
        希望能给大家带来一点思路。
下一届比赛
(代码和处理后数据我稍后会上传到CSDN和github)

AETA地震预测 AI 算法大赛——Helloworld队比赛方案(亚军)相关推荐

  1. 深挖 AI 价值与温度,AETA 地震预测 AI 算法大赛开启

    最近几年来,AI 算法的价值和温度,时常会被低估. 从早先的大数据杀熟,到去年曝出的外卖员困在算法里,看起来 AI 算法似乎看起来有些人情味缺乏.不过,这是算法的问题吗? 显然并非如此.我们知道,技术 ...

  2. AETA地震预测AI算法大赛

    CompHub目前已聚合了来自Kaggle.阿里天池等平台的上千场比赛,本账号同时会推送最新的比赛消息,欢迎关注! 大赛简介 地震,尤其是大地震,一旦在人们毫无察觉的情况下发生在人口密集区,将对人们的 ...

  3. AETA地震预测AI算法大赛训练集可视化

    文章目录 监测站点分布 每日信号值 地声数据 磁场数据 画图代码 监测站点分布 每日信号值 出于数据保密的考虑,隐藏了刻度,横轴为天数,纵轴为信号值. 图中黑色虚线代表监测站点在那天有修改操作,可能会 ...

  4. 奖金16万!首届电子商务AI算法大赛ECAA报名开启

    由商务部和北京市人民政府主办的2021中国电子商务大会将于9月在京开幕.作为此次大会的重要组成部分,由第四范式承办的首届电子商务AI算法大赛ECAA(Electronic Commercial AI ...

  5. AI一分钟 | 特朗普以国家安全为由否决博通收购高通;阿里发起时尚AI算法大赛

    整理 | 阿司匹林 一分钟AI 3月12日,美国总统特朗普以国家安全为由,否决了博通对高通公司总额高达1170亿美元的收购案. 百度地图近日做出大调整,地图事业部从百度搜索公司转入 AI 技术平台体系 ...

  6. RTC领域首个AI算法大赛 AI in RTC 2019 创新挑战赛圆满落幕

    10月24日,由声网 Agora .RTC 开发者社区主办,数据科学学习社区 DataCastle共同协办,涂图科技.LeanCloud.极光.达观数据等合作伙伴提供支持的AI in RTC 2019 ...

  7. 近200万奖金!仅限在校生!DIGIX全球校园AI算法大赛来了

    Datawhale赛事 主办方:江苏省人工智能学会.华为 2021 DIGIX全球校园AI算法精英大赛由江苏省人工智能学会.华为终端云服务.华为南京研究所共同举办.大赛自2019年启动以来,将AI理论 ...

  8. 天池-安泰杯跨境电商智能算法大赛(冠军)方案分享

    竞赛分享 天池-安泰杯跨境电商智能算法大赛 --冠军团队:法国南部 团队成员:Rain/Fish/楠枰 在19年9月下旬结束的"安泰杯"跨境电商智能算法大赛中,来自京东零售的法国南 ...

  9. 算法大赛十强战队解题方案大公开!【附PPT下载】

    2020腾讯广告算法大赛已圆满结束,决赛舞台上一个又一个设计巧妙.思路清晰的解题方案,仍旧让每位观众都记忆犹新. 纵观决赛,其中最显眼的就是冠军战队"DYG"对于BERT的应用,他 ...

  10. 报名啦!阿里云智能客服对话式AI算法大赛之知识图谱构建与问答

    看为推动知识图谱与语义计算技术发展及应用落地,阿里云智能客服 CATC(Conversational AI Technology Challenge)大赛系列一"CCKS 2021 知识图谱 ...

最新文章

  1. 将图片的二进制序列转为numpy且有shape
  2. 【maven】 pom.xml内容没有错,但一直报错红叉 解决办法
  3. Java继承时构造函数的关系
  4. 解决org.apache.hadoop.io.nativeio.NativeIOException: 当文件已存在时,无法创建该文件。
  5. Linux系统基本概念
  6. visreg:带你玩遍模型可视化
  7. java基于ssm的学校教务管理系统的设计与实现
  8. python图书馆系统借书验证登陆功能
  9. 用计算机弹苹果手机铃声,苹果手机如何设置铃声
  10. 【吐槽】那些让人“口吐芬芳”的App登录骚操作
  11. 菜菜的sklearn课堂——决策树
  12. python日常应用——pdf拆分和合并 python PyPDF2
  13. matlab怎么表示分块矩阵,急求一个测量矩阵采用分块多项式矩阵时怎样引用的代码!!!...
  14. 允许用户使用 MAK 密钥激活 Office 2010 批量许可版
  15. Kotlin 元编程(注解,反射)
  16. iOS- 利用UIImageView自己整了个不会说话的汤姆猫
  17. 重磅!中国芯片新锐50强榜单发布,上海20家、北京仅4家!(附:详细解读)...
  18. VUE系列之element表单el-form-item自定义label
  19. 易语言 html 服务器,易语言模拟网页Web服务器源代码
  20. 由EIG牵头的财团与沙特阿美达成124亿美元的基础设施交易

热门文章

  1. 计算机应用技术要学java吗,计算机应用技术专业主要学什么
  2. Cortex-M0芯片GPIO详解
  3. 从零开始学PCR技术(二):Taq DNA酶
  4. 各种 lightbox 实现
  5. win10系统如何设置win11开机音效的方法
  6. 阿里云服务器大陆机房和香港机房如何选择?
  7. 获取网站icon图标
  8. 【数据结构】【王道】【树与二叉树】中序二叉线索树的实现及基本操作(可直接运行)
  9. 遇到的几个运放精密整流电路
  10. 计算机维护岗位主要职责怎么写,计算机维护岗位职责.doc