详细内容或原文请订阅后点击阅览
模拟“假设”场景的 5 个 Scipy.stats 技巧
在本文中,我们将深入了解 scipy.stats,探索仅使用 NumPy 和 SciPy 设计高性能、严格模拟的五个基本技巧。
来源:KDnuggets简介
Data is rarely static. Decisions are rarely risk-free.作为一名数据科学家,您经常被要求对业务假设进行压力测试、探索分布不确定性或模拟替代现实。
回答这些假设问题需要从简单的点估计(如简单平均值)转向稳健的概率思维。虽然许多从业者可能会立即转向重型模拟引擎,但标准 Python 科学堆栈已经包含了用于此类建模的未充分利用的主力:scipy.stats。除了执行简单假设检验或计算 p 值的普遍声誉之外,scipy.stats 还提供了一个统一的编程接口,用于跨数十个连续和离散概率分布进行参数化、采样和计算风险指标。
在本文中,我们将深入了解 scipy.stats,探索仅使用 NumPy 和 SciPy 设计高性能、严格模拟的五个基本技巧。
1. 冻结分布以参数化场景
在对场景进行建模时,您通常希望表示世界的不同状态:保守的基线、乐观的最佳情况和悲观的最坏情况。在标准程序代码中,您可以通过携带参数字典(例如位置 loc 和比例尺)来表示这些参数,并在每次需要评估概率或抽取样本时将它们解包到函数中。
一种高级的面向对象模式是冻结分布。在 scipy.stats 中,调用分布类(例如 stats.norm、stats.lognorm 或 stats.gamma)并将参数直接传递给构造函数会返回一个“冻结”随机变量(rv_frozen 的实例)。
输出:
点估计预期收入:150,000.00 美元
