这是一个关于在Python中进行Bootstrap采样的教程。在本教程中,我们将学习什么是自举,然后了解如何实现它。
我们开始吧
什么是自举采样?
引导抽样的定义如下:
在统计学中,Bootstrap抽样是一种重复抽取样本数据并从数据源进行替换以估计总体参数的方法。
这基本上意味着自举抽样是一种技术,您可以使用它来估计参数,如整个总体的平均值,而不需要显式地考虑总体中的每个数据点。
我们不是看整个人口,而是看从人口中提取的大小相同的多个子集。
例如,如果您的总体规模是1000。 那么为了求平均值,您可以选择** 50个样本,每个样本大小为4** ,然后计算每个样本的平均值,而不是考虑所有的1000个条目。这样,您将获得随机选择的** 200个条目** (50X4)的平均值。
市场研究人员也使用了类似的策略,在庞大的人群中进行研究。
如何在Python中实现Bootstrap采样?
现在,让我们看看如何在Python中实现引导抽样。
我们将生成一些具有预定均值的随机数据。为此,我们将使用Python](/community/tutorials/python-numpy-tutorial).中的[NumPy模块
让我们从导入必要的模块开始。
1.导入需要的模块。
我们需要的模块包括:
- Numpy
- 随机
要导入这些模块,请使用:
1import numpy as np
2import random
在下一步,我们需要生成一些随机数据。让我们使用Numpy模块来实现这一点。
2.生成随机数据
让我们生成一个平均值为300 、条目数为** 1000** 的正态分布。
代码如下:
1x = np.random.normal(loc= 300.0, size=1000)
我们可以使用以下方法计算此数据的平均值:
1print (np.mean(x))
发帖主题:Re:Kolibrios
1300.01293472373254
请注意,这是总体的实际平均值。
3.使用Bootstrap抽样估计平均值
让我们创建50个样本,每个样本的大小为4,以估计平均值。
执行此操作的代码为:
1sample_mean = []
2
3for i in range(50):
4 y = random.sample(x.tolist(), 4)
5 avg = np.mean(y)
6 sample_mean.append(avg)
List_Sample_Mean_将包含所有50个样本的平均值。为了估计总体的平均值,我们需要计算样本平均值。
您可以使用以下命令来执行此操作:
1print(np.mean(sample_mean))
发帖主题:Re:Kolibrios
1300.07261467146867
现在,如果我们再次运行本节中的代码,那么我们将得到不同的输出。这是因为每次运行代码时,我们都会生成新的示例。然而,每一次的产出都将接近实际平均值(300)。
再次运行本节中的代码时,我们将获得以下输出:
1299.99137705245636
再次运行它,我们得到:
1300.13411004148315
用Python实现Bootstrap采样的完整代码
以下是本教程的完整代码:
1import numpy as np
2import random
3
4x = np.random.normal(loc= 300.0, size=1000)
5print(np.mean(x))
6
7sample_mean = []
8for i in range(50):
9 y = random.sample(x.tolist(), 4)
10 avg = np.mean(y)
11 sample_mean.append(avg)
12
13print(np.mean(sample_mean))
结论
本教程是关于在Python中进行Bootstrap采样的。我们学会了如何通过创建较小的样本来估计总体的平均值。这在机器学习领域非常有用,可以避免过度匹配。希望你和我们一起学习得很开心!