关于自助法估计值方差为何随样本数增加而减小的数学解释

我在尝试理解自助法装袋法(自助法聚合),因此我进行了若干实验。我从Kaggle加载了一个样本数据集,并尝试使用自助法方法:

X = pd.read_csv("dataset.csv")true_median = np.median(X["Impressions"])B = 500    errors = []    variances = []    for b in range(1, B):        sample_medians = [np.median(X.sample(len(X), replace=True)["Impressions"]) for i in range(b)]        error = np.mean(sample_medians) - true_median        variances.append(np.std(sample_medians) ** 2)        errors.append(error)

然后我可视化了errorsvariances

fig, ax1 = plt.subplots()color = 'tab:red'ax1.set_xlabel('自助法样本数 (B)')ax1.set_ylabel('自助法估计误差', color=color)ax1.plot(errors, color=color, alpha=0.7)ax1.tick_params(axis='y', labelcolor=color)ax2 = ax1.twinx()color = 'tab:blue'ax2.set_ylabel('自助法估计方差', color=color)ax2.plot(variances, color=color, alpha=0.7)ax2.tick_params(axis='y', labelcolor=color)fig.tight_layout()plt.title("自助法误差、方差与自助法迭代次数的关系")plt.show()

这是图表的输出结果:enter image description here

可以看到,随着B的增加,误差和方差都在减少。我在寻找某种数学上的解释 – 有没有办法推导或证明为什么自助法估计的方差会在B增加时减少?


回答:

我想你看到的是中心极限定理的作用。循环开始时,从总体中重抽取的样本数量较少,中间值的平均值(你称之为误差)并不能很好地代表真实总体中位数。随着你生成更多样本,中间值的平均值渐进地趋向于真实中位数。当趋向于真实均值时,从这个分布中抽取的样本不足以产生较大的方差,方差也随之达到收敛。

这解释清楚了吗?如果没有,请详细说明你在绘图时期望看到什么,我们可以讨论如何实现这一点。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注