如何在Python中检查样本是否与总体具有相同的概率分布?

原文

我有一个有数百万行的Dataframe,为了创建一个模型,我使用dataset.sample(int(len(dataset)/5))从这个数据集中随机抽取了一个样本,它从对象的轴返回一个随机的项目样本。现在我想验证样本是否不会从总体中失去统计意义,即确保样本的每个特征(列)的概率分布对于整个数据集(总体)具有相同的概率分布。我既有数字特征,也有分类特征。如何在Python中检查这些特征是否具有相同的概率分布?

Anirban Saha提问于2020-12-18 16:29

2 个回答

高票数最新

Anirban Saha

修改于2020-12-18 17:52已采纳

得票数 2

对于连续变量,您可以使用Kolmogorov-Smirnov统计量。这将测试两个样本是否来自同一分布。

scipy中的用法

scipy.stats.ks_2samp(data1, data2, alternative='two-sided', mode='auto')

复制

scipy.stats.ks_2samp — SciPy v1.9.3 Manual

或者,如果您已经知道发行版,您可以使用KS-test,它针对给定的发行版测试您的数据:

scipy.stats.kstest — SciPy v1.9.3 Manual

原文

richarddmorey

回答于2020-12-18 16:57

得票数 1

这不需要测试。如果您从整个数据帧中进行简单的随机采样,则数据集所具有的任何特征的概率分布实际上就是整个数据集。这是一个简单随机样本的性质。

不幸的是,除非对数据集也进行了适当的采样(我假设您在这一点上无法控制),否则无法保证数据集和样本具有相同的分布。在数据采样点确定概率分布。

但如果你乐于假设这一点,那么你不需要额外的检查步骤来确保你的随机样本完成了它的工作-这是可以证明的保证。

原文

页面原文内容由Anirban Saha、Bobby Klann、richarddmorey提供。腾讯云小微IT领域专用引擎提供翻译支持

原文链接:https://stackoverflow.com/questions/65353833复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>