详细内容或原文请订阅后点击阅览
使用 tfprobability 对审查数据进行建模
在这篇文章中,我们使用 tfprobability(TensorFlow Probability 的 R 接口)来建模审查数据。同样,这个阐述的灵感来自 Richard McElreath 的《Statistical Rethinking》中对这个主题的处理。不过,我们建模的不是可爱的猫,而是来自冷酷技术世界的非物质实体:这篇文章探讨了 CRAN 包检查的持续时间,这是 Max Kuhn 的 parsnip 附带的数据集。
来源:RStudio AI博客没有什么是完美的,数据也不是。一种“不完美”是缺失数据,即某些特征对于某些主题是未观察到的。(另一篇文章的主题。)另一种是删失数据,即我们想要测量其特征的事件未在观察间隔内发生。Richard McElreath 的《Statistical Rethinking》中的例子是动物收容所收养猫的时间。如果我们固定一个间隔并观察那些确实被收养的猫的等待时间,我们的估计最终会过于乐观:我们没有考虑那些在这个间隔内没有被收养的猫,因此,等待时间会比整个间隔更长。
缺失数据 审查数据 统计学再思考 做了在这篇文章中,我们使用了一个稍微不那么情绪化的例子,但可能很有趣,尤其是对 R 包开发人员来说:完成 R CMD 检查的时间,从 CRAN 收集并由 parsnip 包作为 check_times 提供。这里,审查部分是那些由于某种原因而出错的检查,即检查未完成的检查。
R CMD 检查
parsnip
check_times
我们为什么关心审查部分?在猫收养场景中,这非常明显:我们希望能够对任何未知的猫进行现实的估计,而不仅仅是那些最终“幸运”的猫。 check_times 怎么样?好吧,如果您的提交是那些出错的提交之一,您仍然会关心等待的时间,因此即使它们的百分比很低(<1%),我们也不想简单地排除它们。此外,由于两组之间存在一些内在差异,如果失败的提交运行完成,则可能需要更长的时间。相反,如果失败是随机的,则运行时间较长的检查更有可能出现错误。因此,在这里,排除审查数据也可能导致偏差。
check_times
最大熵分布
至少一样长
让我们看看实际效果。
数据
状态