文件交换

图片缩略图

fitVirusCV19v3 (COVID-19 SIR模型)

版本3.4.8(3.57 MB)通过 约书亚麦吉
利用SIR模型,Code估计冠状病毒COVID-19疫情评估,接收并绘制来自HDX的最新数据。

976个下载

更新2020年05月03日

查看许可证

此代码将从HDX检索最新的数据并尝试将其适合米兰巴蒂斯塔创造了SIR模型中使用结构(//www.tianjin-qmedu.com/matlabcentral/fileexchange/74658-fitviruscovid19?s_tid=prof_contriblnk)。这个模型是数据驱动的,所以它的预测和数据一样好。同时,假定模型是对单阶段流行的合理描述。

结果保存在结构RES(见函数fiVirusCV19头)。可选地,所述结果可以由被打印:

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

plot可以通过以下方式启用或禁用(默认为on):
fitVirusCV19v3(“意大利”、“plt”、“了”)

绘制在该图中使用的生长速率(DEF值为2)
fitVirusCV19v3( “意大利”, 'NSP',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

引用作为

约书亚麦基(2020年)。fitVirusCV19v3 (COVID-19 SIR模型)(//www.tianjin-qmedu.com/matlabcentral/fileexchange/74676-fitviruscv19v3-covid-19-sir-model),MATLAB中央文件交换。检索

评论和评分(88

嗨,乔舒亚,请检查印度,印度尼西亚,日本,新加坡和台湾的例子的错误。

上州嗨,我有这个错误
fitVirusCV19v3(“意大利”、“打印”、“上”)
使用webread误差(线122)
无法建立到“data.humdata.org”的安全连接。原因是“错误:14090086:SSL”
套路:ssl3_get_server_certificate:证书验证失败”检查您的证书文件。
(C:程序文件\MATLAB\R2017b\sys\证书\ca\rootcert .pem)过期、丢失或无效
证书。

会做的事情。

圣硒

真的很感谢这一点。另一个例子更新将是巨大的。

你好,Joshu,你能定期更新例子标签上的数据吗?

本长袍

太好了,谢谢!我欣赏你的模特已经有一段时间了!

这一定是由于HDX数据库中的一个输入错误造成的。我去查一下,本。

本长袍

我相信,你的美国案例,每天为20年4月21日不正确。维基百科,数量为25304(https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_the_United_States)。你的图具有数量接近40,000。

文章正在更新。

平硐那迦

谁能告诉我的getData funtion是如何工作的?其中它把数据?正如我在本地的CSV文件更改的数据来实现它为印度各邦然而,结果都是一样的即结果是从古老的国家数据本身。

李智

你好Mr.Joshua,这个代码是如此之大!但是,当我运行它,我就表索引频繁出错。我搜索帮助中心,它说,“与R2019b开始,你可以指定表中的变量名是无效的MATLAB®身份标识。这样的变量名可以包含空格,非ASCII字符,可以有任意字符作为主角。”因此,只有R2019b及以上的可与该程序不兼容,你能解决这个问题的兼容性?

非常感谢Mr.Joshua。您已成功修改米兰的SIR模型。不过,我看不到明确S的方程,我和R.我搜索在fitVirusCV19&analyseCV19,但没有找到它。你可以让我知道在哪个部分你把这些方程。

完美的约书亚!谢谢你!

你好大卫,

为了解决这个问题变“keeplimits”到“keepticks”。这应该做的伎俩。

杰克

请记住,在获得更多数据之前,这些模型很可能无法提供准确的长期预测!

现在我正在秘鲁类似的错误消息(每瑞尔下图):

fitVirusCV19v3(秘鲁)
无法获得的参数。
INI:测试= 0.769831伽马= 0.513221 N = 27777.4 I0 = 6.9504
beta = 0.0292718 gamma = -0.169065 N = 602872 I0 = 112.561

约书亚,这是伟大的。非常感谢。在这里,在秘鲁,我们正在自3月15日一个非常严格的检疫(未计划月底至4月26日)。我真的很感谢你的快速反应。

嗨,参数beta和gamma都是根据实际确诊病例数估算出来的正确。请记住变量R0是随着时间变化的。它将根据确诊病例的数量每天变化。虽然2.4-2.5这个数字平均来说可能是正确的,但它没有考虑到不同国家正在采取的不同控制战略。该模型假设人口之间的接触是均等的。
杰克

乔舒亚,还有一件事(我可能已经不适合我了!)根据秘鲁的产量,gamma = .7986和beta = 1.286, R0 = 1.6103。模型是否估计beta和gamma以使SIR模型与实际确诊病例(感染人数)相符?看来我在秘鲁看到的伽马射线率要低得多(平均0.117)。此外,对于冠状病毒,一般来说,他们报告的R0平均值要高得多(2.0-2.5)。最后,模型对人口混合做了什么假设?再次感谢。

非常感谢,约书亚!

嗨,杰西,
请参见标题为“R0s”的示例。这可以通过将输出存储在命令窗口的数组中来实现。例如,一次在与代码类型output = fitVirusCV19v3(“US”、“plt”、“off”)相同的目录中,然后输出。以查看R0值和输出。看到的值。
杰克

对不起,如果这看起来是个简单的问题。我注意到在代码中有针对各种参数的“可选输出”,但是我似乎无法得到这些数字。这个输出的命令是什么样的?我想知道res.RO, res.beta, res.gamma和res.N。谢谢。

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

不,这是一个装有参数。马克斯是包括了默认设置,可以更改。这是安装的SIR模型的一部分,因此,你不需要触摸这个参数。见附件:https://www.researchgate.net/publication/339311383_Estimation_of_the_final_size_of_the_coronavirus_epidemic_by_the_SIR_model

为什么Nmax个= 2E6?我是否需要将其设置为每个国家的总人口?

你好Joshua,请注意数据的日期报告。你的意思是,一天的差异。

嗨安东尼奥,
我只是调查您的要求。以下是我发现:
预计总案例:
印度尼西亚:(我的代码):4387,(米兰代码):4446
意大利:(我的代码):155889,(米兰代码):168747
美国:(我的代码):584464,(米兰的代码):539470
西班牙:(我的代码):172017,(米兰代码):172105

基于这一点,我不认为你看到的差异是显著的。这肯定是数据在两端处理方式不同的结果。预计价值观会有所不同,我不认为会有很大的差异。谢谢你的调查。
杰克

澳大利亚,印度尼西亚,意大利和更多的国家。尽量随机检查。

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

嗨约书亚,基于相同的数据,4月5日,但仍与巴蒂斯塔先生的结果显著差异。你可以再次检查呢?

嗨盖尔盖伊,我需要更多的细节。什么是您收到的错误?

你好。我试图运行你的代码,但是,我得到“错误与国家” - 所有国家...

感谢Joshua,真的很感激......

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

我会看看这个

您好安东,送入模型可以不同的数据量。每个代码可以选择生长缓慢的数据的不同的量,并且可以通过代码的简单的修改而改变。

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

你好,Joshua先生,我试图运行代码,但似乎在第338行代码[t,Ca] = ode45(@(t,y) odeFun(t,y,b), tspan, I0)出现错误。知道为什么吗?

它不适用于Matlab 2010b。

燕binghai

神奇的代码!

汤川浩

嗨,约书亚先生!我更迭运行它,但失败(错误),以获得一些情节,如阿联酋,关岛,新喀里多尼亚。
在otherhands土耳其和俄罗斯的结果是好的,但对土耳其的情况下,日期轴/天图是不同寻常的,俄罗斯的拟合结果显示大量C_end的。
你介意解释一下这些因素吗?
我求你了。
最好的祝福!

vitto66

很抱歉,我在3月30日看到一个类似的问题没有回复

罗伊·陈

嗨,约书亚先生!这是非常观赏壮丽的工作,你在这里做了!
我是来自香港(出生于台湾)。如果我会问,你可以做更新为我的国家和港台,好吗?
你的工作将帮助我们。
请每周更新exmaples(可能)?(如果你不能)
非常感谢你的好意!

汤川浩

非常感谢你,约书亚麦基先生更新我的祖国日本和其他人!
对不起,问你一个基本的问题。我怎样才能安装这个模型源?P.S。我曾经用Python做我的分析。
我试着用它来看看其他国家,如俄罗斯、越南、土耳其。
如果你能告诉我或者帮我更新,那就太好了。
再次感谢大家!GBU

董gretch

请提供最新版本的链接

喜瑞尔,
感谢您报告这个错误。它现在应该固定。请下载最新的版本。
杰克

瑞尔Aljama

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

fitVirusCV19v3( '菲律宾', 'PRN', '上')
无法获得的参数。
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,国家)

完成!

汤川浩

约书亚麦基先生你好!
非常感谢您对所有的这些。
你能帮我一个忙添加例如情况在日本,我的国家?
此外,如果它不麻烦你了,你可以添加新加坡和澳大利亚吗?
非常感谢你。GBU

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

嗨约书亚,非常感谢你对所有这些工作。我想知道,如果你认为人均在美国这里(相对于其他国家)会影响您的总受感染的预测增加COVID-19检测率?

你好Marco,这个代码需要2019b或更高。

马可

嗨约书亚,这似乎很大。我试图运行它,但我得到一个错误......好像detectImportOptions丢失,所以我有点卡住。
我对R2016a运行,所以它可能是一个有点过时。
谢谢你的建议
马可

>> fitVirusCV19v3( “意大利”)
“朗伯拉瓦”需要符号数学工具箱。

误差在fitVirusCV19v3> calcEndPoint(线628)
lambertw(-beta *(1 - C 0)* EXP(-beta /伽马)/伽马);

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

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

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

加入印尼例子

会做安东。

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

使用fitVirusCV19v3时出错(第152行)
表变量名必须是文字的载体。
我使用的是2018版MATLAB的..

-更新,再次尝试修复与较老的MATLAB版本的兼容性问题

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

圣硒

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

我会调查这件事的。

在R2019b有以下错误:

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

ode45中的错误(第115行)
odearguments(FcnHandlesUsed,solver_name,赋,TSPAN,Y0,选项varargin);

错误fitVirusCV19v3(线327)
[T,CA] = ODE45(@(T,Y)odeFun(T,Y,b)中,TSPAN,I0);

谢谢
乔瓦尼B.

它是全功能的2019b以上。

是的,这是一个兼容性问题。我在想办法。

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

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

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

有什么建议么?

嗨Tosaporn,我的工作,将容纳最MATLAB用户修复。这与2019b和高达兼容。

嗨,约书亚,
我试过的代码,它显示错误,能否请您解释一下吗?
在= fitVirusCV19v3( “奥地利”);
使用fitVirusCV19v3时出错(第152行)
“01_22_20”不是一个有效的表变量名。
参见isvarname或的文档
matlab.lang.makeValidName以获取更多信息。

喜朱塞佩,
数据库当时可能经历了太多的流量。等一会儿,再试一次。
杰克

莱昂汉堡

嗨,这是我在R2019a上的结果;任何工作。想要为南非运行场景,但是使用Italty作为测试用例。

使用readContentFromWebService时出错(第46行)
服务器响应返回的状态403消息“禁”的请求URL
https://proxy.hxlstandard.org/api/data-preview.csv?url=https%3A%2F%2Fraw.githubusercontent.com%2FCSSEGISandData%2FCOVID-19%2Fmaster%2Fcsse_covid_19_data%2Fcsse_covid_19_time_series%2Ftime_series_19-covid-Confirmed.csv&filename=time_series_2019-ncov-Confirmed.csv&options=table

webread错误(第125行)
[varargout{1:nargout}] = readContentFromWebService(connection, options);

误差在fitVirusCV19v3(线124)
导致= webread(”https://proxy.hxlstandard.org/api/data preview.csv?url=https%3a%2f%2fraw.githubusercontent.com%2fcssegisanddata%2fcovid - 19% - 2 - fmaster%2fcsse_covid_19_data%2fcsse_covid_19_time_series%2ftime_series_19 covid - confirmed.csv&filename=time_series_2019 ncov confirmed.csv”、“选项”、“表“);

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

瑞尔Aljama

嗨,这是结果

使用fitVirusCV19v3时出错(第148行)
'22 -Jan-2020' 不是一个有效的变量名。

你好现在请再试一次。

瑞尔Aljama

美好的一天!
我一直得到这个错误:(使用2018a)

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

所有兼容性问题现在都应该得到修复

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

关于为什么会出现这个错误有什么想法吗?

未确认的属性“PreserveVariableNames”用于类
'matlab.io.text.DelimitedTextImportOptions'。

误差在fitVirusCV19v3(线128)
选择。PreserveVariableNames = true;

圣硒

很高兴看到正在更新的图形。

圣硒

Suksan,
我有同样的问题。Matlab的2019.b与MEX安装。

做得很好,但当我运行代码,它给我这个错误:
未确认的属性“PreserveVariableNames”用于类
'matlab.io.text.DelimitedTextImportOptions'。
误差在fitVirusCV19v3(线132)
选择。PreserveVariableNames = true;

buldus2

做得很好,但是当我运行代码时,它给了我这个错误:使用fitVirusCV19v3的错误(第170行)
重复表变量名:“男”。

任何建议吗?

o要晃龙

更新

3.4.8

更新5/2

3.4.7

更新20年5月1日

3.4.6

更新4/30

3.4.5

更新4/22

3.4.4

更新4/22

3.4.3

更新信息

3.4.2

更新4/18

3.4.1

更新4/17

3.4

- 更新说明以及4/15数据

3.3.9

更新链接到模型的深入描述

3.3.8

更新4/15

3.3.7

更新4/13

3.3.6

-更新

3.3.5

-轻微的错误修复(绘图数据不适合模型的错误)
-adjusted精度通过改变数据选择算法

3.3.4

更新的4/12,与“r0analysis”命令引入的能力,在R0情节随时间的变化

3.3.3

更新4/11

3.3.2

- 更新4/10

3.3.1

更新4/9

3.3

更新4/8

3.2.9

更新(4/6)

3.2.8

-更新

3.2.7

- 小型修复

3.2.6

-图片

3.2.5

-小的更新和更正

3.2.4

- 改进初始参数近似值(米兰巴蒂斯塔提供)

3.2.3

- 更新实例

3.2.2

-更新数据从4月2日

3.2.1

-图片

3.2

更新4/1

3.1.9

-bug修复

3.1.8

- 更新3/31 8:40 PM EST

3.1.7

实例 - 更新美学

3.1.6

- 更新实例

3.1.5

今天 - 更新图(3/30)

3.1.4

-bug修复

3.1.3

- 更新实例

3.1.2

-图片

3.1.1

-compatibility笔记

3.1

- 更新实例

3.0

- 更新情节和固定的小bug

2.9

- 增加了死亡率示例

2.8

- 更新实例

2.7

- 新增能力禁用情节,创造了一个活脚本制表每个国家的R0值

2.6

员工印尼

2.5

-bug修复和兼容性

2.3

兼容性

2.2

-试图修复其他变量名的兼容性问题

2.1

兼容性

2.0.9

-修复所有兼容性问题

2.0.8

-bug修复

2.0.7

-图片

2.0.6

-描述

2.0.5

- 更新日期蜱

2.0.4

-new数据源(更新数据库)

2.0.3

-描述

2.0.2

- 更新兼容性

2.0.1

更新描述

2.0

米兰巴蒂斯塔的-applied更新礼貌(RMSE校正,自动参数选择)

1.0.4

-名称变更

1.0.3

员工的标签

1.0.2

- 固定住脚本

1.0.1

- 增加了现场脚本生成地块

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