你能帮我解决这些问题吗?我正在使用 Python
采样方法
抽样(或蒙特卡洛)方法形成了一组通用且有用的技术,这些技术使用随机数来提取有关(多元)分布和函数的信息。在统计机器学习的背景下,我们最关心的是从分布中抽取样本以获得汇总统计的估计值,例如相关分布的平均值。
当我们可以访问单位区间(Matlab 中的 rand 或 R 中的 runif)上的统一(伪)随机数生成器时,我们可以使用 Bishop Sec 中描述的转换采样方法。 11.1.1 从更复杂的分布中抽取样本。实现指数分布的变换方法
$$p(y) =\lambda\exp(−\lambda y) , y\geq 0$$
使用 Bishop 第 526 页底部给出的表达式:切片采样涉及使用附加变量 u 增加 z,然后从联合 (z,u) 空间中抽取样本。
抽样方法的关键点是需要多少样本才能获得对感兴趣数量的可靠估计。假设我们有兴趣估计均值,即
$$\mu_y = 1/\lambda$$
在上面的分布中,我们接着使用样本均值
$$b_y =\frac1L\sum^L_{\ell=1} y(\ell)$$
L 个样本作为我们的估计器。由于我们可以根据需要生成任意数量的大小为 L 的样本,因此我们可以研究这种平均估计如何收敛到真实均值。为了正确地做到这一点,我们需要采取绝对差异
$$|\mu_y − b_y|$$
在真实平均值 $µ_y$ 和估计值 $b_y$ 之间 对 $L$ 的多个值(例如 10、100、1000)重复多次(例如 1000 次)进行平均。 将预期的绝对偏差绘制为 $L$ 的函数。 您能否绘制一些预期绝对偏差的转换值以获得或多或少的直线,这是什么意思?
我是这种统计机器学习的新手,真的不知道如何在 Python 中实现它。你能帮帮我吗?
请您参考如下方法:
您可以采取一些捷径。 Python 有一些内置的方法来做采样,主要在 Scipy 中。图书馆。我可以推荐一份用 Python 实现这个想法的手稿(免责声明:我是作者),位于 here .
它是一本更大的书的一部分,但是这个独立的章节涉及更一般的大数定律 + 收敛,这就是您所描述的。本文涉及泊松随机变量,但您应该能够根据自己的情况调整代码。
