数据挖掘实践(资金流入流出预测)–Task1数据探索与分析
1. 数据探索和准备步骤
1.1 时间序列图
通过时间变化可以得到事务的变化趋势
1.2 数据分布可视化
可以使用直方图、密度曲线图、箱型图、小提琴图等
1.3 变量间相关性分析与独立性分析
相关性分析
定类变量:名义型变量;性别
定序变量:不仅分类,还按某种特性排序;两值的差无意义;教育程度
定距变量:可比较大小、差有意义的变量
独立性分析/检验
变量间无线性相关性,还可能存在非线性关联
假设X为连续型变量,Y为离散型变量(有R种取值)
𝐻_0:X与Y独立;𝐻_1:X与Y不独立
定义𝐹(𝑋)=𝑃(𝑋≤𝑥),𝐹_𝑟 (𝑋)=𝑃(𝑋≤𝑥|𝑌=𝑦_𝑟)
独立性分析/检验
计算复杂度低,易于实现
分位数表
2. 资金流入流出预测的数据探索
2.1导入工具包,读取数据集
import pandas as pd
import numpy as np
import warnings
import datetime
import seaborn as sns
import matplotlib.pyplot as plt
import datetime
from scipy import stats
import warnings
warnings.filterwarnings('ignore')
# 设置数据集路径
dataset_path = 'Purchase Redemption Data/'
# 读取数据
data_balance = pd.read_csv(dataset_path+'user_balance_table.csv')
# 为数据集添加时间戳
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
2.2时间序列分析
# 画出每日总购买与赎回量的时间序列图
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()
2.3翌日特征分析
# 画出每个翌日的数据分布于整体数据的分布图
a = plt.figure(figsize=(