我有一个相当大的(>100 K行)数据集,每个人有多个(每天)测量,用于几千个人。每个个体的度量数量各不相同,并且有许多null值(也就是说,对于某些变量/度量,一行可能缺少值,但不是所有变量)。我也有一个每日的结果(外推,但让我们假设这样做是公平的,所以在每一天进行测量时都有一个二进制的结果)。
我的问题目标是模拟结果,这样我就可以预测新个体的日常结果。
我的背景是研究,我熟悉一些统计数据和ML,总的来说,数据科学仍然是相当新的。我想知道是否有任何特定的已知ML算法可用于对此类数据进行建模。我对使用类似python的scikit学习的逻辑回归非常谨慎,因为观察结果不是独立的(它们在个人级别上是高度相关的)。据我所知,这类数据非常适合于混合效应logistic回归或纵向logistic回归。然而,我还没有找到任何广泛使用的ML算法,我希望采用ML方法,而不是使用像R中的lme4包这样的方法来拟合统计模型。
有人能推荐一种可用的ML算法来建模这样的数据吗?
PS:我做了一些研究,发现了一些关于这个主题的研究文章,但是没有被广泛使用或者实现得很清楚。我所使用的数据的结构让我觉得很普通,所以我想我应该问一问。
发布于 2020-04-22 23:49:46
Assuming我们不是在谈论时间序列,也假设您想要预测的未知数据可能包括当前不在您的数据集中的个人,您最好的选择是首先重组您的数据。
您想要做的是预测X1...Xn预测器的每日结果Y,据我所知,这是测量结果。这里的一个正常方法是拟合一个RandomForest或助推模型,是的,它将基于一个后勤回归者。
然而,您指出,简单地假设每个案例都是独立的是不正确的,因为结果高度依赖于所测量的个体。如果是这样的话,那么我们需要添加将个人描述为附加预测器的属性。
所以这个:
id | day | measurement1 | measurement2 | ... | outcome
A | Mon | 1 | 0 | 1 | 1
B | Mon | 0 | 1 | 0 | 0
变成这样:
id | age | gender | day | measurement1 | measurement2 | ... | outcome
A | 34 | male | Mon | 1 | 0 | 1 | 1
B | 28 | female | Mon | 0 | 1 | 0 | 0
通过包含每个个体的属性,我们可以将每个日常测量作为一个单一的案例来训练模型,因为我们假设个体内部结果之间的相关性可以用属性来解释(即年龄、性别相似的个体,其他领域合适的属性应该具有相同的结果偏差)。
<#>If,除了测量值之外,您没有任何关于个人的属性,那么您也可以安全地忽略这些属性,因为您的模型将不得不在未见数据上预测结果,而不知道个人的任何情况。因为我们知道个体对结果的偏见,所以预测可以得到改进,这并不重要,因为数据根本就没有。
你必须明白,预测任务与其他统计工作不同,我们唯一关心的是预测模型的正确验证性能。如果你可以通过忽略个人来获得一个足够好的模型,而不是你是-好的,如果你的模型很糟糕,你需要更多的数据。
另一方面,If只想为已经在您的培训集中的个人预测结果,问题就会变得更容易解决。只需将单个标识符添加为预测变量即可。
<#>To总结一下,除非你有一个时间序列,否则你应该可以使用任何ML分类模型,比如RandomForest或者增强模型,即使它们是基于正常的物流回归。但是,您可能不得不对数据进行一些重构。
https://datascience.stackexchange.com/questions/72830
复制相似问题