用数据讲故事:十大统计学/机器学习魔法指数

news/2024/5/20 22:56:59

b012579a92d15711ef2036938fafb2e9.gif

统计学和机器学习为数据分析提供理论基础,入门时我看过很多统计学相关书籍,复杂的公式和推导过程让我一度陷入迷茫。对于数据科学/分析师来说,如何使用统计学知识并应用到我们的分析场景中更为重要。本文主要基于数据分析工作中的实际应用场景,分享一些魔法统计学/机器学习指数,对一些基础指数、原理及公式推导不过多阐述。

本文为该系列第三篇文章。

第一篇:用数据讲故事:13条Excel进阶技巧总结

第二篇:用数据讲故事:基于分析场景的17条Python使用小结

af40c64c94b772dd16b3a1a4a48d8b9f.png

指标长&短期增速计算

▐  短期增速

  1. 一般增长率增速:超大盘增速 ;相对排名增速:排名增速

  2. 混合增速=GMV增速+相对排名增速

  3. 加权混合增速=指标增速*log(1+指标)

▐  长期增长趋势:CAGR复合增长率

CAGR是复合年增长率的缩写,它是一种衡量某个指标在一段时间内的平均增长率的方法。CAGR通常用于衡量投资回报率、销售增长率等指标。

1d4c8d90d231f985717774b3983fb05f.png

举例:开始值5,结束值20,年数2(包含首尾值),则复合增长率=100%。

50412bc283d726e0e8daa29f2ca4084e.png

指标趋势预测:时间序列法

数据分析的目的有三种:描述现状、定位原因和预测未来,趋势预测即在分析过去和现在的数据,进而预测未来的过程,辅助作出决策。

▐  线性趋势预测:Forecast.linear()

它通过使用现有或过去的值来预测或计算值。基于线性回归函数通过自变量x值来预测y。如果数据中存在线性趋势(即y线性依赖于x值),则此函数的效果最佳,

04827e344bbb3df97305c5202cffff0c.png

举例:选中数据,插入带平滑线和数据标记点的散点图,增长趋势线显示公式,预测相同的未来值。

b205dbedc0f66a3a308e73ba9daa0b4a.png

▐  季节性预测:Forecast.ets()

电商中更多的为带有季节性的数据,Excel为此类数据提供了高级预测功能。此函数通过三重指数平滑方法进行此预测。此方法是加权方法,越久远的值,权重越小,也就意味着,重要性越小。

  • Forecasting.ets.seasonality()

它返回基于历史数据检测到的季节性周期的长度,如有的数据是3个月重复一次,那么它的周期就是3。

bd01ca8437f4037a9feed467cf89fa1a.png

  • Forecast.ets()

第4个参数表示季节性模式的长度。默认值 1 表示自动检测季节性。

214a2d7d4a93ccee3a99adac4ce40a3a.png

举例::根据Forecasting.ets.seasonality()我们知道数据的周期为3,所以第4参数填入3。

3637bb1f058feb0be5d5848e6f957a53.png

  • Forecasting.ets.confint()

它返回指定目标日期的预测值的置信区间。默认的置信区间为95%。这意味着95%的预测值将在该值的范围内。

54cddf03f7bf838a2905df7d1c0086ac.png

样本量悬殊比较:WilsonScore

我们在进行AB-test或其他分析中,总会涉及比较商品点击率&转化率等情况。

举例:如A商品曝光UV为1000 & 点击UV15,A商品曝光UV为100000 & 点击UV1000,A商品的点击率为1.5%,B商品的点击率为1%,但在比较时并不能代表用户更喜欢A商品,因为AB样本量较为悬殊。

那么如何进行判断呢?WilsonScore平衡样本数量差异的影响,解决小样本的准确性问题。本质上,威尔逊区间其实就是用户喜欢率的一个区间估计。但是该区间估计考虑了样本过小时候的情况,根据样本量对区间估计进行了修正,使得该区间估计能够较好的衡量不同样本量情况。该得分算法经常应用于各个网站的排序上。比如知乎的搜索排序。

dcf5a9f627dd15d090f42f130aec8273.png

8e00a0624651b7b6c0386795acfb33ba.png

from odps.udf import annotate
import numpy as np
@annotate('string->string')
class wilsonScore(object):#威尔逊区间下限def evaluate(self,input_data):pos = float(input_data.split(',')[0])total = float(input_data.split(',')[1])p_z=1.96pos_rat = pos * 1. / total * 1.  # 正例比率score = (pos_rat + (np.square(p_z) / (2. * total))- ((p_z / (2. * total)) * np.sqrt(4. * total * (1. - pos_rat) * pos_rat + np.square(p_z)))) / \(1. + np.square(p_z) / total)return str(score)

126f9cd56ab2d10f7d504c2c5b549486.png

时间衰微函数:Sigmoid

分析过程我们经常遇到需要结合长期历史表现,对用户/商品/商家打分,用于衡量价值及资源分配。sigmoid函数也叫Logistic函数,它可以将一个实数映射到(0,1)的区间。

828359fdd97146cdb15cf06fed5ae652.png

举例:通过对商品历史表现(点击率&GMV)的进行Sigmoid递减打分

e846a82b89004bbfcef6346fa1dc8657.png

e120d82914481de316dab44f0b99e42f.png

三大统计学相关系数:Pearson&Spearman&kendall

▐  数值型&正态分布相关性度量:皮尔森(Pearson)相关系数

d429c3d73c7860f3b938506914122f80.png

EXCEL和DataWorks中配置了也内置了相关函数,可直接进行调用

  1. EXCEL求相关性:CORREL(S24:S28,T24:T28)

  2. odps:corr(a,b)

通过上述公式我们可以求得两个数值型变量的相关系数,如何评估两个变量之间的相关性呢,我们一般使用假设检验来判断是否显著。

在进行Pearson相关系数检验时,需要先设定显著性水平α,常用的显著性水平有0.05和0.01。然后计算出样本相关系数,根据样本大小n和显著性水平α查找对应的临界值。如果样本相关系数大于临界值,则拒绝原假设,认为两个变量之间存在显著的线性相关关系;否则接受原假设,认为两个变量之间不存在显著的线性相关关系。

相关系数临界值计算器:https://www.jisuan.mobi/gqY.html

▐  非数值型/非正态分布数相关性度量:斯皮尔曼(Spearman)相关系数

Spearman相关系数是根据随机变量的等级而不是其原始值衡量相关性的一种方法。spearman相关系数的计算可以由计算pearson系数的方法,只需要把原随机变量中的原始数据替换成其在随机变量中的等级顺序即可。

举例:

求(1,10,100,101)、(21,10,15,13)两个非正态分布分布的相关系数

将(1,10,100,101)替换成(1,2,3,4),(21,10,15,13)替换成(4,1,3,2),然后求替换后的两个随机变量的pearson相关系数即可。

▐  排名相关性度量:肯德尔(kendall)相关系数

kendall相关系数又称作和谐系数,也是一种等级相关系数,其计算方法如下:

对于X,Y的两对观察值Xi,Yi和Xj,Yj,如果Xi<Yi并且Xj<Yj,或者Xi>Yi并且Xj>Yj,则称这两对观察值是同序对,否则为异序对。

kendall相关系数的计算公式如下:

71ba012bf0281f7409b461f01e42c766.png

举例:假设我们有8个商品,想商品计算销量排名与GMV排名的相关性

商品

A

B

C

D

E

F

G

H

销量排名

1

2

3

4

5

6

7

8

GMV排名

3

4

1

2

5

7

8

6

A商品销量排名为1,GMV排名为3,比排名4-8的GMV大,因此贡献5个同序对;

B商品销量排名为2,GMV排名为4,比排名5-8的GMV大,因此贡献4个同序对;

C品销量排名为3,GMV排名为1,比排名4-8的GMV大,因此贡献5个同序对;

D品销量排名为4,GMV排名为2,比排名5-8的GMV大,因此贡献4个同序对;

以此类推,

同序对数P = 5 + 4 + 5 + 4 + 3 + 1 + 0 + 0 = 22;

总对数为 (8+7+6+5+4+3+2+1)/2=28;

异序对数 Q=28-22;

R=((22-6)/28)=0.57。

70618d90d7b9b9234af4e5cd4bae36de.png

两个分布相似度的衡量指数:KL散度

KL散度是量化两种概率分布P和Q之间差异,数值越小说明越相似,公式如下:

3446c30e679c76ff10e4c4d1efad6588.png

举例:求AB分布的相似度

  1. A分布=[0.3,0.2,0.1,0.2,0.2]

  2. B分布=[0.1,0.3,0.1,0.2,0.3]

9f68823c0320a3de83a628731a7f5c59.png

KL散度计算如下:

5b7da6d133ea88b227dba59a8fe1bfc5.png

9a2494d3eb93763794a0c31b721e5482.png

曲线拐点:KneeLocator

寻找用户最佳留存时间点,或特征聚类计算最佳K值时,我们常需要从曲线的形状进行分析找到拐点。在python 中有一个自动帮助我们寻找拐点的包,叫kneed。这个包中只需要定义少量的参数(凹凸性及曲线方向),就可以自动地帮助我们找到一条曲线中的拐点。

from kneed import KneeLocator
import matplotlib.pyplot as plt 
•
x = np.arange(1,31)
y = [0.492 ,0.615 ,0.625 ,0.665 ,0.718 ,0.762 ,0.800 ,0.832 ,0.859 ,0.880 ,0.899 ,0.914 ,0.927 ,0.939 ,0.949 ,0.957 ,0.964 ,0.970 ,0.976 ,0.980 ,0.984 ,0.987 ,0.990 ,0.993 ,0.994 ,0.996 ,0.997 ,0.998 ,0.999 ,0.999 ]
•
kneedle = KneeLocator(x, y, S=1.0, curve='concave', direction='increasing')
print(f'拐点所在的x轴是: {kneedle.elbow}')

371b6dc011fb9e02f41eeafd2504f549.png

指标权重确定方法:熵值法&PCA

▐  熵值法

熵值法是指用来判断某个指标的离散程度的数学方法。离散程度越大,该指标对综合评价的影响越大。可以用熵值判断某个指标的离散程度。熵值法求权重步骤如下:

STEP1:数据标准化

64b6e9fd8d9396c52275c2c98ebefe34.png

STEP2:计算各指标信息熵

aa4c72eb6f2cf2fff9a0d09eab6c7cbf.png

STEP3:确定各指标权重

679a21c3c64a7e3cf15c6597432086da.png

熵值法确定权重只是考虑数据各个指标的离散程度,即数据取值越多其权重就越大,并没有结合具体的实际问题,因此在应用熵值法确定权重时需要结合具体的问题才能使用。

▐  主成分分析

主成分分析,是考察多个变量间相关性一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关,作为新的综合指标。

DataWorks中的机器学习PAI配置了PCA组件,可直接进行调用,详见:https://pai.dw.alibaba-inc.com/component/detail/255?projectId=21225&spm=a2c3x.12342929.0.0.38e64a9bhMFlBH

算法部署后,生成如下格式的特征值和特征向量表:

5a44a6e8fa8b63021d7d2f295b37cdc9.png

STEP1:确定指标在各主成分线性组合的系数

e93e737ef99452a0e9cd65082086c830.png

3012c9fbcddeef14319434592e6342cd.png

STEP2:确定综合得分模型系数

对STEP1中所得的各指标所拥有的三个主成分进行加权平均:

举例:指标3得分模型系数为

854b29ba04a03826081777218eacb26b.png

STEP3:指标权重归一化

即,将各因素在综合得分模型中的系数进行归一化。

举例:指标3的权重系数为

6ff16e65ff9a7c6070f121be5a250273.png

9cb34941a0ad99205cda4088a64534bd.png

ca131a8771a2ae021d42531db5ce68ae.png

市场竞争度量/核心圈选:集中度

帕累托法则是帕累托于1906年提出了著名的关于意大利社会财富分配的研究结论:20%的人口掌握了80%的社会财富。在数据分析中,帕累托法则是常应用于业务分析和需求分析两个方面。

▐  CRN

指品类销售额排名TOPN的品牌销售额之和占品类销售额的比值。eae3bee87a6be2fc42da476fa88614cc.png数值越低,说明头部品牌市占率低,其头部品牌的市场瓜分能力较弱,腰尾部品牌面临的机会相对较多。

▐  消费集中度

指贡献前N%市场份额的用户/商品占比,即二八法则中贡献前80%市场份额的用户/商品占比,可基于市场份额贡献度进行核心类目圈选及品规坑位数规划。

0e4636127bd6bb8fbc18a2c87e2c3caf.png

d007a830cd688ab9eec2e55dcf42815a.png

关键词提取/打分算法:TF-IDF

TF-IDF是倾向于过滤掉常见的词语,保留重要的词语,公式如下:

5f754174a8c115f6e1baa30ffc76398c.png

举例:搜索词A在类目X的搜索次数较多,但搜索词A在其他类目上搜索较少,那么搜索词A更能代表类目X,则趋势得分越高,反之越低。

fc546e26b3ef3aa4c4d81042810e351a.png

结语

《用数据讲故事》系列,不仅见证了我这个数科小白近两年的点滴成长,也回答了我学生时期关于“大学知识有用论or无用论”的困惑。在我看来大学作为通识教育,注重的是融合价值的塑造和学习能力培养。作为受益者十分感恩学校教会了我“是什么”、“为什么”,工作后能花费最低的认知成本去实践“怎么做”。未来山高水长,我也会将更多的实践总结和思考与大家分享,欢迎一起交流学习!

aa58048b77c244ca47a2de50c7893390.png

结语

我们是大聚划算数据科学团队,负责支持聚划算、百亿补贴、天天特卖等业务。我们聚焦优惠和选购体验,通过数据洞察,挖掘数据价值,建立面向营销场、服务供需两端的消费者运营和供给运营解决方案,我们与运营、产品合力,打造最具价格优惠心智的购物入口,最具爆发性的营销矩阵,让货品和心智运营变得高效且有确定性!

¤ 拓展阅读 ¤

3DXR技术 | 终端技术 | 音视频技术

服务端技术 | 技术质量 | 数据算法


http://wed.xjx100/news/212709.html

相关文章

学习Java,可以从事哪些岗位?

不难发现&#xff0c;在互联网的影响下&#xff0c;这几年&#xff0c;中国的互联网行业进入了高速发展的阶段&#xff0c;同时IT行业&#xff0c;也成为了热门&#xff0c;备受追捧和关注的行业。在全球云计算和移动互联网的产业环境下&#xff0c;Java工程师为何会如此火爆&a…

SSM_jsp游戏-账-号-装-备虚拟物品交易系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 前端框架:jsp/Bootstrap JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat8 数据库工具&#xff1a;Navicat 开发软件&#xff1a;idea 支持eclipse 游戏账号交易系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户…

要做存储业务,我解析了一个项目的源码

最近在做存储相关的业务&#xff0c;更具体的来说是存储相关的研发&#xff0c;于是就上网查了一下相关的资料&#xff0c;思虑再三打算从最简单的 Json 数据交换格式开始研究。 JSON是独立于编程语言的数据交换格式&#xff0c;几乎所有与网络开发相关的语言都有JSON函数库&am…

小白畅玩免费支持ChatGPT3和4,一键定制自己专属AI

AI爆炸时代。你不用AI&#xff0c;别人就会用AI,当别人用AI,为自己给工作生活赋能时候。生活自在&#xff0c;工作高效&#xff0c;AI正在潜移默化改变我们生活 基于OPEN AI平台 轻松让AI 为你的生活赋能. 总之我现在生活已经离不开AI&#xff0c;帮助了。 不管是工作上问题…

第十二章 Productions最佳实践 - 命名约定

文章目录 第十二章 Productions最佳实践 - 命名约定命名约定业务服务路由进程路由规则集业务操作数据转换 自定义架构类别 第十二章 Productions最佳实践 - 命名约定 命名约定 本主题解释命名约定的重要性并提供示例。 通常&#xff0c;将逐步开发产品&#xff0c;一次开发一…

JavaScript 简介

起源 JavaScript诞生于1995年&#xff0c;它的出现主要是用于处理网页中的前端验证。所谓的前端验证&#xff0c;就是指检查用户输入的内容是否符合一定的规则。比如&#xff1a;用户名的长度&#xff0c;密码的长度&#xff0c;邮箱的格式等。 简史 JavaScript 是由网景公司…

2.git

二.git 1.git原理 2.git的使用 3.git其他功能 二.git 1.git简介 ①git用于版本控制 git可以管理版本并且恢复到以前的版本工作区 暂存区 版本提交 暂存区可以add部分文件。。然后提交。。(暂存区记录了工作区的文件变动)②

工作模式(2)

输入捕捉 输入捕捉功能的主要特点&#xff1a; ⚫ 上升沿或下降沿捕捉 ⚫ 脉冲宽度捕捉或脉冲周期捕捉 ⚫ 带清零的捕捉或自由计数捕捉 ⚫ 单次捕捉或连续捕捉 捕捉模式只能工作在16bit级联模式下&#xff0c;从0开始计数。当选择上升沿捕捉周期模式时&#xff0c;电路在检测到…