图片缩略图

fitVirusCV19v3 (COVID-19先生模型)

版本3.4.8 (3.57 MB) JM2系列
冠状病毒估计COVID-19爵士流行评价的模型,代码接收和情节从HDX最近的数据。
4.5
18评级

42下载

更新2020年5月03

视图版本历史

查看许可协议

这段代码将从HDX检索近期数据,并试图把它使用结构由米兰先生模型巴蒂斯塔(//www.tatmou.com/matlabcentral/fileexchange/74658-fitviruscovid19?s_tid=prof_contriblnk)。模型是数据驱动的,所以它的预测数据。同时,假设的模型是一个合理的描述单程流行病。

结果保存在结构物(见功能fiVirusCV19头)。选择结果可以打印:

fitVirusCV19v3(“意大利”、“打印”、“上”)

情节可能通过启用或禁用(默认):
fitVirusCV19v3(“意大利”、“plt”、“了”)

绘制图使用的增长率(def值为2)
fitVirusCV19v3(“意大利”,“不高兴”,3)

情节R0作为时间的函数
fitVirusCV19v3(“意大利”、“r0analysis”、“上”)

可以找到更详细的描述:
https://www.researchgate.net/publication/339311383_Estimation_of_the_final_size_of_the_coronavirus_epidemic_by_the_SIR_model
例子中可以发现:
https://www.researchgate.net/publication/339912313_Forecasting_of_final_COVID-19_epidemic_size_200318

引用作为

JM2系列(2021)。fitVirusCV19v3 (COVID-19先生模型)(//www.tatmou.com/matlabcentral/fileexchange/74676-fitviruscv19v3-covid-19-sir-model), MATLAB中央文件交换。检索

评论和评级(105年)

卢卡斯Verzola

还有持续的支持这段代码?金宝app我试图运行fitVirusCV19v3(“我们”)和r0 & R0s_plot只对我们(也不是使用默认值)和我得到以下:

无法获取参数。
ini:β= 0.242097γ= 0.161398 N = 2.161792 e + 07 IO = 83.993
钙:β= 0.0628095γ= 0.0520089 N = 3.04206 e + 09 IO = 127452
错误与国家:我们(这个是r0。mlx代码)

谢谢你!

穆罕默德Alaoui

本的长袍

你能更新你的例子包括最新的数据吗?

莎拉·达维多夫

当我们试图运行代码,我们得到一个错误的津巴布韦和赞比亚。
这是一个错误:错误使用odearguments(18)行
当数值的第一个参数是一个函数处理,tspan和y0参数必须提供。

误差在数值(第115行)
颂歌,odearguments (FcnHandlesUsed solver_name tspan, y0,选项,变长度输入宗量);

错误fitVirusCV19v3(第422行)
(t, Ca) =数值(@ (t, y) odeFun (t, y, b), tspan, I0);
错误使用odearguments (line18)
你知道为什么发生这个错误吗?谢谢你的帮助!

灵白

秋天的李

我认为是pre组增长率为1.5,如果你改变这个1,大多数的错误与没有足够的数据集将会消失和更高的R0将计算

ANKIT PANDEY

请任何人能帮我理解下面的代码是做什么:
i = 1:长度(C_orig)
如果我= =长度(C_orig)
打破
结束
如果马克斯(C_orig) < 10000
如果C_orig (i + 1) > 1.5 * C_orig (i) & & C_orig (i) > 10
startidx (i) =我;
结束
其他的
如果C_orig (i + 1) > 1.5 * C_orig (i) & & C_orig (i) > 50
startidx (i) =我;
结束
结束
结束

秋天的李

秋天的李

这些原始输出从米兰巴蒂斯塔先生为新加坡最新数据模型,我不认为你现在的计划是能够产生结果新加坡,请再次考虑你所有的编码和假设,我已经测试了几个,发现你的最终结果似乎不同于原来的米兰Bastista计算对于大多数的国家我有测试。

fitVirusCV19 (@getDataSingapore plt,“对”,“打印”,“上”,“数据”,“上”);

由susceptible-infected-recovered流行病建模(先生)模型
新加坡的国家
一天118
先生估计模型参数
接触频率(β)0.244(1 /天)
去除频率(γ)0.123(1 /天)
42561年人口规模(N)
最初的病例数(钱数)0
1.989基本众议员人数(R0)
繁殖数量(R) 0.59
结束繁殖数量0.41
时间之间的联系(Tc) 4.1(天)
传染性的时期(Tr) 8.1(天)
最终状态
33779年最后的病例数
最后的易感者8781
每日预估25 - 5 - 2020
南总
提高南
物流模型参数估计
流行大小(K) 28265(例)
流行率(r) 0.121429(1 /天)
初始5.7倍增时间(天)
估计持续时间(天)
把一天93
加速阶段17(天)
减速期20(天)
总增长阶段持续时间37(天)
230流行总持续时间(天)
估计论据
爆发28 - 1月- 2020
开始加速13 - 4月- 2020
转折点30 - 4月- 2020
开始稳定增长21 - 5 - 2020
结束的开始阶段09 - jun - 2020
疫情结束(5例)23日- 8月- 2020
年底流行(1例)14 - 9 - 2020
统计数据(总)
观察118
114年的自由度
484.562根均方误差
0.998平方
调整0.998平方
15782.6统计量与零模型
假定值4.2134 e - 149
统计数据(每日新病例)
观察117
113年的自由度
180.421根均方误差
0.758平方
调整0.75平方
119.252统计量与零模型
假定值7.22686 e-35
方法
总重量情况下0.5
感染率体重0.5
目标函数值3545.37
退出条件(1 =好吧)

秋天的李

@Yafia Radouane我认为R_0从来没有减少的原因可能是由于模型计算R使用物流运行总累积4参数曲线近似模型没有折扣的总实际数量恢复的人,我不知道这实际上是默认模型爵士米兰巴蒂斯塔先生= S +我+ R, R是恢复,RN =β/γ-基本再生数(率),只有约书亚能清晰的没有交叉验证对实际的恢复数据报告的每个国家。实证研究,物流5参数曲线似乎是一个更好的适合大多数实际SARS-CoV-2 L5P等病例//www.tatmou.com/matlabcentral/fileexchange/38043

Yafia Radouane

嗨,约书亚和每个人都在这个博客上;
计算R_0我认为这是一个问题,因为即使感染数量减少R_0仍然大于1的值不正常。有人可以解释这种情况吗?
亲爱的约书亚,请能给我一个答案? ? ?
非常感谢

ANKIT PANDEY

我得到以下错误:

错误使用fitVirusCV19v3(第174行)
表变量名必须特征向量。

请有人能帮助! !

Yahyeh Souleiman

谢谢你的这个工作。它工作的代码。这是可怕的。

秋天的李

只是想澄清在γ应该是回收率,我找不到任何实际恢复数据被应用到交叉验证伽马计算?可能你可以分享信息特别是γ在你计算称为去除率不回收率?

秋天的李

测试在美国、台湾、新加坡y产生错误,可能由于刚性物流4参数曲线带使用吗?Richard物流5参数曲线可以添加更好的模型适合吗?

秋天的李

只是为了分享,结果。txt snd deathresult.txt。也可以获得来自哪里https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_time_series,。csv,确认结果和死亡是死亡全球,只是各自重命名两csv . txt,轻微的修改,模型可以离线运行更有效率。

Lissette莫拉莱斯

约书亚先生,我是一个数学的老师和我想要建模的情况下Covid在我城市圣玛尔塔哥伦比亚与他的模型。你能告诉我怎么做吗?谢谢

嗨约书亚,请检查错误对印度、印尼、日本、新加坡和台湾的例子。

khaoula briki

嗨禅师,我有这个错误
fitVirusCV19v3(“意大利”、“打印”、“上”)
错误使用webread(第122行)
无法建立一个安全连接“data.humdata.org”。原因是“错误:14090086:SSL
例程:ssl3_get_server_certificate:证书验证失败”。检查你的证书文件
MATLAB (C: \ Program Files \ \ R2017b \ sys \ \ ca证书\ rootcerts.pem)过期、丢失或无效
证书。

JM2系列

会做的事情。

圣Se

真的很感谢。另一个例子更新就好了。

安东尼奥维瓦尔第

嗨禅师,请定期更新示例数据选项卡农药。

本的长袍

太好了,谢谢!我欣赏你的模型已经很长一段时间!

JM2系列

这一定是由于HDX数据库中出现一个错字。我看着这个本。

本的长袍

我相信你我们情况下每天4/21/20是不正确的。从维基百科,号码是25304 (https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_the_United_States)。你的图数量接近40000。

JM2系列

这篇文章被更新。

Parminder辛格

平硐Negi

谁能告诉我getData函数是如何工作的吗?它把数据来自哪里?我改变了当地的csv文件中的数据实现它对印度国家却得到相同的结果。e结果从数据本身。

李之

你好Mr.Joshua,这个代码是如此之大!但是当我运行它,我经常错误表索引。我搜查了帮助中心,它说,“从R2019b开始,您可以指定表无效的MATLAB的变量名®标识符。这样的变量名可以包含空格,非ascii字符,可以是任何字符作为主角。”,所以只能兼容R2019b以上这个项目。你能解决这个兼容吗?

阿卜杜Alqahtani

非常感谢Mr.Joshua。您已经成功修改米兰先生模型。然而,我看不出显式方程的年代,我和r . fitVirusCV19 & analyseCV19搜查,但没有发现它。你能让我知道在这节中,您将这些方程。

大卫·弗朗哥

完美的约书亚!谢谢你!

JM2系列

你好大卫,

为了解决这个问题改变“keeplimits”“keepticks”。这应该足够了。

杰克

JM2系列

请记住,直到更多的数据是可用的,提供精确的长期预测的模型可能会失败!

杰西·费根

我得到类似的错误消息(下面每里尔)秘鲁现在:

fitVirusCV19v3(秘鲁)
无法获取参数。
ini:β= 0.769831γ= 0.513221 N = 27777.4 I0 = 6.9504
钙:β= 0.0292718γ= -0.169065 N = 602872 I0 = 112.561

杰西·费根

约书亚说:太好了。非常感谢。在秘鲁我们正在一个非常严格的检疫自3月15日(4月26日才安排结束)。我非常感激你的快速反应。

JM2系列

你好,估计参数β和γ的确诊病例的实际数量正确。请记住,对时间变量R0变化。每天它会改变基于确诊病例的数量。虽然这个数字平均2.4 - -2.5可能是正确的,它不考虑不同国家正在进行的不同的控制策略。模型假定等于接触人群。
杰克

杰西·费根

约书亚,一件事(我可能得到的联赛!)。每输出对秘鲁,γ= .7986和β= 1.286,R0 = 1.6103。的模型估计β和γ适合先生模型与实际确诊病例(感染)?似乎我看到伽马率低得多在秘鲁(平均.117)。同时,冠状病毒,一般来说,他们报告更高的平均R0值(2.0 - -2.5)。最后,混合模型对人口什么假设?再次感谢。

大卫·弗朗哥

杰西·费根

多谢,约书亚!

JM2系列

嗨,杰西,
请参阅示例题为“r0”。这可以通过存储数组从命令窗口中的输出。例如曾经在同一目录作为代码类型输出= fitVirusCV19v3(“我们”、“plt”、“关闭”),然后输出。R0 R0值和输出。β,β值。
杰克

杰西·费根

对不起,如果这看起来简单的问题。我注意到代码中,有“可选输出”对各种参数,但我不能似乎可以得到这些数据。这个输出的命令会是什么样子?我感兴趣res.RO res.beta, res.gamma, res.N。谢谢。

佩Jovanovski

谢谢你的回答。这个模型考虑到每个国家的人口吗?如果有,在哪里?

JM2系列

不,这是一个安装参数。马克斯是默认设置中,可以改变。这是安装作为一个爵士模型的一部分,因此你不需要触摸这个参数。见附件:https://www.researchgate.net/publication/339311383_Estimation_of_the_final_size_of_the_coronavirus_epidemic_by_the_SIR_model

佩Jovanovski

为什么Nmax = 2 e6 ?我需要将它设置为每个国家的人口吗?

嗨,约书亚,请注意日期数据的报告。你的意思是例子,1天的区别。

JM2系列

你好,安东尼奥,
我调查了你方的索赔。这是我的发现:
预计总情况下:
印尼:(我的代码):4387(米兰的代码):4446
意大利:(我的代码):155889年,(米兰的代码):168747
我们(我的代码):584464(米兰的代码):539470
西班牙:(我的代码):172017年,(米兰的代码):172105

在此基础上我不认为,你看到的是重大的区别。这绝对是一个结果的差异是如何处理数据的两端。预计的值将是不同的,我不相信有一个巨大的显著差异。谢谢你的调查。
杰克

澳大利亚、印度尼西亚、意大利和许多更多。随机检查。

JM2系列

嗨Antonn,哪个国家你在看什么?本质上也会有差异,因为数据来源是不一样的。

嗨约书亚,基于相同的数据截止到4月5日,仍有显著性差异的结果与巴蒂斯塔先生。你能再检查一次吗?

JM2系列

嗨Gergely,我需要更多的细节。你收到的错误是什么?

Gergely塔卡克斯

你好。我试着运行您的代码,但是,我得到“错误与国家”——所有国家……

安东尼奥维瓦尔第

Thx约书亚,真的很感激……

JM2系列

安东,我注意到有一个小的错误在最新版本的数据处理算法。请尝试最新的版本。你现在应该找到近似更相似。

JM2系列

我马上去

JM2系列

你好安东,送入模型的数据量可能有所不同。每个代码可能选择不同的缓慢增长的数据量和可以改变通过简单修改的代码。

安东尼奥维瓦尔第

如果使用相同的算法,巴蒂斯塔先生,为什么结果是不同的数据(04/04)?

奥尔德林瞧

嗨约书亚先生,我试图运行代码,但似乎在一个错误的代码(t, Ca) =数值(@ (t, y) odeFun (t, y, b), tspan, I0)在第338行。知道为什么吗?

塞吉奥Magalhaes

它不为Matlab 2010 b工作。

燕binghai

神奇的代码!

Hiroshi汤川

嗨,约书亚先生!我成功运行它,但是失败(错误)阿拉伯联合酋长国等情节,关岛,新喀里多尼亚。
另土耳其和俄罗斯的结果是不错,但日期轴对土耳其/天图是不寻常的,俄罗斯的适应结果显示大量C_end。
你介意解释这些因素吗?
我求你了。
最好的问候!

vitto66

对不起,我只看到一个相似的问题没有回复3月30日

罗伊·陈

嗨,约书亚先生!它非常impresive在这里工作你做!
我从香港(在台湾)出生的。如果我可以问,你能更新在我国香港和台湾,好吗?
你的工作将帮助我们。
并请给更新的例子(也许)每周?(如果你不能)
非常感谢你的好意!

Hiroshi汤川

约书亚·麦基先生,非常感谢你更新我的国家日本和其他国家!
对不起,问你一个基本问题。我怎么能安装这个模型来源?注:我使用Python用于分析。
我试着用它来看到其他国家如俄罗斯、越南、土耳其。
如果你可以告诉我或更新它对我来说,这将是伟大的。
非常感谢了!GBU

董gretch

请给最新版本的链接

JM2系列

嗨,里尔,
谢谢你报告这个bug。现在应该是固定的。请下载最新版本。
杰克

里尔Aljama

约书亚说:早上好
我现在可以运行您的代码。
但我有问题,一些国家,特别是菲律宾

fitVirusCV19v3(“菲律宾”、“打印”、“上”)
无法获取参数。
ini:β= 0.682172γ= 0.454782 N = 8016.47 I0 = 0.00515606
钙:β= 0.0543995γ= -0.219728 N = 25201.8 I0 = 0.000941286
未被认出的plt的函数或变量。

错误fitVirusCV19v3 > plotData(第781行)
如果plt

错误fitVirusCV19v3(第294行)
plotData (C date0国家)

JM2系列

完成了!

Hiroshi汤川

嗨约书亚麦基先生!
非常感谢你所有的这些。
你能帮我一个忙添加示例案例在日本,我的国家吗?
如果不是麻烦你,你也可以加入新加坡和澳大利亚吗?
非常感谢。GBU

JM2系列

你好,克拉克!谢谢你的美言。我将工作将人均测试纳入我的下一个迭代模型的。
杰克

克拉克

嗨约书亚,非常感谢这一切的工作。我想知道如果你认为增加人均COVID-19检查率在美国(与其他国家相比)会影响你总感染预报了吗?

JM2系列

嗨,马克,这段代码需要2019 b或更高。

马可

嗨,约书亚,这似乎是伟大的。我试着运行它但我得到一个错误……似乎detectImportOptions丢失,所以我有点困。
我运行在R2016a所以可能有点过时了。
感谢任何提示
马可

Anders Wallenborg

> > fitVirusCV19v3(“意大利”)
“lambertw”需要符号数学工具箱。

错误fitVirusCV19v3 > calcEndPoint(第628行)
lambertw(β* (1 - c0) * exp(β/γ)/γ);

错误fitVirusCV19v3 > calcClim(第601行)
res = calcEndPoint(β,γ,I0 / N) * N;

错误fitVirusCV19v3(第306行)
这一= calcClim (b);

不幸的是,我没有访问符号数学工具箱,这并不是列为需要运行代码。任何想法或建议吗?

JM2系列

增加了印尼的例子

JM2系列

安东。

安东尼奥维瓦尔第

嗨,约书亚,
你介意让印尼例子选项卡上吗?谢谢。

安德烈Mitrasca

错误使用fitVirusCV19v3(第152行)
表变量名必须特征向量。
我使用2018版的MATLAB . .

JM2系列

再次更新,试图修复与旧的MATLAB版本兼容性问题

JM2系列

会做的事情。今天晚些时候我会更新。

圣Se

你可以每隔几天就更新的示例图也许吗?一些国家很快接近临界点。谢谢

JM2系列

我马上去。

乔凡尼bortolan

在R2019b有以下错误:

在= fitVirusCV19v3(“奥地利”);
错误使用odearguments(第21行)
当数值的第一个参数是一个函数处理,tspan参数必须至少有两个元素。

误差在数值(第115行)
颂歌,odearguments (FcnHandlesUsed solver_name tspan, y0,选项,变长度输入宗量);

错误fitVirusCV19v3(第327行)
(t, Ca) =数值(@ (t, y) odeFun (t, y, b), tspan, I0);

谢谢
乔凡尼B。

JM2系列

它是2019 b和全功能。

JM2系列

是的这是一个兼容性的问题。我工作在一个解决方案。

这就跟你问声好!很酷的模型。
我一直占有:

错误使用fitVirusCV19v3(第149行)
“01 _22_20”不是一个有效的变量名。

错误在运行(1号线)
它= fitVirusCV19v3(“意大利”);

有什么建议吗?

JM2系列

嗨Tosaporn,我正在修复,将容纳大多数MATLAB用户。这是与2019 b和兼容。

Todsaporn Fuangrod

嗨,约书亚,
我试着代码,它显示错误,你能解释吗?
在= fitVirusCV19v3(“奥地利”);
错误使用fitVirusCV19v3(第152行)
表“01 _22_20”不是一个有效的变量名。
看到isvarname或文档
matlab.lang。makeValidName获得更多信息。

JM2系列

嗨,朱塞佩,
数据库可能是经历太多的交通。等一下,再试一次。
杰克

JM2系列

嗨,里尔,
谢谢你的耐心。现在请再试一次。我转换变量名日期datenum格式。
杰克

里尔Aljama

你好,这是结果

错误使用fitVirusCV19v3(第148行)
“22日- 1月- 2020”不是一个有效的变量名。

JM2系列

你好,请再试一次。

里尔Aljama

美好的一天!
我继续这个错误:(2018(使用)

错误使用fitVirusCV19v3(第148行)
“省/州”不是一个有效的变量名。

JM2系列

所有的兼容性问题现在应该固定

JM2系列

这是一个兼容性问题。你运行的是什么版本?

安德烈·安吉洛

任何想法为什么我会得到这个错误:

无法识别的属性“PreserveVariableNames”类
“matlab.io.text.DelimitedTextImportOptions”。

错误fitVirusCV19v3(第128行)
选择。PreserveVariableNames = true;

圣Se

很高兴看到图表被更新。

圣Se

何塞玛丽亚Jr。

Suksan,
我有同样的问题。Matlab 2019。安装了墨西哥人。

Suksan Suwanarat

出色的工作,但当我运行代码给我这个错误:
无法识别的属性“PreserveVariableNames”类
“matlab.io.text.DelimitedTextImportOptions”。
错误fitVirusCV19v3(第132行)
选择。PreserveVariableNames = true;

buldus2

出色的工作,但当我运行代码给我这个错误:错误使用fitVirusCV19v3(第170行)
复制表变量名:“南”。

任何建议吗?

黄平君长阿

MATLAB版本兼容性
创建R2019b
与R2019b后来版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!