首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何验证这个卡尔曼模型,以估计不符合医学标准的病例?

我如何验证这个卡尔曼模型,以估计不符合医学标准的病例?
EN

Data Science用户
提问于 2020-08-13 10:06:51
回答 1查看 63关注 0票数 1

Tensorflow最近制作了一个名为Estimation of undocumented SARS-CoV2 cases的教程。它复制了李等人于2020年3月6日发表的题为“Substantial Undocumented Infection Facilitates the Rapid Dissemination of Novel Coronavirus (SARS-CoV2)”的论文。这是一个基于间隔的SEIR模型,其中人口用一个有SusceptibleExposedUndocumented InfectiousDocumented Infectious分区的状态表示。

我试着用数据训练30天来检验这个模型的有效性,并对未来15天的状态进行预测。我确实找到了模型和当前状态的最优参数,但我不知道如何使用它来预测未来的状态。我已经尝试了将近一个星期了。笔记本中的编程风格对我来说是相当陌生的,因此,我很难弄清楚如何做到这一点。

我要求有更多经验的人通过记事本一次,并给我关于如何预测状态的建议。

谢谢!

EN

回答 1

Data Science用户

回答已采纳

发布于 2020-08-22 05:14:31

总之,笔记本电脑描述了三个关键的组成部分:

  • 状态,它在任何给定时间都完全描述系统。根据定义,SEIR模型在状态中有四个变量:易感、暴露、感染和报告。
  • 动力学,描述了状态是如何随时间发展的。
  • 动力学方程的测量参数:\beta\mu\thetaZ\alphaD。注意,这些参数(就我们的目的而言)是常数。

本教程向您介绍测量参数。逻辑是:

  • 你连续30天都知道你的状态
  • 你知道,这一天会通过动力学方程进入下一天。
  • 因此,您可以求解最大限度地提高模型精度的参数。

既然你有了参数,你的目标就是对未来做出预测。这只是一个把你的参数插入动力学方程并做数学计算的问题。

现在,求解六个耦合微分方程很少容易,但它们为你做了很多繁重的工作。特别是,函数transition_fn几乎完全符合您的要求:它接受当前状态、当前时间和一些"extra“信息(在本教程中定义),并生成下一个状态的预测。

所以我认为你需要做的是:

  1. 想出如何调用transition_fn。您必须以完全正确的格式定义state_paramsextra。在本教程中计算的参数将成为extra的一部分。
  2. 从使用本教程使用的相同时间段开始。这有点“欺骗”,因为您使用数据派生您的参数,现在您使用参数来预测数据。但这是一个很好的“理智检查”:你的预测在这里肯定是准确的,这样你就能识别出任何问题。
  3. 然后,使用不同的时间段来评估模型是否有用。
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/80218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档