4、概率编程与贝叶斯建模:从文本消息到A/B测试

概率编程与贝叶斯建模:从文本消息到A/B测试

1. 确定性包装器与 PyMC 基础

在概率编程中,确定性变量是一个重要概念。以文本消息示例来说,我们定义了一个关于 $\lambda$ 的模型:
$\lambda = \begin{cases}
\lambda_1 & \text{if } t < \tau \
\lambda_2 & \text{if } t \geq \tau
\end{cases}$

在 PyMC 代码中,实现如下:

import numpy as np
n_data_points = 5
# in Chapter 1 we had ˜70 data points
@pm.deterministic
def lambda_(tau=tau, lambda_1=lambda_1, lambda_2=lambda_2):
    out = np.zeros(n_data_points)
    out[:tau] = lambda_1
    # lambda before tau is lambda 1
    out[tau:] = lambda_2
    # lambda after tau is lambda 2
    return out

显然,如果 $\tau$、$\lambda_1$ 和 $\lambda_2$ 已知,那么 $\lambda$ 就完全确定了,所以它是一个确定性变量。

@pm.deterministic 装饰器内部,传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值