使用引导来增加样本数量有意义吗?那么,怎样才能实现呢



我有15个样本,做回归分析有点小。

有人告诉我,使用自举技术增加样本数量将使我的数据更有统计意义。所以我试过了。

我第一次尝试的是通过在Python中学习scikit的"重采样"功能,使我的样本数从15个增加到1000个。

http://scikit-learn.org/stable/modules/generated/sklearn.utils.resample.html

但当我看到"resample"函数的源代码时,似乎并没有任何关于自举的内容。

所以,以下是我的问题。

Q1:使用Bootstrapping技术将15个样本重新采样到1000个有统计学意义吗?

Q2:如果是,如何在Python环境中实现?

谢谢。

Q1。虽然bootstrap本身是一种广泛使用且在统计上有效的技术,但15个样本可能太小,无法做任何有用的事情。

你觉得这15个样本代表了你感兴趣的人群,可能有特定领域的原因。在这种情况下,你可以使用bootstrap。您可能需要考虑的一件事是将引导与数据中的变化相结合。即,每次对数据进行重采样时,向新数据添加一些噪声,然后将其附加到原始数据集。

这是一个很好的资源,可以了解引导技术及其变体:http://www.stat.cmu.edu/~cshalizi/402/讲座/08引导程序/讲座-08.pdf

Q2.你使用sklearn功能走在了正确的轨道上。如在文档中,重采样函数实现了引导的一个步骤。

基本上,您需要做的是运行一个循环,该循环对原始数据调用重采样函数,并将其附加到新的DataFrame,直到新DataFrame的大小为1000。注意:新的DataFrame还应该包含原始数据。

重采样函数将返回随机选择的数据子集。随机子集中的观测次数等于n_samples的值。例如,如果将n_samples设置为10,则替换函数将返回10个数据点。如果将n_samples设置为15,则每次重采样都将返回整个数据集。

您需要考虑的另一个参数是替换。如果replace为True,则原始数据中的数据点可以在replace返回的子集中重复。如果替换为False,则原始数据中的每个数据点在子集中只能出现一次。

这些参数的选择将取决于您所拥有的数据,但合理的方法可能是设置n_samples<15和replace=True以增加重采样返回的数据的变化。

相关内容

  • 没有找到相关文章

最新更新