美文网首页
阿里天池算法大赛-电力预测大赛总结

阿里天池算法大赛-电力预测大赛总结

作者: 渔山樵水 | 来源:发表于2017-10-19 10:54 被阅读687次

赛题给的数据是14多家企业24个月中每天的用电量数据,要求预测下一月中每天该地区的总用电量。

  • 首先这是一个回归问题。

常用的来求解回归问题的模型有:线性回归、决策树、K近邻、神经网络、支持向量机回归。

  • 一、线性回归模型既是自回归模型(AR),只用AR太简单拟合效果可不好,对其改进后有ARMA模型,再改进有ARIMA模型。
    0.纯随机性检测,如果数据间没有联系或规律那什么模型也没用。
    数据给的是时间序列形式, 因此我们先用时间序列模型ARIMA来计算拟合
    1,平稳性检验
    ADF检验(单位根检验)
    如果不平稳则对数据做处理1,对数变换,2,平滑法,3,差分,4,分解,stl分解。
    一般周期趋势用平滑法处理,长期趋势用差分处理。
    得到一个较稳定的序列,再继续使用arma模型来处理。
    2,定阶(定模型参数)
    arma(p,d,q),d在做差分时决定,p,q 分别用自相关分析和偏相关分析来决定。或者遍历可能的p,q值,通过BIC值来决定。BIC与残差和自变量个数有关,残差越小bic值越小,自变量越多bic值越大,因此BIC一定程度上防止过拟合。
  • 二、然后考虑使用决策树模型,
    • 决策树的生成算法,
      ID3:根据信息增益来选择特征来生成树
      C4.5:根据信息增益比来选择特征来生成树
      CART(分类与回归树):根据最小方差生成回归树,为最小二乘回归树
      根据Gini基尼系数(近似表示分类误差)生成决策树。
    • 常用的有GBDT,XGBoost,随机深林
      GBDT vs 随机深林: GBDT是一颗树是基于上一颗树的残差继续学习。而随机深林是多颗弱分类树来投票决定最后结果。随机深林是bagging的改进,GBDT类似于adaboosting思想。
      随机深林对异常值不敏感,GBDT对异常值非常敏感。因此本题样本中异常值较少,或者这些异常值是小样本数据需要着重考虑,所以应选择GBDT。
      GBDT vs XGBoost:XGBoost 是GBDT的高效实现,不仅可以是CART还可以是线性分类器。xgboost用的是loss函数的二阶泰勒展开,同时用到了一阶和二阶导数。xgboost在代价函数里加入了正则项控制模型复杂度,防止过拟合。xgboost借鉴随机深林的列抽样,降低过拟合,减少计算量。

1,特征选择(也是关联性分析):
1)相关性:特征与分类信息相关度越高越好,特征间相关度越低越好。(r= 协方差/各自的标准差)
2)距离:好的特征使属于同一类的样本距离尽可能小,不同样本间距离尽可能远。散点图。
3)信息增益:同ID3算法。

2,我们在所做的特征选择的优势:
1)通过统计分析,分析出了异常用电、节假日影响;最大用电企业,以及企业用电分布。
2)借鉴ARMA模型考虑数据间关系,将上月、上上月、及去年数据同时再作为特征是使用,虽然较早的数据没有这部分特征,但是不影响GBDT模型。
3)交叉验证;时间序列不同与分类问题的样本,交叉验证时不能随机选择,而是按时间段来选择。平台上没有交叉验证函数,我们自己构建交叉验证模型。

3,对数据聚类,分别处理。
使用kmeans 根据企业周用电规律,和月用电规律进行分类。最终分成两类(可以根据轮廓系数来确定k值)。

4,模型选择,差异性融合
对与用电量较大的企业,其用电数据平稳,适合使用ARIMA,其他企业的用电数据对节假日等时刻比较敏感,随意选择GBDT。

相关文章

网友评论

      本文标题:阿里天池算法大赛-电力预测大赛总结

      本文链接:https://www.haomeiwen.com/subject/stysuxtx.html