<aside> <img src="/icons/condense_yellow.svg" alt="/icons/condense_yellow.svg" width="40px" /> Python | 量化 | 概率分布 | 不确定性 | 贝叶斯 | 模型 | 短信 | 竞争性 | 方案 | 供词 | 作弊 | 灾难 | 算法 | 聚类 | 信息 | 虚假 | 策略 | 动态分析 | 常微分方程 | 活跃度 | 非线性 | 回归 | 分层 | 建模

</aside>

🎯要点

🎯量化不确定性模型:🖊模型检测短信编写者行为变化 | 🖊确定(商业领域中)竞争性替代方案 | 🖊确定作弊供词真实比例 | 🖊学生考试作弊 | 🖊确定零部件损坏导致的灾难事故原因 | 🖊马尔可夫链蒙特卡罗算法先验-后验范式可视化 | 🖊聚类寻找信息隐藏源头 | 🖊模型确定和纠正虚假商品星评 | 🖊客户商品价格优化呈现 | 🖊星系位置和椭圆率模拟 | 🖊最大化赌场奖金策略 | 🖊证券分析。

🎯动态分析和常微分方程推理流感传播 | 🎯高层领导被解雇模型预测 | 🎯客户活跃度模型预测 | 🎯热饮冷却非线性模型动态分析 | 🎯多级回归和后分层预测公众人物角逐 | 🎯模型分析专业人士对比机器学习工具的优劣 | 🎯销售领域利润率建模 | 🎯模型分析定位无线网络用户位置。

✂️梗概

🍇Python贝叶斯推理

贝叶斯推理是一种找出变量分布的方法(例如高度 h 的分布)。贝叶斯推理的有趣特征是,统计学家(或数据科学家)可以利用他们的先验知识作为改进我们对分布情况的猜测的手段。贝叶斯推理依赖于贝叶斯统计的主要公式:贝叶斯定理。贝叶斯定理接受我们对分布的假设,即新的数据,并输出更新后的分布。对于数据科学,贝叶斯定理通常表示如下:

$$ P(\theta \mid \text { Data })=\frac{P(\text { Data } \mid \theta) * P(\theta)}{P(\text { Data })} $$

我们可以从贝叶斯定理中看出,先验是一个概率:$P(θ)$。首先,让我们深入研究一下“θ”的含义。θ 通常表示为我们对最能描述我们试图研究的变量的模型的假设。让我们回到身高的例子。根据背景知识和常识,我们推断出身高在一个班级中呈正态分布。正式来说:

$$ h \sim N (\mu, \sigma) $$

其中N表示正态分布,$\mu$ 表示平均值,$\sigma$表示标准差。

现在,我们的先验并不完全是上面的表达式。相反,它是我们对每个参数 $\mu$ 和 $\sigma$ 如何分布的假设。请注意,这就是贝叶斯统计的定义特征的体现:我们如何找到这些参数的分布?有趣的是,我们根据先验知识“编造”它们。如果我们的先验知识很少,我们可以选择一个非常无信息的先验,以免使过程产生偏差。例如,我们可以定义平均高度 $\mu$ 介于 1.65 m 和 1.8 m 之间。如果我们想要一个无信息的先验,我们可以说 $\mu$ 沿着该区间均匀分布。相反,如果我们认为平均高度在某种程度上偏向于更接近 1.65 m 而不是 1.8 m 的值,我们可以定义 $\mu$ 服从 beta 分布,由“超”参数 $\alpha$ 定义和$\beta$。我们可以看看下面这些选项:

 import scipy.stats as sts
 import numpy as np
 import matplotlib.pyplot as plt
 
 mu = np.linspace(1.65, 1.8, num = 50)
 test = np.linspace(0, 2)
 uniform_dist = sts.uniform.pdf(mu) + 1
 uniform_dist = uniform_dist/uniform_dist.sum()
 beta_dist = sts.beta.pdf(mu, 2, 5, loc = 1.65, scale = 0.2)
 beta_dist = beta_dist/beta_dist.sum()
 plt.plot(mu, beta_dist, label = 'Beta Dist')
 plt.plot(mu, uniform_dist, label = 'Uniform Dist')
 plt.xlabel("Value of $\\mu$ in meters")
 plt.ylabel("Probability density")
 plt.legend()

请注意 y 轴如何为我们提供“概率密度”,即我们认为真正的 $\mu$ 是 $x$ 轴上的概率密度。另外,请注意,β 分布和均匀分布会导致我们对 \mu 的值可能得出的不同结论。如果我们选择均匀分布,我们就表示我们不倾向于判断 $\mu$ 是否接近我们范围内的任何值,我们只是认为它位于其中的某个位置。如果我们选择 $beta$ 分布,我们相当确定 $\mu$ 的“真实”值介于 1.68 m 和 1.72 m 之间,如蓝线峰值所示。

请注意,我们正在讨论 $\mu$ 的先验,但我们的模型实际上有两个参数:$N (\mu, \sigma)$。一般来说,我们也可以定义 $\sigma$ 上的先验。然而,如果我们对 $\sigma$ 的猜测感到幸运,或者如果我们想为了示例而简化过程,我们可以将 $\sigma$ 设置为固定值,例如 0.1 m。

似然表示为 $P ( Data \mid \theta)$。在这种情况下,“数据”将是高度的观测值。假设我们要测量一名随机挑选的学生,他们的身高为1.7 m 。考虑到有了这个数据,我们现在可以了解 $\theta$ 的每个选项有多好。我们通过以下问题来做到这一点:如果 $\theta$ 的一个特定选项(称为 $\theta 1$)是真实的,那么我们观察到 1.7 m 高度的“可能性”有多大? $\theta 2$ 怎么样:如果 $\theta 2$ 是“正确”模型,观察到 1.7 m 高度的可能性有多大?