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

news2025/2/28 12:21:43

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.96
        pos_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://www.coloradmin.cn/o/557463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1000本!计算机经典书籍分享

闲话少说&#xff0c;列表如下。 编程语言类书籍 包含&#xff1a;Java、C、C、Python、Go等语言 Java电子书大全https://www.yingyanshe.cn/5275.htmlC电子书大全https://www.yingyanshe.cn/5284.htmlC语言类电子书https://www.yingyanshe.cn/5293.htmlC#电子书https://www…

chatgpt赋能Python-python_fg

Python FG: 优秀的Python工程师一定要知道的资源 如果你是一名Python工程师&#xff0c;那么你一定会喜欢Python FG资源。Python FG是一个在线平台&#xff0c;提供海量的Python API文档、教程、实例、以及与Python有关的各种工具和资源&#xff0c;让Python工程师轻松学习和使…

盘点!Instruction Tuning 时代的大模型

作者 | Kevin吴嘉文 整理 | NewBeeNLP 公众号 https://zhuanlan.zhihu.com/p/616830127 Alpaca&#xff0c;ChatGLM 等模型的效果可以接受&#xff0c;下文总结部分笔记&#xff0c;为训练自定义小型化&#xff08;7B&#xff09;模型提供点知识储备。包括模型论文 LaMDA, Mup…

纯净版Win10系统重装教程(超详细)

本博客详细讲解纯净版Win10系统重装&#xff0c;步骤齐全&#xff0c;小白可实操。 纯净版Win10系统重装教程 系统安装前准备下载安装工具更新重装 制作U盘为启动盘 重装Win10进入Boot模式选择系统版本分区系统安装中新系统配置 系统安装前准备 ➢ 准备8G或8G以上的空U盘。&a…

POSTGRESQL 10个使用POSTGRESQL 需要避免的错误 (译)

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

EOS网络基金会大战Block.One

微信公众号修改了推送规则&#xff0c;请各位亲爱的读者给刘教链公众号添加星标&#x1f31f;&#xff0c;以便及时收到每日最新文章推送&#xff01; 星标&#x1f31f;添加方法&#xff1a;【1】点击标题下方“刘教链 刘教链”的第二个“刘教链”&#xff0c;打开公众号主页&…

chatgpt赋能Python-python_field

Python在Field上的应用 Python作为一门高级编程语言&#xff0c;在众多领域中扮演着应用广泛、易于学习、使用简便、速度出色的角色。在本文中&#xff0c;我们将重点关注Python在Field上的应用。 Field是什么&#xff1f; Field指的是“领域”&#xff0c;包括科学、工程、…

活动报名|分布式人工智能:可扩展性、效率和泛化性

2023年05月25日&#xff08;星期四&#xff09;14:00-15:30&#xff0c;智源社区「智源Live 第42期」线上活动将在线举办&#xff0c;「阅读原文」报名即可参加。 活动主题&#xff1a;分布式人工智能&#xff1a;可扩展性、效率和泛化性 安波 安波是新加坡南洋理工大学校长委员…

chatgpt赋能Python-python_for_end

Python for End: 介绍 Python是一种高级编程语言&#xff0c;由Guido van Rossum创建于1989年&#xff0c;并在1991年正式发布。Python是一种多范式编程语言&#xff0c;可以用于面向对象、函数式和过程式编程。它拥有简单易懂的语法以及扩展性强的库&#xff0c;从而使得开发…

见证ES6革命:深入学习let、const、var的区别、解构赋值、箭头函数等常用知识点,开创全新开发模式。

let、const、var的区别 使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象。使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升。使用const声明的是常量,在后面出现的代码块中,不能在修改改常量的值。 var let const 函数级作用域 块级…

ThingsBoard教程(五十):规则节点解析 创建关系节点Create Relation Node,删除关系节点 Delete Relation Node

创建关系节点 Create Relation Node Since TB Version 2.2.1 根据类型和方向,从所选实体创建到消息发起方的关系。 以下消息发起方类型被允许:资产、设备、实体视图、客户、租、仪表板。 通过元数据键模式查找目标实体,然后在源实体和目标实体之间创建关系。 如果选择的…

AbstractStringBuilder源码

介绍 AbstractStringBuilder这个抽象类是StringBuilder和StringBuffer的直接父类&#xff0c;而且定义了很多方法&#xff0c;因此在学习这两个类之前建议先学习 AbstractStringBuilder抽象类 该类在源码中注释是以JDK1.5开始作为前两个类的父类存在的 abstract class Abstr…

【已解决】使用selenium启动谷歌Chrome浏览器打开指定网站,页面空白,而使用其它浏览器手动打开该网站则正常

问题描述 1、在使用python实现自动化网络爬虫时&#xff0c;我使用到selenium来驱动谷歌Chrome浏览器来打开某一个网页&#xff0c;然后爬取数据&#xff0c;代码如下&#xff1a; from selenium import webdriver import timedriver webdriver.Chrome() driver.get(https://…

基于JavaSpringBoot+Vue+uniapp实现微信小程序新闻资讯平台

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

多模态大模型时代下的文档图像智能分析与处理

多模态大模型时代下的文档图像智能分析与处理 0. 前言1. 人工智能发展历程1.1 传统机器学习1.2 深度学习1.3 多模态大模型时代 2. CCIG 文档图像智能分析与处理论坛2.1 文档图像智能分析与处理的重要性和挑战2.2 文档图像智能分析与处理高峰论坛2.3 走进合合信息 3. 文档图像智…

<SQL>《SQL命令(含例句)精心整理版(2)》

《SQL命令&#xff08;含例句&#xff09;精心整理版&#xff08;2&#xff09;》 跳转《SQL命令&#xff08;含例句&#xff09;精心整理版&#xff08;1&#xff09;8 函数8.1 文本处理函数8.2 数值处理函数8.3 时间处理函数8.3.1 时间戳转化为自定义格式from_unixtime8.3.2 …

案例17:Java代驾管理系统设计与实现开题报告

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

类的加载过程

一、前言   类加载器的技术 二、类的加载过程 2.1 JVM将类加载过程分为三个步骤&#xff1a;装载&#xff08;Load&#xff09;&#xff0c;链接&#xff08;Link&#xff09;和初始化(Initialize)。链接又分为三个步骤&#xff0c;如下图所示&#xff1a; 装载&#xff1a;…

linux命名管道总结

FIFO&#xff0c;也称为命名管道&#xff0c;它是一种文件类型。 1、特点 (1)FIFO可以在无关的进程之间交换数据&#xff0c;与无名管道不同。 (2)FIFO有路径名与之相关联&#xff0c;它以一种特殊设备文件形式存在于文件系统中。 2、原型 (1)#include <sys/types.h> #in…

一篇文章告诉你什么是Java内存模型

在上篇 并发编程Bug起源:可见性、有序性和原子性问题&#xff0c;介绍了操作系统为了提示运行速度&#xff0c;做了各种优化&#xff0c;同时也带来数据的并发问题&#xff0c; 定义 在单线程系统中&#xff0c;代码按照顺序从上往下顺序执行&#xff0c;执行不会出现问题。比…