来自交叉验证的

This question was migrated,因为可以在堆栈溢出时进行回答。
                            Migrated 6年前。
                        
                    
                
                            
                    
您能帮我解决这些问题吗?我正在使用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库中。我可以推荐位于here的以Python实现此想法的手稿(免责声明:我是作者)。

它是一本更大的书的一部分,但是本孤立的章节介绍了更一般的大数定律+收敛,这就是您要描述的内容。本文讨论的是Poisson随机变量,但是您应该能够使代码适合您自己的情况。

关于python - 采样方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14981933/

10-13 03:55