天池&Datawhale二手车新手赛-Task02

这一阶段主要是熟悉数据,并进行初步的EDA,个人认为EDA应该是一直持续到比赛前三天左右时间吧,最后就应该全力调参以及尝试各种trick了。

这一阶段,我觉得pandas_profiling 这个包能够很好的解决冷启动问题,看完基础报告下来,特征的一些基本情况也都大致了解了。

唉,果然一本正经的按部就班写不适合我的特点,直接进入吐槽模式吧。

对Y进行正态性转换的思考

首先是data whale给的教程里面, 上来就提到价格偏态,要做正态性转换,其中用到了 无边界约翰逊分布。为什么要做转换呢?

我这里阐述一下个人的理解。首先,正态性假设一般出于回归假设里面,经典的回归假设包括6条,其中最后一条是要求残差项服从正态分布(注意是最后一条,但绝对不是最重要的那条),这里指的是残差项服从正态分布,并没有要求y要服从正态分布。而且事实上,在计量经济里面,大量的y都是不服从正态分布的,也没见过谁上来就要对y做变化。

好了,说回正态分布,是否残差就一定要服从正态分布呢,其实也不需要,只要满足经典回归假设的前5条——即大名鼎鼎的高斯马尔科夫定理,ols就是blue的,因此压根就没要求残差一定要正态。
那是否真的没必要对y进行转换,我觉得是可能有这个必要,但绝对不是教程里面说的要满足正态性blablabla的原因。而且这个跟用什么模型有关,比如y正态性的话,可能会为优化带来便利,损失函数的优化可能会更快。尤其是XGBoost这种的,特征的分布完全不需要考虑,反而优化过程十分依赖y的分布,对y进行转换可能会为优化带来便利。

对赛题数据真实性的质疑

我觉得一份数据,至少要是真实的,这样建模过程中业务知识才能起到一定指导,而且大家在思考残差的时候才能更加有的放矢。但天池二手车这份数据,所有内容都进行了脱敏,还有15个匿名特征,这根本就不知道自己在建的什么模型。在看二手车价格数据,一大堆在100元以内的售价,即时官方说这单位是欧元,也不对啊。我问过做国内二手车的市场分析的朋友,他说二手车交易价格低于5000的都没有交易价值了。那不知道这些售价100欧元以内的数据是真的还是人为造的?好吧,姑且认为国外二手车交易的成本非常的低,以至于几十欧的交易也是可能实现吧。

这个也就算了,我还发现一些特征,对,就是那个v_0,其分布居然不可思议的按照40左右平移了,而且最要命的,连y也跟着一起平移。这种数据,想不用XGboost这类算法都不行吧。然后还有两个model,对应了所有的brand,这到底是个什么神奇的model。还有power,有一堆power是0,然后还有部分power达到了1000以上,很好奇这power是什么单位,不会有做了脱敏吧。反正都无法根据正常的业务逻辑来理解,或许是出售者自己随便手填的数据??

吐槽完毕,正经的说一点EDA。
对于二手车,车型寿命是一个很重要的特征,因此可以通过 regDate - saleDate, 当然里面需要一些简单的操作,略过。
然后我们最终大概率会用到XGBoost, 模型要求所有变量都要求是连续型变量,因此各种分类型变量(车型,品牌,变速器等等)都需要转换成数值编码,这里面车型可能需要做一下整合,因为车型太多,直接one hot会导致矩阵过大,可以把车型记录较多的单独编码,记录少的进行合并编码。而其他可以直接进行one hot。
对于v_0这种经过特殊处理的,也是需要特殊处理,比如直接平移,比如对特殊处理的记录单独增加一列变量v_0d 进行标记。这样处理后线性模型就能够处理。当然,XGBoost即时不处理也问题不大。
先这么多,未来想到持续补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值