数据探索与分析
赛题:资金流入流出预测
赛题数据:竞赛中使用的数据主要包含四个部分,分别为用户基本信息数据、用户申购赎回数据、收益率表和银行间拆借利率表。
- 用户信息表
用户信息表: user_profile_table 。总共随机抽取了约 3 万用户,其中部分用户在 2014 年 9 月份第一次出现,这部分用户只在测试数据中 。因此用户信息表是约 2.8 万 个用户的基本数据,在原始数据的基础上处理后,主要包含了用户的性别、城市和星座。
- 用户申购赎回数据表
用户申购赎回数据表: user_balance_table 。里面有 20130701 至 20140831 申购和赎回信息、以及所有的子类目信息, 数据经过脱敏处理。脱敏之后的数据,基本保持了原数据趋势。数据主要包括用户操作时间和操作记录,其中操作记录包括申购和赎回两个部分。金额的单位是分,即 0.01 元人民币。 如果用户今日消费总量为0,即consume_amt=0,则四个字类目为空。
注 1 :上述的数据都是经过脱敏处理的,收益为重新计算得到的,计算方法按照简化后的计算方式处理,具体计算方式在下节余额宝收益计算方式中描述。
注 2 :脱敏后的数据保证了今日余额 = 昨日余额 + 今日申购 - 今日赎回,不会出现负值。
-
收益率表
收益表为余额宝在 14 个月内的收益率表: mfd_day_share_interest 。
-
上海银行间同业拆放利率(Shibor)表
银行间拆借利率表是 14 个月期间银行之间的拆借利率(皆为年化利率): mfd_bank_shibor 。
赛题目标:
利用2013年7月~2014年8月的数据,预测2014年9月每一天申购和赎回的总量。
数据分析与探索
# 为数据集添加时间戳
data_balance['date'] = pd.to_datetime(data_balance['report_date'], format= "%Y%m%d")
data_balance['day'] = data_balance['date'].dt.day
data_balance['month'] = data_balance['date'].dt.month
data_balance['year'] = data_balance['date'].dt.year
data_balance['week'] = data_balance['date'].dt.week
data_balance['weekday'] = data_balance['date'].dt.weekday
data_balance.info()
- 数据探索和准备步骤
1.1 时间序列图
时间序列图一般指推移图。推移图,又称趋势图,它是以时间为横轴,观察变量为纵轴,用以反映时间与数量之间的关系,观察变量变化发展的趋势及偏差的统计图。fig = plt.figure(figsize=(20,6)) plt.plot(total_balance['date'], total_balance['total_purchase_amt'],label='purchase') plt.plot(total_balance['date'], total_balance['total_redeem_amt'],label='redeem') plt.legend(loc='best') plt.title("The lineplot of total amount of Purchase and Redeem from July.13 to Sep.14") plt.xlabel("Time") plt.ylabel("Amount") plt.show()
1.2 数据分布可视化# 画出4月份以后的时间序列图 total_balance_1 = total_balance[total_balance['date'] >= datetime.date(2014,4,1)] fig = plt.figure(figsize=(20,6)) plt.plot(total_balance_1['date'], total_balance_1['total_purchase_amt']) plt.plot(total_balance_1['date'], total_balance_1['total_redeem_amt']) plt.legend() plt.title("The lineplot of total amount of Purchase and Redeem from April.14 to Sep.14") plt.xlabel("Time") plt.ylabel("Amount") plt.show()
每个月中每天购买赎回量的时间序列图
通过各种图表来了解,大致判断和找寻规律。之后根据了解进行进一步的分析。
1.3 变量间相关性分析与独立性分析
相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法。
独立性检验是统计学的一种检验方式。与适合性检验同属于X2检验(即卡方检验,英文名:chi square test)它是根据次数资料判断两类因子彼此相关或相互独立的假设检验。