M5案例
评价指标用的RMSSE和WRMSSE
平均绝对百分比误差
MAPE没有考虑分母为0的情况,、
2.方法论
数据EDA -> 特征工程 -> 建模训练 -> 预测结果产出 -> 误差分析及模型解释
- 数据EDA
- 特征工程
- 建模训练 -> 预测结果产出 -> 误差分析及模型解释
- 预测结果产出 -> 误差分析及模型解释
- 误差分析及模型解释
如果单纯参加比赛的话,只需要进行前4步就可以了。
3.
1.探索性数据分析
包括
- 数据 First Look(类型,每列的意义,目标值)
大致看一下数据的大小,列名、内容、数据类型 - 数据检查和清洗(主键、空值,异常值)
数据主键是否有重复
train[train.duplicated(subset=['Store', 'Date'])]
,数据是否有空值,空值所对应的意义是什么?需要如何填充,
数据异常检测:箱型图、用分类模型去做异常值的检测、
- 趋势分析(通过作图的手段进行目标值分析)
目标值的趋势
目标值的分布情况,观察目标值的分布和统计情况,可以确定适用于哪种模型或者loss function进行训练,当服从高斯分布的时候,一般用RMSE的loss function。统计学有个概念叫偏度,用来描述分布情况。
Log1p, box-cox
jupyter notebook
当数据量太大,又只能用pandas处理的时候,需要用一些Downcast手段,去把项目的内存拉小,
对于比较小的数字,比如32,达不到2^8,故没有必要用64位来存储,这就是可以降低内存的手段。根据数字的大小,适度转为int8或者int16,避免浪费。