数据分析工具箱v1.3——连续分布

作者: 真依然很拉风 | 来源:发表于2019-08-14 21:53 被阅读87次

背景

除了离散型变量的频率统计,连续型数值的分布观察也是探索性数据分析中常用的方法。仅仅只看平均值是不够的,会掩盖掉许多信息;你还需要观察数据是均匀分布的,还是主要集中在腰部首尾较少的橄榄型,或者是具有长尾效应的金字塔型——这样才能对数据样本有更全面的了解。另外,除了探索性数据分析以外,基于预期的分位数反推数据,也是实际业务中许多运营策略临界值的决策依据。因此,基于临界值统计分布、基于分位点计算临界值,是这个工具的主要目标。

在实际工作中,这种数据需求并不少见——比如用户使用时长分布、订单金额分布、连续访问间隔分布等等。其实统计方法很简单,一般就是设置断点,将连续数值分隔成离散区间,再聚合统计。不过既然是探索性数据分析,也许并没有许多先验知识,比如断点怎么设置才合理。交付完数据之后,如果需求方还想再换种分析角度,那就得改代码再跑一遍……

事实上,探索性数据分析应当是一种轻量的、高频的场景,它不值得数据分析师投入太多支持成本,更不值得数据仓库专门去生产调度——它就应该是一个轻量级的工具,即时需要,即时查询,即时获取到分析结果,用完就走,什么都不留下。

本文以订单金额分布分析为应用场景,探索2个问题,来演示这个工具如何使用:

  1. 付费用户的支付金额主要集中在什么范围,亦即消费主力的消费水平如何?
  2. 如果要分别对头部20%、尾部20%的付费用户作运营活动,应该怎么确定范围?

产品操作

数据样本

以均值1000,标准差为200的标准构建样本量为10000的正态分布随机数据(一会儿我们验证一下究竟长得像不像正态分布),然后上传上去,就一个付费金额字段,其他不需要。

数据预览

控件功能

控件有3个,第1个是用来选择1个度量的下拉框,当用户上传完数据后,这个下拉框会自动筛选出度量,用户选择1个即可。后面2个输入框分别对应着下面2个图——中间的输入框用来输入区间断点,即输入一些数值,系统基于这个数值划分区间再统计分步;右边的输入框用来输入分位点,系统基于分位点自动计算并返回对应的数值。

控件功能

良好的兼容性

用户在这2个输入框中输入数值,用英文逗号连接。

  • 不需要考虑输入的数值是否在数据范围内,系统会自动把小于最小值或大于最小值的输入值给过滤掉
  • 不需要考虑从大到小还是从小到大的顺序,系统会自动排序
  • 不需要考虑有没有多打几个空格没看出来,系统会自动trim
  • 不需要在意输入的有没有字符串等错误信息,系统会自动过滤,只要在对的地方用逗号分割

比如,我只输入一个0,这是小于数据的最小值的,所以整个订单金额并没有被分割:

最值范围以外

比如我不按顺序(还有重复)地输入1000,2000,1000,1500,系统会自动先排序再分割统计:

乱序输入

比如我的输入中带有字符串,系统会自动忽略:

非数字输入

综上,只要用户填写的分界点的数值本身没写错,分隔符的位置也没写错,其他无约束,想怎么填就怎么填。

数据分析

回到我们开头的2个问题,我们怎么使用这个工具快速进行分析,得出结论?

基于分界点计算分布

我先从0开始,每隔500作为一个步长来递进到3000,即输入0,500,1000,1500,2000,2500,3000。可以看到付费订单金额最小值是14,最大是1736,付费金额主要集中在(500,1500]的范围内。

0,500,1000,1500,2000,2500,3000

当然,你可能觉得这么划分太粗,没关系,可以继续细化,也不用考虑是不是均匀分割的——前面说过,想怎么填就怎么填。我们在刚才的基础上,进一步对500~1500的范围内,以每隔100的规则递进,即输入0,500,600,700,800,900,1000,1100,1200,1300,1400,1500,2000,2500,3000。可以看到,果然是标准的正态分布。

0,500,600,700,800,900,1000,1100,1200,1300,1400,1500,2000,2500,3000

当然,我们把鼠标hover到柱形图上,可以看到更详细的信息:

  • interval:所在区间
  • counts:所在区间内样本量
  • frequency:所在区间内样本的比例
  • accumulated frequency:所在区间的累计比例,即不超过这个区间的比例

图中这个例子的解读如下:消费金额在(1000,1100]范围内的付费用户数有1919个,占全部付费用户的19.19%,消费不超过1100的付费用户比例为69.55

hover信息

每个柱形hover一遍,自己再口算一下,第1个问题就能回答:消费主力群(占付费用户比例的77.43%)的消费金额都介于700~1300。

基于分位点计算分界值

现在回答第2个问题,要把头部和尾部各20%的用户筛选出来,即是求20%和80%分位数的值,在右侧输入框输入0.2,0.8即可。从图中可以看到,20%分位数是828,80%分位数是1165。因此,要找头部20%付费用户,即筛选付费金额大于等于1165的;尾巴20%则筛选付费金额小于等于828的。

上下20%值

相关文章

  • 数据分析工具箱v1.3——连续分布

    背景 除了离散型变量的频率统计,连续型数值的分布观察也是探索性数据分析中常用的方法。仅仅只看平均值是不够的,会掩盖...

  • 第三章:数据探索

    3.1餐饮销售额数据异常值检测 2数据特征分析 分布分析:分布分析能揭示数据的分布特征和分布类型;定量数据的分布分...

  • 数据特征分析(一)

    1 分布分析 1.1 定义 分布分析 :研究数据的分布特征和分布类型,分定量数据、定性数据区分基本统计量定量数据:...

  • 分布分析

    【课程1.2】 分布分析分布分析 → 研究数据的分布特征和分布类型,分定量数据、定性数据区分基本统计量极差 / ...

  • 数据特征分析

    本文内容摘自《Python数据分析与挖掘实战》 1. 分布分析 分布分析能揭示数据的分布特征和分布类型。 1.1 ...

  • 数据分析实战--统计分析

    本文主要内容是对数据分布进行分析,主要是集中和离中趋势度量,包括了做观测数据的连续概率分布的估计等,同时也是mat...

  • 数据分布、参数估计

    数据分布 数据的分布分为离散变量的分布和连续变量的分布,连续变量的分布是统计推断的数学基础,其根据分布的表现形式分...

  • Python数据分析 | 数据描述性分析

    目录: 数据准备 类别型数据分析 数值型数据分析查看数据分布查看异常值描述性统计分析数据分布模型 相关性分析 1....

  • 数据探索 —— 数据特征分析

    分布分析 分布分析能解释数据的分布特征和分布类型。对于定量数据,欲了解其分布形式是对称还是非对称的,发现某些特大或...

  • MATLAB|数据数据概率分布拟合相关

    本文主要内容: 01 数据的基本数字特征 02 MATLAB数据分布拟合工具箱dfittool介绍 03 常用的分...

网友评论

    本文标题:数据分析工具箱v1.3——连续分布

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