zoukankan      html  css  js  c++  java
  • 【天池竞赛系列】资金流入流出预測思路

    赛题地址:http://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.VZW16k&raceId=3

    登录就可以下载数据


    题目一句话:依据13年7月到14年8月的申购赎回数据预測14年9月每一天的申购赎回数据。


    算法问题:此题能够使用线性回归和时间序列预測,仅仅要特征好效果都还能够。我们使用的是R以下的随机森林+LM  。决赛仅仅有4次提交机会,第一次我们26名,后面每天都降,这些火箭简直太可怕了,最后天我们运气好稳定在了47名。后来问过那些火箭才知道他们使用的是STL时间序列预測,由于这种方法预測的值偏大。刚好答案也是偏大。所以会出现大量火箭。


    预处理问题:题目给出的是每天用户的操作数据。我们须要按日期汇总为申购赎回数据,由于提交结果也是按天的

    汇总下来好像是427条,观察之后能够发现13年到14年前期都不太稳定。所以我们能够取稳定后的数据,3-8或者4-8月都能够。

    另外既然取了3-8月的数据,就代表没有去年国庆前期的数据了,这个问题比較大,由于须要预測14年9月的。9月末的数据跟13年9月的数据趋势有相关性。可是13年9月的数据变化比較剧烈,由于比赛不准单点。没法自己去插入14年9月30号这天的数据,怎么办呢?我们前期測了下20140930的值,和9月29的值比例大概是11:9-11:8的样子。所以我们手动在训练集中插入了一调20130930的申购赎回数据来拟合14年预測结果。不知道这样还算不算调单点?


    特征问题:官方给出的baseline是使用了星期的7个特征使用LM建模。我们分析过数据后发现跟星期并没强烈相关性。反而更上班休假有强烈相关性(第一赛季事实上是跟股票有强烈相关,第二赛季数据量大倒没多大影响了)

    所以我们设计了例如以下特征:

    --一周正常第1/5天上班, 周末第1/2天,休假第1/3天,休假前/后正常上班的一天
    --上班前一天休假,工作日。休假,月初月中月末(10天周期),每月第一天
    --上一个波峰/波谷是几天前
    --上班最后天后要放几天假(2-3,7 3个01特征)
    --上班第一天前放了几天假(2-3 2个01特征)
    --两天的假,三天的假
    --周日补班
    -- 股票波浪理论。135浪

    另外全部特征均为01特征。为什么这样做大家能够自行思考下。


    当中19个特征在part1的时候纯lm能够达到203分

    全部特征在PART2的时候lm+RF能够达到201分


  • 相关阅读:
    Android: ListView与Button的共存问题解决
    Android DatePickerDialog和TimePickerDialog显示样式
    Android日期操作
    android 8种对话框(Dialog)使用方法汇总
    FastJson将json解析成含有泛型对象,内部泛型对象再次解析出错的解决办法(Android)
    Android中解析JSON格式数据常见方法合集
    java使用json-lib库的json工具类.
    EditText限制输入的几种方式及只显示中文汉字的做法
    android:layout_gravity和android:gravity属性的区别
    1.0 Android基础入门教程
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7345003.html
Copyright © 2011-2022 走看看