资讯详情

资讯详情

【老计带你懂概率统计】04:随机变量与概率分布,把不确定性变成可计算的数

【老计带你懂概率统计】04随机变量与概率分布把不确定性变成可计算的数开头从单个事件到会变化的量前面两篇我们讨论的大多是单个事件的概率硬币正面、得病与否、阳性阴性。可现实里我们更常面对的是一个会随机取不同值的量。明天的最高气温是多少度这次促销能卖出多少件一个用户在页面上会停留多少秒一天会接到多少个报障电话这些量的取值都是不确定的、随机的但它们又不是完全没规律某些值更常出现、某些值很罕见。怎么用数学来刻画这种会随机取值、但有规律的量这就要请出概率统计里两个核心的工具随机变量和概率分布。它俩是把飘忽的不确定性变成能计算、能分析的数学对象的关键一步。理解了它们你才能在后面认识那些大名鼎鼎的具体分布正态分布、二项分布等也才能真正读懂数据背后的规律。随机变量给随机结果贴上数字标签先说随机变量。名字有点唬人其实特简单。随机变量就是把随机事件的结果用一个数字表示出来的变量。它的取值随着随机结果的不同而变化所以叫随机变量。举几个例子抛一枚硬币规定正面记为1、反面记为0这个0或1就是一个随机变量。掷一个骰子点数1到6这个点数就是随机变量。明天的气温、今天的销量、用户停留的秒数都是随机变量。说白了随机变量就是给那些不确定的结果贴上一个数字标签好让我们能对它做数学处理求平均、算波动、画分布。有了这个数字化的桥梁飘忽的随机现象就能被计算了。为什么非要转成数字不可因为只有变成了数字我们才能对不确定性做运算和比较。你没法直接对正面还是反面求平均但你可以对1和0求平均得到0.5正好是正面的比例你没法比较下雨和晴天谁大但把某种损失量化成数字后就能算不同天气下的平均损失、据此做决策。这一步数字化看似平平无奇其实是概率统计能成为一门可计算的科学、能被搬进计算机让AI使用的根本前提。现实世界五花八门的不确定现象一旦都被翻译成随机变量这种统一的数字语言就都能用同一套数学工具来处理了这正是它的威力所在。随机变量分两大类这个区分很重要离散型随机变量取值是一个个分开的、可数的值。比如骰子点数只能是1到6这几个整数、一天的报障电话数0个、1个、2个……。它的特点是取值跳着来中间没有连续的过渡。连续型随机变量取值是某个范围内的任意实数可以无限细分。比如气温可以是25.3度、25.34度、25.347度……、身高、时间。它的特点是取值连成一片。离散和连续的区别直接决定了怎么描述它们的概率这是下面的重点。概率分布每个取值有多大可能光有随机变量还不够我们想知道它取每个值的可能性有多大这就是概率分布要回答的。概率分布描述的就是一个随机变量取各个可能值的概率是怎么分配的。它就像一张地图告诉你这个随机变量的概率都堆在哪儿、哪些值常见、哪些值罕见。因为离散和连续的取值方式不同描述它们分布的工具也不同分别叫概率质量函数和概率密度函数。离散的世界概率质量函数对离散型随机变量我们可以直接说出它取每个具体值的概率。这个每个值对应多大概率的函数叫概率质量函数。比如一个公平骰子概率质量函数就是取1的概率1/6、取2的概率1/6……取6的概率1/6。清清楚楚每个值一个概率全部加起来等于1。打个比方离散分布像把一斤面粉分成几小堆放在几个固定的点上每堆多重概率多大一目了然。骰子就是把总概率1平均分成6堆放在1到6上。离散分布的特点是可以问取某个具体值的概率是多少这个问题有意义、有明确答案。连续的世界概率密度函数一个反直觉的点对连续型随机变量情况变得微妙又有趣。这里有个让新手困惑的点我讲透。问气温正好是25.000000度无限精确的概率是多少答案是0。因为连续变量可以取无限多个值25.1、25.01、25.001……无穷无尽任何一个精确的点概率都是0。那连续分布还怎么描述答案是我们不问取某个精确点的概率而是问取某个区间的概率。比如气温在25到26度之间的概率这才有意义。描述连续分布用的是概率密度函数。注意密度不等于概率本身它描述的是概率在某个位置的密集程度某段区间的概率等于密度函数在这段区间下方围成的面积。密度高的地方取值更密集、更可能落在附近密度低的地方取值稀疏。打个比方连续分布像把一斤面粉均匀又不均匀地撒在一条长桌上有的地方厚、有的地方薄。你问某一个数学点上有多少面粉答案是0点没有宽度但你问某一段区间里有多少面粉那段面粉的总量就有意义了。密度函数描述的就是面粉在各处铺得多厚。这个连续变量单点概率为0、只能谈区间概率的观念是理解连续分布的关键一开始反直觉但想通面粉的比方就顺了。累积分布函数小于某个值的概率还有一个通用又实用的工具离散连续都适用叫累积分布函数。它回答的问题是随机变量小于等于某个值的概率是多少。比如气温不超过25度的概率“销量在100件以下的概率”。累积分布函数特别实用因为现实中我们经常关心的就是这种不超过多少至少多少的问题。它从0平滑或跳跃地增长到1把一个值左边的所有概率都累加起来。知道了累积分布你就能轻松算出任意区间的概率用大的减小的所以它是个万金油工具。分布的形状不只是集中在哪认识了分布这个工具再帮你建立一个看分布的眼光一个分布长什么形状藏着大量信息远不止平均值在哪这么简单。一个分布你至少可以从这几个方面去看它的形状。一是集中在哪概率的大头堆在哪个位置这关系到后面要讲的期望、中位数。二是分散程度是紧紧挤成一团还是散得很开这关系到方差、标准差是第07篇的主角。三是对不对称是像正态分布那样左右对称的钟形还是歪向一边。比如收入分布就是典型的右偏大多数人收入不高、挤在左边少数高收入者拖出一条长长的右尾巴这种歪斜叫偏度。四是尾巴粗不粗也就是极端值出现的概率高不高。有的分布尾巴很薄极端情况几乎不会发生有的分布尾巴很厚叫肥尾极端事件比你以为的要常见得多。这个尾巴的概念极其重要尤其在金融和风控里。很多灾难性的事件金融危机、系统雪崩本质就是那些被低估了的肥尾事件。做SRE关心的长尾延迟也是这个道理平均响应时间很好看但那条长尾里的慢请求恰恰是伤害用户体验的元凶。所以看一个分布别只盯着中间那个鼓包更要留意它的尾巴很多风险和机会都藏在尾巴里。学会看分布的完整形状是从看平均进阶到看全局的关键一步。我们用代码分别画出一个离散分布和一个连续分布直观感受。输入分布参数。输出分布图形和概率。# 依赖pip install numpy scipy matplotlibimportnumpyasnpfromscipyimportstats# 离散例子:掷骰子的概率质量函数 faces[1,2,3,4,5,6]pmf[1/6]*6print(骰子概率质量函数(每个点数的概率):)forf,pinzip(faces,pmf):print(f 点数{f}:{p:.3f})print(所有概率之和:,sum(pmf))# 等于1# 连续例子:标准正态分布 diststats.norm(0,1)# 均值0,标准差1的正态分布# 单点密度(不是概率):print(\n正态分布在x0处的密度值:,round(dist.pdf(0),3))# 区间概率(用累积分布函数相减):P(-1 x 1)p_intervaldist.cdf(1)-dist.cdf(-1)print(落在[-1,1]区间的概率:,round(p_interval,3))# 累积分布:小于等于0的概率(正态对称,应为0.5)print(小于等于0的概率(累积分布):,round(dist.cdf(0),3))# 如果装了matplotlib,可以画出密度曲线看看形状(此处省略绘图,逻辑如下)# xs np.linspace(-4, 4, 200); ys dist.pdf(xs); plt.plot(xs, ys)运行输出示例骰子概率质量函数(每个点数的概率): 点数1: 0.167 点数2: 0.167 点数3: 0.167 点数4: 0.167 点数5: 0.167 点数6: 0.167 所有概率之和: 0.9999999999999999 正态分布在x0处的密度值: 0.399 落在[-1,1]区间的概率: 0.683 小于等于0的概率(累积分布): 0.5运行你会看到骰子每个点数概率都是0.167、加起来是1正态分布在0处密度约0.399这是密度不是概率落在正负1之间的概率约0.68小于等于0的概率是0.5。这段代码把离散的概率质量、连续的密度和区间概率、以及累积分布都实际算了一遍你能清楚看到离散用具体概率、连续用密度和区间的差别。在AI和现实里怎么用在AI里概率分布无处不在。模型的输出常常是一个概率分布分类模型输出各类别的概率、大模型预测下一个词的概率分布很多模型假设数据服从某种分布比如假设误差服从正态分布这个假设直接影响模型设计生成模型上个系列的GAN、扩散模型本质就是在学习数据的概率分布然后从中采样生成新样本。在现实里理解分布你看数据就不再只盯着一个平均值而会关心它的整体分布形态销量的分布是集中还是分散、收入的分布是不是被少数高值拉偏、响应时间的分布尾巴长不长这直接关系到SRE关心的长尾延迟。看分布比看单个数字信息量大得多。小结与承上启下随机变量给随机结果贴上数字标签好让不确定性能被计算分离散取值可数、跳着来和连续取值连成一片两类。概率分布描述随机变量取各个值的概率如何分配是一张概率地图。离散用概率质量函数每个值一个明确概率连续用概率密度函数单点概率为0、只谈区间面积。累积分布函数小于等于某值的概率离散连续通用算区间概率的万金油。这一篇我们建立了随机变量和分布的框架但还比较抽象。接下来就该认识那些真正在现实和AI里反复出现的具体分布了。它们各有各的脾气、各自对应着一类现象。下一篇我们一次性认识伯努利、二项、泊松、正态等几个必须掌握的分布看看什么样的现象对应什么样的分布。我们下一篇见。延伸阅读SciPy 官方文档统计分布scipy.stats本篇代码用的库https://docs.scipy.org/doc/scipy/reference/stats.htmlNumPy 官方文档随机采样https://numpy.org/doc/stable/reference/random/index.html说明以上为官方公开文档地址可能随版本调整如打不开可用标题搜索。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →