PyMC 贝叶斯分位数回归:3 步让安全库存不再只靠均值
PyMC 贝叶斯分位数回归3 步让安全库存不再只靠均值【免费下载链接】pymcBayesian Modeling and Probabilistic Programming in Python项目地址: https://gitcode.com/GitHub_Trending/py/pymc备多少货才不缺货均值预测永远答不准它只给出“平均卖多少”而你要的是“最坏卖多少”。PyMC 的贝叶斯分位数回归把 90%、95% 分位数直接当成回归目标用 MCMC 后验把“卖爆”风险算成一条可解释的曲线。分位数回归到底在解决什么问题金融风控真正危险的是尾部损失95% 分位数才是预警线平均损失只是参考。供应链按平均需求备货大促日必然缺货90% 分位数才配得上“安全库存”四个字。用户留存平均使用时长分不清大 R 和路人分位数能把用户切进不同运营策略的档位。直觉上分位数就是“按位置取数”。班级平均分 70但按排名看75 分位可能是 82 分——均值压平了分布分位数保留了结构。分位数回归做的事就是把“每个 x 对应一条平均线”换成“每个 x 对应一组指定位置的分位线”。PyMC 里的贝叶斯做法先验、似然、后验三步走每步一句话先验把业务经验写成参数范围比如斜率不会超过 ±5。似然描述数据如何从参数中生成这里选不对称拉普拉斯分布。后验MCMC 采样出所有参数的联合分布不确定性量化是副产品。PyMC 把分布、采样器和 ArviZ 诊断组织在同一条流水线里似然选不对称拉普拉斯分布AsymmetricLaplace它把误差按分位数加权$$f(y\mid\mu,\sigma,q)\propto\exp\left(-\frac{|y-\mu|}{\sigma}\left[q,\mathbb{1}(y\ge\mu)(1-q),\mathbb{1}(y\mu)\right]\right)$$q0.9 时“预测偏低”的代价是“预测偏高”的 9 倍μ 自然被推到 90% 分位。建模写法很小import numpy as np import pandas as pd import pymc as pm import arviz as az x_data np.linspace(0, 10, 100) y 1 1.2 * x_data np.random.normal(0, 1, 100) with pm.Model() as model: beta pm.Normal(beta, mu0, sigma5) # 宽先验先让数据说话 sigma pm.HalfNormal(sigma, sigma2) # q 决定位置参数最终收敛到哪个分位数 pm.AsymmetricLaplace(y_obs, mu1.0 beta * x_data, bsigma, q0.9, observedy)从数据到诊断PyMC 分位数回归实操流程先造一批异方差模拟数据方差随 x 变大正是均值回归吃亏的场景np.random.seed(42) n 300 x np.linspace(0, 10, n) y 2 1.2 * x np.random.normal(0, 0.8 * (x / 10 0.5), n)同一份数据上建 90% 分位数模型并采样with pm.Model() as model: beta pm.Normal(beta, mu0, sigma5) sigma pm.HalfNormal(sigma, sigma2) mu 1.0 beta * x pm.AsymmetricLaplace(y_obs, mumu, bsigma, q0.9, observedy) idata pm.sample(2000, cores2, tune1000)诊断只盯两件事R-hat 是否收敛、后验预测区间覆盖率是否接近名义分位print(idata.sample_stats.r_hat) # 全部 1.01 才算收敛 az.plot_forest(idata) # 森林图可信区间 r_hat 一览 ppc pm.sample_posterior_predictive(idata) lo, hi np.percentile(ppc.posterior_predictive.y_obs, [5, 95], axis(0, 1)) print(float(np.mean((y lo) (y hi)))) # ≈0.9 说明模型可信森林图里94% 可信区间窄、r_hat 贴近 1说明截距和斜率都估稳了多分位数联合建模与贝叶斯不确定性量化分开跑三次得到的是三组互不相干的参数无法互相比较也无法保证 10% 线始终在 90% 线下方。联合建模让三条分位线共享同一批数据后验里天然带着分位间的相关结构。qs [0.1, 0.5, 0.9] with pm.Model() as model: beta pm.Normal(beta, mu0, sigma5, shapelen(qs)) sigma pm.HalfNormal(sigma, sigma2, shapelen(qs)) for i, q in enumerate(qs): pm.AsymmetricLaplace(fy_q{int(q*100)}, mu1.0 beta[i] * x, bsigma[i], qq, observedy) idata pm.sample(2000, cores2) post idata.posterior[beta].mean((chain, draw))把post[0]和post[2]画出来就是 10% 与 90% 分位数曲线。图上看点50% 线贴近均值回归线10% 与 90% 线的间距随 x 拉大说明条件分布的离散度在增长间距本身就是“此处预测更不可靠”的可视化。 两个可以照搬的落地模板场景 A客户 LTV 的 90% 分位数预测重点在宽先验与显式提取分位数df pd.read_csv(customer_ltv.csv) # 字段recency, frequency, ltv X df[[recency, frequency]].values with pm.Model() as ltv_model: alpha pm.Normal(alpha, mu0, sigma10) beta pm.Normal(beta, mu0, sigma10, shape2) sigma pm.HalfNormal(sigma, sigma10) pm.AsymmetricLaplace(ltv, mualpha X beta, bsigma, q0.9, observeddf[ltv].values) idata_ltv pm.sample(1500) p90 idata_ltv.posterior[ltv] # 逐客户的 90% LTV 后验直接分群上线前最需要检查拿历史数据回测90% 预测值高于真实 LTV 的客户比例是否约等于 90%。场景 B零售需求的 95% 上界用于补货点分层结构给每个门店一个截距df pd.read_csv(demand.csv) # 字段store, day, demand store_idx pd.factorize(df[store])[0] with pm.Model() as inv_model: store_mu pm.Normal(store_mu, mu50, sigma20, shapedf[store].nunique()) beta pm.Normal(beta, mu0, sigma5) sigma pm.HalfNormal(sigma, sigma10) pm.AsymmetricLaplace(demand, mustore_mu[store_idx] beta * df[day], bsigma, q0.95, observeddf[demand].values) idata_inv pm.sample(1500) p95 idata_inv.posterior[demand].mean((chain, draw)) # 直接进补货点公式上线前最需要检查95% 区间对历史真实需求的覆盖率以及门店截距有没有被先验过度收缩。⚠️ 常见坑与下一步先验过宽Normal(sigma100) 会让后验又平又钝MCMC 走得慢、R-hat 容易破 1.01业务上能约束的一律写紧先验。分位数交叉各分位数斜率独立时大 x 处 10% 线可能越过 90% 线用共享结构或对斜率加单调约束。异方差未处理方差随 x 变化时单一 sigma 必然顾此失彼先让 sigma 成为协变量的函数再谈拟合好坏。q 太贴边q0.999 的似然极度偏斜自相关飙升先用 0.99 验证再谈极端分位。进阶方向非线性分位数回归把 beta·x 换成样条基展开PyMC 里只是多一个点积时序分位数给分位函数加高斯过程先验捕捉分位数随时间的漂移。API 速查AsymmetricLaplace参数含义mu位置参数即目标分位函数 Q_q(y|x)b尺度参数0作用类似标准差q目标分位数0q1与 kappa 二选一kappaq 的另一种参数化kappa√(q/(1-q))延伸阅读PyMC 官方文档、概率分布指南、连续分布单元测试。【免费下载链接】pymcBayesian Modeling and Probabilistic Programming in Python项目地址: https://gitcode.com/GitHub_Trending/py/pymc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Slang 编译器流水线解析(一):词法分析与预处理阶段

Slang 编译器流水线解析(一):词法分析与预处理阶段

Slang 编译器流水线解析(一):词法分析与预处理阶段 【免费下载链接】slang Making it easier to work with shaders 项目地址: https://gitcode.com/GitHub_Trending/sl/slang 本篇指南围绕 Slang 着色器语言编译器前端的第一阶段展开…

2026/9/21 1:51:46 阅读更多 →
Vue History模式刷新404怎么办?Nginx等服务器配置详解与修复指南

Vue History模式刷新404怎么办?Nginx等服务器配置详解与修复指南

简介:一份面向 Vue 项目部署与运维人员的 PDF 技术笔记,专门解决 Vue Router 开启 History 模式后发布到 Nginx,刷新非根路径返回 404 的经典问题。内容从项目打包后的 index.html 入手,逐步排查资源引用路径,并给出两…

2026/9/20 18:30:57 阅读更多 →
RIOT 板卡支持解析:Microchip SAM R34 Xplained Pro(SAMR34J18 LoRa SiP)评估板

RIOT 板卡支持解析:Microchip SAM R34 Xplained Pro(SAMR34J18 LoRa SiP)评估板

RIOT 板卡支持解析:Microchip SAM R34 Xplained Pro(SAMR34J18 LoRa SiP)评估板 【免费下载链接】RIOT RIOT - The friendly OS for IoT 项目地址: https://gitcode.com/GitHub_Trending/riot/RIOT 本篇技术指南以 RIOT 仓库中 samr34…

2026/9/19 21:03:39 阅读更多 →

最新新闻

个人开发者如何系统攻克工控协议:从Modbus到EtherCAT的实战路线

个人开发者如何系统攻克工控协议:从Modbus到EtherCAT的实战路线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 1:59:04 阅读更多 →
压力变送器安装接线与参数设置指南:HART协议与4-20mA实战解析

压力变送器安装接线与参数设置指南:HART协议与4-20mA实战解析

简介:SmartLine ST700 Basic压力变送器快速安装指引来自Honeywell,面向工业仪表工程师、现场维护人员与自动化专业学习者,解决压差、表压、绝压变送器安装中流程不清晰、操作不规范等问题。资源为PDF格式,共1个文件,压…

2026/9/21 1:59:04 阅读更多 →
uni-app 持续定位 API 全解析:onLocationChange、startLocationUpdate 与后台定位实战

uni-app 持续定位 API 全解析:onLocationChange、startLocationUpdate 与后台定位实战

uni-app 持续定位 API 全解析:onLocationChange、startLocationUpdate 与后台定位实战 【免费下载链接】uni-app A cross-platform framework using Vue.js 项目地址: https://gitcode.com/gh_mirrors/un/uni-app 本篇技术指南围绕 uni-app(跨端框…

2026/9/21 1:59:04 阅读更多 →
Compiler Explorer 可链接库接入指南:从 libraries.yaml 注册到 c++.amazon.properties 静态链接的全流程实战

Compiler Explorer 可链接库接入指南:从 libraries.yaml 注册到 c++.amazon.properties 静态链接的全流程实战

后端前端开发工具 【免费下载链接】compiler-explorer Run compilers interactively from your web browser and interact with the assembly 项目地址: https://gitcode.com/gh_mirrors/co/compiler-explorer 点击查看 免费下载 本篇技术指南聚焦 Compiler Explor…

2026/9/21 1:59:04 阅读更多 →
ResNet+SVM组合:小样本医学图像分类的实用方案

ResNet+SVM组合:小样本医学图像分类的实用方案

简介:这套基于ResNet与SVM的乳腺癌检测算法资源,面向深度学习及医学影像处理方向的开发者、研究者与高年级学生,针对医学图像分类中深层特征提取与传统分类器结合的需求,提供了完整可运行的实现方案。压缩包共25个文件&#xff0c…

2026/9/21 1:59:04 阅读更多 →
Fun-CosyVoice3 Windows本地部署实战:TTS声音克隆与数字人接入

Fun-CosyVoice3 Windows本地部署实战:TTS声音克隆与数字人接入

数字人项目里最磨人的往往不是形象和驱动,而是背后那条“出声”的链路。我最近把一套数字人播报系统往Windows机器上迁移,核心TTS选的是Fun-CosyVoice3-0.5B-2512。本想着这类开源模型在Linux上跑得很顺,换到Windows最多改改路径,…

2026/9/21 1:58:04 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →