文章目录
数据分析全过程梳理见
【数据分析入门】python数据分析全过程梳理
单因子与对比分析可视化
集中趋势
均值:
平均数,统计学术语,是表示一组数据集中趋势的量数,是指在一组数据中所有数据之和再除以这组数据的个数。它是反映数据集中趋势的一项指标。解答平均数应用题的关键在于确定“总数量”以及和总数量对应的总份数。
在统计工作中,平均数(均值)和标准差是描述数据资料集中趋势和离散程度的两个最重要的测度值。
中位数:
中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。
众数:
众数(Mode)是指在统计分布上具有明显集中趋势点的数值,代表数据的一般水平。 也是一组数据中出现次数最多的数值,有时众数在一组数中有好几个。用M表示。
分位数:
分位数(Quantile),亦称分位点,是指将一个随机变量的概率分布范围分为几个等份的数值点,常用的有中位数(即二分位数)、四分位数、百分位数等。
离中趋势
标准差、方差
标准差(Standard Deviation) ,数学术语,是离均差平方的算术平均数(即:方差)的算术平方根,用σ表示。标准差也被称为标准偏差,或者实验标准差,在概率统计中最常使用作为统计分布程度上的测量依据。
标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。平均数相同的两组数据,标准差未必相同。
数据分布:偏态与峰度
偏态系数与峰态系数
如果一个分布的峰态系数与正态分布的3相差大于2,可以直接拒绝他是正态分布的假设
三大分布
正态分布
卡方分布
t分布
抽样理论
抽样误差与精度
数据分类
定类(类别):根据事物离散、无差别属性进行的分类
定序(顺序):可以界定数据的大小,但不能测定差值
定距(间隔):可以界定数据大小的同时,可测定差值,
但无绝对零点
定比(比率):可以界定数据大小,可测定差值,有绝对零点
单属性分析
异常值分析:
离散异常值
离散属性定义范围外的所有值均为异常值
连续异常值
知识异常值
在限定知识与常识范围外的所有值均为异常值
如身高10米
对比分析:
绝对数与相对数
时间:同比,环比
空间:地区,部门
经验与计划:历史上有联系的因素
结构分析:
各组成部分的分布与规律
静态:如直接分析组成,如产业结构
动态:如以时间为轴,分析产业结构的变化
分布分析:
数据分布频率的显式分析
1 直接获得概率分布
2 是不是正态分布
偏态比较大,峰度比较大
3 极大似然
相似程度的衡量
判断和正太,t,f哪个模型更接近
代码实现
数据读入
import pandas as pd
client_rfm=pd.read_csv('')
client_rfm=client_rfm.fillna(0)
client_rfm.loc[client_rfm['gain'] >0,['gain_type']]='1'
client_rfm.loc[client_rfm['gain'] <=0,['gain_type']]='-1'
client_rfm.shape
#偏态系数,如果是负的,说明平均值偏小,也就是大部分人都处于满意的状态,如果是正的,说明平均值偏大,说明大部分人都处于不满意的状态
client_rfm.skew()
#峰度系数,以正态分布的0作为标准,如果小于0比正太平缓,如果大于0则比正太陡峭
client_rfm.kurt()
C:\ProgramData\Miniconda3\lib\site-packages\ipykernel_launcher.py:2: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.
#抽样
client_rfm.sample(10)
client_rfm.sample(frac=0.001)
列分析
s1_s=client_rfm['date_nums']
s1_s.mean()
s1_s.std()
s1_s.max()
s1_s.min()
s1_s.median()
s1_s.quantile(q=0.25)
s1_s.quantile(q=0.75)
#49-4=45
#4-45=-41
#49+45<100,覆盖不到最大值
s1_s.skew()#2.73 正偏,均值偏大,大部分数小于均值
s1_s.kurt()#10.7 相比于正态分布,是陡峭的状态
import numpy as np
np.histogram(s1_s.values,bins=np.arange(0,720,10))
np.histogram(s1_s