网易首页 > 网易号 > 正文 申请入驻

为数据选择合适的分布:8个实用的概率分布应用场景和选择指南

0
分享至

拿到数据想建模,但不知道用哪个分布?大部分教科书都在讲一堆你永远用不到的东西。实际工作中,你只需要掌握几个核心分布,然后知道什么时候该用哪个就够了。

这里是我在做分析、实验设计、风险建模时真正会用的8个分布。每个都会告诉你使用场景、快速拟合方法、需要避开的坑,以及现成的代码。

伯努利分布:最基础的二元事件

点击还是不点击,欺诈还是正常,用户流失还是留存。单次试验的成功失败问题,用伯努利分布就对了。

但是数据严重不平衡时别硬套伯努利,记得做校准处理。比如欺诈检测场景,正负样本比例差太多的话,直接用p估计会有偏。

import numpy as np y = np.array([0,1,0,1,1,0,0,1]) p = y.mean() # MLE for Bernoulli samples = np.random.binomial(1, p, size=10000)

二项分布:多次试验的累计结果

用户看了10次广告点了几次?50封邮件打开了多少?这种"N次机会中成功K次"的场景,二项分布最合适。

如果试验之间有关联(比如同一用户多次看广告),方差会比理论值大。这时候考虑用Beta-二项分布,能更好处理过度分散的情况。

from scipy.stats import binom n, x = 50, 17 p_hat = x / n ci = binom.interval(0.95, n, p_hat) # simple CI on counts

泊松分布:计数事件的标配

每分钟客服电话、每小时系统故障、每平方米缺陷数。这些稀有且相互独立的计数事件,泊松分布处理起来最直接。

方差远大于均值的话,说明数据过度分散了。这种情况泊松分布就不够用,得换负二项分布(实际上是泊松和伽马的混合)。

from scipy.stats import poisson counts = [0,1,0,2,1,0,3,1] lam = np.mean(counts) pmf = poisson.pmf(np.arange(6), lam)

正态分布:数据分析的主力

KPI的平均值、传感器噪声、大样本的误差分析。正态分布虽然被用烂了,但在合适的场景下确实好用。

轻微偏斜或者有异常值的话,正态分布的估计就会偏。小样本或者明显厚尾的数据,直接上学生t分布更稳妥。

from scipy.stats import norm mu, sigma = np.mean(counts), np.std(counts, ddof=1) cdf90 = norm.cdf(90, mu, sigma)

学生t分布:处理小样本和异常值

数据有明显的厚尾特征,或者样本量不够大?正态分布容易被异常值带偏,这时候t分布更靠谱。测量数据偶尔出现的异常峰值、小样本的均值估计,都适合用它。

别把t分布当万能药。真的有严重异常值,还是得先清理数据或者做winsorizing处理,t分布只是比正态分布抗造一些。

from scipy.stats import t nu = 5 # probability a standardized value is within 2 std prob = t.cdf(2, df=nu) - t.cdf(-2, df=nu)

指数分布:等待时间建模

用户点击通知后多久会打开APP?系统两次故障之间间隔多久?只要是"等待第一次事件发生"的时间建模,而且事件发生率恒定,指数分布就很合适。

率参数λ,均值是1/λ。

from scipy.stats import expon lam = 0.2 samples = expon(scale=1/lam).rvs(10000) # mean ≈ 1/lam

对数正态分布:处理乘性过程

用户会话时长、单用户收入、文件大小这些数据往往是多个正数因子相乘的结果。如果把数据取对数后看起来接近正态分布,那对数正态分布就是你要的。

尾部数据会严重拖累均值,做报告或者假设检验时用中位数和几何均值更稳定。

from scipy.stats import lognorm sigma, mu = 0.8, 1.2 rv = lognorm(s=sigma, scale=np.exp(mu)) q95 = rv.ppf(0.95)

Beta分布:概率的概率

要建模转化率、缺陷率、分类器召回率这些本身就是概率的量?Beta分布天生就是干这个的。配合二项数据做贝叶斯推断特别好用。

α和β太小的话分布会很尖锐。做先验设置时要合理,比如α=β=1是均匀分布,α=β=2是相对温和的先验。

from scipy.stats import beta alpha0, beta0 = 2, 2 x, n = 17, 50 posterior = beta(alpha0 + x, beta0 + (n - x)) credible = posterior.interval(0.95) # 95% credible interval for p

快速选择合适的分布

遇到具体问题,按这个思路走基本不会有错:

二元结果直接伯努利。N次试验中成功K次用二项,不过如果方差明显大于理论值就换Beta-二项。计数类型的用泊松,过度分散就上负二项。

均值类的数据优先考虑正态,有厚尾或者样本小就用t分布。等待时间且发生率恒定选指数,发生率会变化就考虑韦伯分布。

正数且明显右偏的数据试试对数正态,或者你想直接控制均值和形状参数的话用伽马分布也行。要建模概率本身,Beta分布是唯一选择。

拟合验证的技巧

别急着套公式,先画图。直方图能立刻告诉你数据的偏斜程度和异常情况,对数直方图对于长尾数据特别有用。

参数估计用最大似然或者矩估计都行,但是一定要用残差图和QQ图验证拟合效果。信息准则AIC/BIC比较不同分布的优劣,或者简单点用留出集的对数似然。

最重要的是模拟验证。用拟合好的分布生成数据,看看均值、方差、分位数是不是和原始数据对得上。如果对不上,说明这个分布选错了,哪怕拟合图看起来很漂亮也没用。

下面是通用代码模板

import numpy as np import pandas as pd from scipy import stats def fit_and_score(sample, candidate): params = candidate.fit(sample) # generic MLE ll = np.sum(candidate.logpdf(sample, *params)) k = len(params) aic = 2*k - 2*ll return params, aic data = np.array([...], dtype=float) cands = [stats.norm, stats.t, stats.lognorm, stats.gamma] scores = [(c.name, *fit_and_score(data, c)) for c in cands] best = min(scores, key=lambda r: r[-1]) # lowest AIC

一个真实案例:客服票据建模

之前做过的一个客服系统的分析,每小时票据数平均是2.1张,但方差居然有5.7。按泊松分布的理论,方差应该等于均值才对,这明显过度分散了。

后来换成负二项分布重新建模,预测误差直接降了18%。更重要的是,人力排班计划变得稳定多了,不会再因为周末突然来一波高峰把大家搞得措手不及。

所以有时候选对分布真的能解决实际问题。

总结

分布选择其实就是在讲故事,讲数据是怎么产生的。从最简单合理的故事开始,老老实实验证效果,只有数据真的需要的时候才考虑更复杂的模型。

这样做对你自己好,对业务方也好。没人喜欢过度复杂的东西,除非它真的有用。

https://avoid.overfit.cn/post/b3cfebcf3ab24660916834730cbd662d

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
属相虎注意了!9月19-25号,老天 要送您两桩喜事,先藏好别声张

属相虎注意了!9月19-25号,老天 要送您两桩喜事,先藏好别声张

宝哥精彩赛事
2026-09-20 04:41:50
传华为双旗舰2027年起切换年份命名 数字序列将封顶

传华为双旗舰2027年起切换年份命名 数字序列将封顶

CNMO科技
2026-09-18 15:53:21
全球四分之一胰腺癌在中国,提醒:不想胰腺受伤,4种零食要少吃

全球四分之一胰腺癌在中国,提醒:不想胰腺受伤,4种零食要少吃

路医生健康科普
2026-06-09 15:40:14
王源演唱会“翻车”,面对面建群短时间内人数直接触顶,被系统判定为“涉嫌欺诈”:想给几万人发祝福,结果仅剩自己一人;粉丝直呼天塌了

王源演唱会“翻车”,面对面建群短时间内人数直接触顶,被系统判定为“涉嫌欺诈”:想给几万人发祝福,结果仅剩自己一人;粉丝直呼天塌了

极目新闻
2026-09-20 11:28:32
665亿将公司卖给马云,33岁创业天才“激流勇退”,如今再创传奇?

665亿将公司卖给马云,33岁创业天才“激流勇退”,如今再创传奇?

闺蜜财经
2026-09-19 18:34:56
CCTV5+直播!中国女排冲决赛,体能让人担忧,拦网是关键

CCTV5+直播!中国女排冲决赛,体能让人担忧,拦网是关键

跑者排球视角
2026-09-20 23:49:17
郭希宽感谢许敏暗藏玄机,炫耀儿孙满堂,暗示与郭威关系和谐

郭希宽感谢许敏暗藏玄机,炫耀儿孙满堂,暗示与郭威关系和谐

娱贝勒
2025-02-07 07:24:38
猪身上最好吃的部位排行,梅花肉倒数第1,第1很稀有,建议了解

猪身上最好吃的部位排行,梅花肉倒数第1,第1很稀有,建议了解

阿天爱旅行
2026-09-20 06:40:42
打破亚运会纪录!于子迪夺得名古屋亚运会女子200米蝶泳金牌

打破亚运会纪录!于子迪夺得名古屋亚运会女子200米蝶泳金牌

界面新闻
2026-09-20 16:08:25
1-0!利物浦小胜伯恩茅斯,伊萨克爆射破门,疑似遭到“孤立”

1-0!利物浦小胜伯恩茅斯,伊萨克爆射破门,疑似遭到“孤立”

汪星人哟
2026-09-20 23:05:54
乌克兰摧毁俄罗斯6架飞机!黑海索契港再遭重创

乌克兰摧毁俄罗斯6架飞机!黑海索契港再遭重创

项鹏飞
2026-09-18 19:57:25
33.2万!特斯拉新车突然上架,10月2日正式上市

33.2万!特斯拉新车突然上架,10月2日正式上市

芝麻科技讯官方号
2026-09-20 19:04:47
非必要不做肠镜?医生提醒:只要做过肠镜,这7件事一定要多注意

非必要不做肠镜?医生提醒:只要做过肠镜,这7件事一定要多注意

叙说医疗健康
2026-07-25 06:00:22
车质网:“车机问题”成2026油电型投诉共同痛点

车质网:“车机问题”成2026油电型投诉共同痛点

南方都市报
2026-09-20 08:45:10
丹麦上当了,被川普耍了

丹麦上当了,被川普耍了

段哥说事
2026-09-19 22:19:59
海淀妈妈群里,最近聊的不再是升学,而是“我家孩子也不上学了”!

海淀妈妈群里,最近聊的不再是升学,而是“我家孩子也不上学了”!

观心实验室
2026-09-18 16:18:37
何雁诗驳斥放逐患病儿子说法 透露移居加拿大原因!坦言和郑俊弘关系出现变化

何雁诗驳斥放逐患病儿子说法 透露移居加拿大原因!坦言和郑俊弘关系出现变化

TVB资讯台
2026-09-20 22:40:45
值得熬夜追的3部爱情剧,每一部都是经典,你看过几部呢?

值得熬夜追的3部爱情剧,每一部都是经典,你看过几部呢?

琴琴有氧运动
2026-09-20 23:16:02
俗话说“女人开两门,人财都难存”,身为女子,这两扇门开不得

俗话说“女人开两门,人财都难存”,身为女子,这两扇门开不得

古怪奇谈录
2025-11-10 16:48:54
于文红小男友喊冤:一个月没花20W,朋友:于文红开始“算账”了

于文红小男友喊冤:一个月没花20W,朋友:于文红开始“算账”了

情感大头说说
2026-09-19 07:21:05
2026-09-21 00:52:49
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
2028文章数 1465关注度
往期回顾 全部

科技要闻

谷歌承认:AI模型“黑”进3家公司

头条要闻

男子网购燃气灶防风罩一个月后妻儿中毒死亡 多方回应

头条要闻

男子网购燃气灶防风罩一个月后妻儿中毒死亡 多方回应

体育要闻

游泳2小时6金!亚运金牌榜:中国11金领跑

娱乐要闻

许嵩刚官宣结婚,冯禧黑历史就被扒

财经要闻

民企土地 被政府"无偿收储"后转手卖7亿

汽车要闻

FREELANDER神行者8开启交付 首批新车正式交付用户

态度原创

手机
艺术
游戏
家居
旅游

手机要闻

华为Mate90系列再次被确认:五款机型、逻辑折叠,竞争价值超强!

艺术要闻

二十四位大师绝美国画,一眼养眼,再看净心,看完整个世界都安静了!

《暗黑4》资料片到此为止!背后原因暴雪首次说透

家居要闻

2026建博会(广州) 公装联探展交流活动

旅游要闻

看北京|天桥绝活儿再现京韵烟火

无障碍浏览 进入关怀版