我的假设h取决于多个分类变量(a,b,c),每个变量都有相应的一组可能值(A,B,C)。现在我的每个数据点都存在于这个空间中,我无法控制这些值(观察数据)。
例如,预测用户购物概率的假设取决于(年龄、国家、性别、设备类型等)
我如何对上述数据集进行采样,以便它能给我一个很好的表示。我从书中学到的技术很好地适用于一维,但在实践中这种情况很少见。如果我对一个维度进行采样,我的其他维度将严重偏向某些值。是否有任何标准算法可以提供良好的采样?
我的假设h取决于多个分类变量(a,b,c),每个变量都有相应的一组可能值(A,B,C)。现在我的每个数据点都存在于这个空间中,我无法控制这些值(观察数据)。
例如,预测用户购物概率的假设取决于(年龄、国家、性别、设备类型等)
我如何对上述数据集进行采样,以便它能给我一个很好的表示。我从书中学到的技术很好地适用于一维,但在实践中这种情况很少见。如果我对一个维度进行采样,我的其他维度将严重偏向某些值。是否有任何标准算法可以提供良好的采样?
让我给你一些指示(假设我是对的,这可能不一定是真的,所以请谨慎行事:-)。首先,我会弄清楚适用的术语。在我看来,您的案例可以归类为来自分类分布的多元抽样(请参阅本节关于分类分布抽样)。也许,最简单的方法是使用R生态系统的丰富功能。特别是,标准包包含功能(链接)。statsrmultinom
如果您需要更复杂的采样类型,还有其他可能值得探索的包,例如sampling(链接)、miscF(链接)、提供rMultinom功能(链接)。如果您的复杂抽样侧重于调查数据,请考虑阅读Thomas Lumley 的这篇有趣的论文“Complex Sampling and R”。
如果您使用 R 以外的语言,请检查multinomialPythonnumpy包中的函数,对于 Stata,请查看此博客文章。最后,如果您对贝叶斯统计感兴趣,以下两个文档似乎是相关的:这篇博文和这篇调查论文。希望这可以帮助。
澄清一下,您在每个可能的类别组合中至少有一个观察结果,但您只想对总数据的一个子集进行分析,并试图决定如何选择保留哪些点以及丢弃哪些点?
我认为正确的方法很大程度上取决于你的假设h是什么,你想要运行什么样的统计测试,以及你的损失函数是什么。例如,如果您尝试回答可以通过每个组合中的数据点数量或通过每个组合的某些连续变量的平均值和标准差来回答的问题,则通过采样减少数据大小只会造成伤害你的分析。
例如,如果你想学习一个分类器,一个经典的问题是,是在所有可能类数量相等的集合上训练,还是在野外发现的基础类分布上进行训练。第一个将训练一个“高级”分类器,特别是如果它的先验类别成员后来通过最合理的损失函数重置为实际分布。但是你的损失函数是其中一个更好的吗?
您可能还想研究实验设计,特别是组合设计,它试图解决一个对称问题——从没有数据开始但能够选择各种值,我们应该测试哪些点集以获得尽可能多的数据尽可能多的关于底层功能的信息?