编者按:该文件被选为中央MATLAB本周精选
函数fitVirus03实现了一个逻辑模型,用于根据每天的预测来估计流行病的最终大小。这个模型是数据驱动的,所以它的预测和数据一样好。同时,假定模型是对单阶段流行的合理描述。但是,如果流行病发展到第二阶段,模型就变得无用了。该模型对于初始流行阶段也是无用的。
本文包含了奥地利、比利时、中国、克罗地亚、丹麦、德国、匈牙利、法国、伊朗、意大利、伦巴第群岛、挪威、荷兰、纽约州、葡萄牙、斯洛文尼亚、韩国、西班牙、瑞士、英国、美国的冠状病毒数据以及中国以外的数据(截至2020年3月24日)。
对于纯初始猜测或小数据集,回归收敛可能会失败,因此该方法不适用于流行病的早期阶段。此外,如果回归统计量不满足最低标准,如R^2 > 0.8, p-value < 0.05,则结果是无用的。
在epidemy评价图表区域的颜色分离epidemy相(这些都没有标准,但任意选择为方便起见):
红色-快速增长阶段
黄色-过渡到稳定状态相
绿-末期(高原期)
所产生的第二个数字是对每日流行程度的评估。如果这些值不收敛于一个常数,那么流行病可能还不稳定。
更详细的描述中可以找到
https://www.researchgate.net/publication/339240777_Estimation_of_the_final_size_of_coronavirus_epidemic_by_the_logistic_model
例子可以在
https://www.researchgate.net/publication/339912313_Forecasting_of_final_COVID-19_epidemic_size_200318
一种基于SIR模型的新版本可在
//www.tatmou.com/matlabcentral/fileexchange/74658-fitviruscovid19
其他国家的数据可以从
https://ourworldindata.org/coronavirus-source-data。
免责声明。软件和数据是教育,而不是用于医疗或商业用途。
米兰巴蒂斯塔(2020)。fitVirus(//www.tatmou.com/matlabcentral/fileexchange/74411-fitvirus), MATLAB中央文件交换。检索。
2.1.2 | 改变形象 |
|
2.1.1 | 将RMSE添加到图中。更新数据。 |
|
2.1.0 | 更改图形布局。更新数据。 |
|
2.0.25 | 当实际病例数大于实际病例数时,抑制无效预测 |
|
2.0.24 | 正确的描述 |
|
2.0.23 | 添加数据来源 |
|
2.0.22 | 添加丹麦、匈牙利、挪威、纽约州的数据 |
|
2.0.21 | 提高初始猜测。添加数据为比利时,克罗地亚,英国。更新荷兰的数据(感谢罗尔夫·伯伦斯) |
|
2.0.20 | 添加关于fitVirusCOVID19计划的说明 |
|
2.0.19 | 正确链接到新版本 |
|
2.0.18 | 正确iniGuess(感谢尼古拉Wernecke)。每日实际情况下被添加到图。R2总例,感染率添加到总结。葡萄牙的数据都包括在内。 |
|
2.0.17 | 添加备注有关程序的新版本(感谢约书亚麦基) |
|
2.0.16 | 更新需求 |
|
2.0.15 | 增加了荷兰和美国的数据和脚本(感谢Rolf Boelens) |
|
2.0.14 | 更新描述 |
|
2.0.13 | 添加链接的例子 |
|
2.0.12 | 添加数据,奥地利 |
|
2.0.11 | 正确的数据 |
|
2.0.10 | 更新数据。添加数据,法国,瑞士 |
|
2.0.9 | 变更摘要 |
|
2.0.8 | 添加数据为西班牙 |
|
2.0.7 | 更新描述 |
|
2.0.6 | 添加德国的数据 |
|
2.0.5 | 更新数据。向活动脚本添加汇总报告。 |
|
2.0.4 | 删除上限。 |
|
2.0.3 | 更新数据。细微的变化。R2现在包括在表中。 |
|
2.0.2 | 细微的变化 |
|
2.0.1 | 改变映象 |
|
2.0.0 | 主要修订。删除威布尔回归,删除图形的高峰时间,为epidemy评价和速度相结合图表。epidemy持续时间和结束日期添加到报告。与C0更换回归一个。斯洛文尼亚添加数据。 |
|
1.0.14 | 小的更正 |
|
1.0.13 | 伊朗进出中国的添加数据。威布尔回归现在是可选的。 |
|
1.0.12 | 加起来数据7.Mar.2020 |
|
1.0.11 | 韩国的正确数据 |
|
1.0.10 | 添加2020年3月5日的数据 |
|
1.0.9 | 每日预测相对误差的正确计算 |
|
1.0.8 | 添加数据,意大利 |
|
1.0.7 | 正确的描述 |
|
1.0.6 | 添加2020年3月4日的数据 |
|
1.0.5 | 正确的描述 |
|
1.0.4 | 添加2020年3月3日的数据 |
|
1.0.3 | 更新描述 |
|
1.0.2中 | 更新的例子 |
|
1.0.1 | 添加图片 |
罗伯特·Parente(查看资料)
优素福Kursat Tuncel(查看资料)
Jeta Statovci(查看资料)
你能补充科索沃的数据吗?
罗伯托·弗拉戈索(查看资料)
非常感谢你更新我的程序,并修复了故障。
米兰巴蒂斯塔(查看资料)
罗伯托,你安装统计工具箱了吗?
罗伯托·弗拉戈索(查看资料)
你好,我有一个问题,试图运行fitVirus03函数和Matlab呈现给我这个错误:
>> fitVirus03(@getDataGermany);
**** epidemy尺寸为德国的估计
初始猜测K = 126123 r = 0.287012 A = 18645
使用optimoptions出错(第105行)
“specifyobjective - gradient”不是lsqefit的选项。
选项列表可以在LSQCURVEFIT文档页面上找到。
误差在fitVirus03(线50)
OPTS = optimoptions( 'lsqcurvefit', '显示', '关闭',...
他们可以帮助我知道我做错了。
谢谢
大卫·弗朗哥(查看资料)
谢谢你!
大卫·弗朗哥(查看资料)
请使用来自fitVirusCOVID19的图形更新此代码。
大卫·弗朗哥(查看资料)
谢谢你!
穆罕默德·库拉尔·伊玛目·穆夫提(查看资料)
略标志(查看资料)
贡纳(查看资料)
大,但潜行将有较大的影响,它是否会在GNU八度运行过(即optimoptions和嵌套功能需要兼容的版本)。
里卡多·皮涅罗(查看资料)
有谁试图端口Matlab代码给其他的解决方案,如GNU八度?
我给来自巴西的巴蒂斯塔做先生的数据,这样他就可以添加到报表。
米兰巴蒂斯塔(查看资料)
要将所有。SIR模型版本改进了收敛性和初始猜测计算。我认为它比Logistic模型好,不过,它更强劲。
//www.tatmou.com/matlabcentral/fileexchange/74658-fitviruscovid19
米兰巴蒂斯塔(查看资料)
亲爱的Claudio,谢谢你的建议。请记住,物流模式非常简单。每天的天气预报可能非常好。我对斯洛文尼亚的预测是到3月19日增长几个百分点。但在那一天,我们有一个局部爆发(跳跃)。在这样的事件之后,由于每日预测值低于实际值,预测在几天内是无用的。这种情况在几天内发生了变化(如在Chana 2月12日)。SIR模型也有类似的问题。
亚当Hepworth(查看资料)
克劳迪奥·Gelmi(查看资料)
亲爱的米兰,我一直在使用你在智利的功能,在过去的三天里,预测是相当不错的。我为“第二天”的预测增加了95%的置信区间。由于您已经在使用SML工具箱,它可能对更多用户有用。以下是我的代码行:
[betaNL, RNL JNL] = nlinfit (samplaTime (1: n), sampleC (1: n), @fun,系数);
[Ypredδ]= nlpredci (@fun [samplaTime(结束)+ 1]”,RNL betaNL“可比”,JNL);
T =表(samplaTime(结束)+ 2轮(Ypred)轮(δ)VariableNames,{“天”,“预测”,“词”})
再次感谢分享。
迭戈Roldan称(查看资料)
非常酷!
Ivo L(查看资料)
伟大的米兰。对于葡萄牙,我建议检查这个来源(葡萄牙卫生部):
https://covid19.min-saude.pt/ponto-de-situacao-atual-em-portugal/
塞巴斯蒂安·霍尔兹(查看资料)
“fitnlm”需要统计和机器学习工具箱,你应该更新的要求。
约书亚麦吉(查看资料)
有关COVID-19和每个国家的压缩代码(都在一个.m文件中)和自动数据检索的更新版本:
//www.tatmou.com/matlabcentral/fileexchange/74603-covid19modeling-fitvirus-adaptation
约书亚麦吉(查看资料)
伟大的工作米兰!
米兰巴蒂斯塔(查看资料)
嗨,你最后那句话是什么意思?
sjcosta(查看资料)
嗨,
首先感谢Matlab模型。看起来效果很好。我更新了葡萄牙的案例,它似乎也在完美地预测。如何更新葡萄牙数字?
安德里亚Augello(查看资料)
米兰巴蒂斯塔(查看资料)
罗尔夫Boelens教授提供了荷兰和美国的数据和脚本。
摩根埃文斯(查看资料)
优秀的模型。每天使用它。谢谢你的辛勤工作。你知道我们什么时候能看到美国模式吗?
米兰巴蒂斯塔(查看资料)
谢谢你!该计划的预期目标是帮助人们评估流行病何时结束,并评估这些措施是否有效。现在,我在上面的web地址发布每日报告。
伯恩哈德·克拉克·冯·施瓦岑菲尔德(查看资料)
谢谢你的更新!做得好!
我们能指望每隔一天就能得到新的曲线图吗?
这里还是其他地方?
伯恩哈德·克拉克·冯·施瓦岑菲尔德(查看资料)
莫里斯politi(查看资料)
迈克·鲁道夫(查看资料)
摩根埃文斯(查看资料)
彼得Graat(查看资料)
不错,但需要优化工具箱
ilPlus30(查看资料)
我尝试了更新意大利数据的模型。好工作。谢谢你的分享。
米兰巴蒂斯塔(查看资料)
连续回归使用MATLAB函数lsqefit,该函数没有统计输出。用MATLAB函数fitnlm进行另一次拟合。结果可能不同(对于小数据集)-我不知道为什么-因此警告只是提醒人们要小心对结果的解释。
詹姆斯·迦纳王国(查看资料)
绝对令人难以置信的工作和模型,只是努力的一些国家通过它现在。在德国,虽然回归模型似乎适合,我得到以下信息:“***警告:lsqcurvefit和fitnlm不同的结果显著。
Knlm / Klsq = 358.476
rnlm / rlsq = 0.998951
Anlm / Alsq = 357.319”
我无法理解的根本原因,作为初始猜测是succesfull ...
米兰巴蒂斯塔(查看资料)
我没有使用Github的经验,但是我会尽量按照你的建议去做。
基督教施罗德(查看资料)
@milan我想也许将在Github / Gitlab代码,以便其他人可以派拉的请求等。
克劳迪奥·Gelmi(查看资料)
做得好米兰!谢谢你的分享。
米兰巴蒂斯塔(查看资料)
他们可以做出自己的MATLAB贡献,并免费添加fitVirus脚本。你有什么建议?
基督教施罗德(查看资料)
这是一个很好的想法,也是一个让学生学习MATLAB和统计学的好机会。
为其他国家提供数据文件的最佳方式是什么?
Gianmarco崇德(查看资料)