数据统计与分析竞赛简单复盘

本文最后更新于:2021年6月27日 下午

# 数据统计与分析竞赛简单复盘

竞赛内容分析

我的角色:队长、编程+建模

赛题:用户价值分析与消费行为预测

任务:带领队伍在一周时间内编写算法模型以论文形式提交赛题给定任务的数学建模和数据分析方案。

我的部分:团队时间管理,算法部分的文献调研、论文算法复现、数据处理与可视化分析、模型算法设计与方案实现及相关部分论文撰写

结果:指定时间内成功提交论文并取得全国一等奖(前1%,3/319)

难点

  • 理清楚已有数据关系并构造新的数据

  • 基于类别不平衡数据建立无偏模型

  • 可视化数据并根据分析给出商业决策建议

关键点

  • 类别不平衡的解决方案

代码后续会上传到Github

团队协作经验&工具

方法论:OKR(大目标小DDL),Todolist

线上协作:Overleaf论文写作+服务器jupyterlab代码编写+腾讯在线文档任务管理

可视化工具:hightcharts、pyecharts、tableau、plotly、matplotlib、seaborn、镝数、思维导图ProcessOn

编程工具:JupyterLab、VS Code(本地)、百度AI Studio(线上)

写作工具:tablegenerator(表格转latex)、Typora(markdown)

方案检索:GitHub、Kaggle、阿里天池社区、paddlepaddle社区、heywhale社区、CSDN、知乎、微信公众号…

文献检索:图书馆(线上线下)、各大顶会、经典书籍(西瓜书、统计学习方法)、行研(艾媒、前瞻)…

不足的是,这次比赛缺少在线文献管理工具的使用,导致遗漏了一些论文中用到但没有找回的文献,以后尽量使用,形成工作流。

用到的技术&踩坑&发现

技术背景:类别不平衡

技术实现:

  • 各种加权交叉熵loss变种

  • 各种基于GBDT的算法XGB、LightGBM、CatGBM

  • XGB、LGB、CGB自定义损失函数

  • 针对类别类型特征的编码

  • 采样方法改进

  • catboost可解释性可视化

踩坑:

  • 下采样SPE性能瓶颈
  • 二分类用概率阈值对数几率回归分类的差异
  • 评估指标不同包内的实现与计算偏差
  • 随机划分数据集id序丢失问题
  • 交叉验证的本质和用法混淆
  • 超参搜索技巧
  • matplotlib字体显示问题
  • 可视化后的图片保存问题

发现:

  • SPE改进自定义hardness函数效果不同

  • sigmoid和logit对数几率回归函数呈反函数关系,效果不同