2013-02-19 47 views
2

你能帮我解决这些问题吗?我使用Python抽样方法

抽样方法

采样(或蒙特卡洛)方法形成的使用随机数来提取有关(多元)的分布和功能的信息技术一般的和有用的设置。在统计机器学习的情况下,我们通常关心的是从分布中抽取样本以获得总结统计的估计值,例如有问题分布的均值。当我们在单位间隔(rand中的rand或R中的runif)上访问一个统一的(伪)随机数发生器时,我们可以使用Bishop Sec。中描述的变换采样方法。 11.1.1从更复杂的分布中抽取样本。实现变换方法指数分布

$$ P(Y)= \拉姆达\ EXP - 使用在526页的底部给出的表达式(\拉姆达y)时,Y \ GEQ 0 $$

在主教:切片采样涉及用额外的变量u扩大z,然后从关节(z,u)空间中抽取样本。

抽样方法的关键点是需要多少样本才能获得可靠的感兴趣数量估计值。让我们说,我们感兴趣的是估计的平均值,这是

$$ \ mu_y = 1/\拉姆达$$

在上述分配

,我们则使用样本均值

$$ b_y作为我们的估计量的L个样本的平均值= \ frac1L \ sum^L_ {\ ell = 1} y(\ ell)$$

。由于我们可以根据需要生成大小为L的样本,因此我们可以调查这种估计的平均值如何收敛到真实平均值。要做到这一点正确,我们需要采取绝对迪FF erence

$$ | \ mu_y - b_y | $$

真实平均$μ_y$并估计$ b_y $ 之间平均超过很多,说1000,重复对于$ L $的几个值,例如10,100,1000。 将预期的绝对偏差绘制为$ L $的函数。 您可以绘制预期绝对偏差的一些变换值以获得或多或少的直线,这是什么意思?

我是新来的这种统计机器学习,真的不知道如何在Python中实现它。你能帮我吗?

+0

有些言论:(1)这听起来像是从作业中直接获得的。如果是这样,我们应该添加[tag:homework]标签。(2)切片采样生成指数随机变量似乎是一种奇怪的方式,除非在您的机器上计算对数特别麻烦! (指数可以通过标准统一以非常简单的方式获得。)(3)均值$ b_y $是无偏的均匀最小方差,并且具有已知的分布。 $ b_y/\ mu_y $是一个关键数量,所以推断很容易,这就是为什么蒙特卡洛在这里突出显示的问题。 – cardinal 2013-02-19 19:20:40

+0

去年,作业标签被淘汰。 – chepner 2013-02-20 14:27:19

+0

@chepner:我之前的评论是在迁移之前完成的。该标签在[stats.SE](http://stats.stackexchange.com)上仍然存在(并且常用)。干杯。 :) – cardinal 2013-02-20 15:38:49

回答

1

有几个你可以采取的捷径。 Python有一些内置的方法来进行采样,主要在Scipy库中。我可以推荐一个在Python中实现这个想法的手稿(声明:我是作者),位于here

它是一本较大的书的一部分,但这个孤立的章涉及更一般的大数定律+收敛,这就是你所描述的。本文讨论了泊松随机变量,但您应该能够根据自己的情况调整代码。

+0

非常感谢,它确实有助于一些代码而不是方程:-) – pythonnewbie 2013-02-19 16:50:05