图片缩略图

fitVirusXX

版本2.0.3(7.54 MB)由 米兰巴蒂斯塔
基于logistic模型总和的冠状病毒COVID-19疫情评估
5
3级

13下载

更新2020年7月13日

查看版本历史记录

查看许可证

该函数将一组时间延迟逻辑斯蒂曲线拟合到新冠病毒-19流行的数据中。数据的大小限制了曲线的数量。该模型是为每日监测流行病发展而设计的,而不是用于长期预测。生成的图表是该流行病的每日横截面图。对于任何预测,都需要监控图形的时间发展;最重要的是,疫情的最终规模。该模型是唯象的,在流行病持续的情况下优于单曲线模型(SI模型、SIR模型)。

通过执行runMe.m函数调用该函数。默认情况下,该函数调用world的数据。例如,要获取斯洛文尼亚的数据,需要在runMe.m函数中将@getDataWorld更改为@GetDataLovenia。

有关程序选项,请参阅doc文件夹中的fitVirusXXdoc.mlx。

不同国家的当前数据可以从两个来源获得:
1.运行importTotalCases.m函数。此函数将从中读取数据<https://ourworldindata.org/coronavirus-source-data>并将其存储在数据文件夹中。
2.运行importTotalCasesWM.m函数。此函数将从中读取数据<https://www.worldometers.info/coronavirus/>并将其存储在数据文件夹中。

注1.模型的预测取决于模型对流行病过程的模拟程度以及数据的可靠性。

注2.预测随新的或更改的数据而更改。在流行病结束时,预测变得更可靠,但在开始时不可靠。

附注3。在某些情况下,模型可能会失败。特别是,该模型可能不适合对流行病的早期阶段或新浪潮的出现进行建模。在这些情况下,我们可以得到不切实际的指数增长,这通常会随着新数据的出现而减弱。如果最后一个波浪呈指数增长,那么我们需要减少波浪的数量或减少可能的易受影响波浪的数量(默认情况下,该数字为7e9)。

注3。如果在最后一波中病例数量迅速增加,波形就会变窄,给人一种波将很快结束的印象(logistic曲线相对于峰值是对称的)。在这种情况下,至关重要的是监测疫情规模的每日变化,然后对其持续时间作出结论。

注4.当数据足以计算初始近似值时,程序指示开始日期。

注5。默认情况下,函数试图拟合最多四条逻辑曲线(见“模型”选项)的数据。它还可以通过从数据中减去模型预测的极限大小来自动检测可能的下一波的开始。额外的逻辑曲线适合这个额外的波(见'w3'选项)。

注6。模型的参数是通过最小化目标函数得到的,目标函数是值的残差平方和。利用优化工具箱函数fminsearch计算未知模型参数的最优值。通过启发式方法得到了拟最优解。如果计算失败,则只绘制数据。

附注7。具有4+波的模型可能非常耗时。对于180个数据样本,四波模型的运行时间约为180秒。

注8。根据该模型的每日预测可在
<https://www.researchgate.net/publication/339912313_Forecasting_of_final_COVID-19_epidemic_size_200616>

在流行病评估图上,各地区以流行病的不同阶段(非标准阶段,但为方便起见任意选择)进行标记:
红色-快速增长阶段(约占最终病例的12%至88%)
黄色-过渡到平衡阶段(高达98%的病例)
绿色-最后阶段(高原阶段)

增长因子图两行,1%(绿色)和5%
(红色)仅作介绍之用。

免责声明:本软件和数据仅用于教育目的,不用于医疗或商业用途。它们按原样提供,所有明示或默示保证,包括适销性和特定用途适用性的默示保证,均被拒绝。在某些情况下,模型可能会失败。特别是,模型可能不合适,或者模型可能在早期阶段失败。你可以自行决定使用它。

fitVirusXX在没有支持的情况下发布。金宝app

引用为

米兰·巴蒂斯塔(2021年)。fitVirusXX(//www.tatmou.com/matlabcentral/fileexchange/76956-fitvirusxx), MATLAB中央文件交换。检索.

意见及评分(21)

您好,米兰,有没有一种方法可以让我们提取fitVirus XX每日预测的疫情规模和持续时间的数据,就像您在论文《用多级逻辑模型估计2020年8月科罗纳19号疫情:欧盟、美国和世界的一个案例》中所做的那样。如果是,那怎么可能呢?请帮忙

米兰巴蒂斯塔

您可以运行fitVirusXX逻辑功能。例如,如果您运行aa=fitVirusXX(@getDataWorld),那么C=logistic(10:100,aa,b)将是预测案例的向量乘以10:100。

阿迪尔马吉德

是否有一种方法可以将生成的MATLAB图形数据转换为excel?如果是,那么如何实现?请提供帮助

米兰巴蒂斯塔

它在我的电脑上运行,没有任何错误。

董gretch

以下是runMeXX的内容
全部关闭
目录(“数据”)
目录(“fitVirusXX”)
抽搐
aa = fitVirusXX (@getDataPhilippines,……
“回声”,“上”、“模型”,4,“ndat”,[],“拯救”,1,‘jpres’,‘r300’,‘w3’,3);
toc

米兰巴蒂斯塔

我没有得到任何错误。你能显示runMeXX的内容吗?

董gretch

嗨,米兰,我在最新版本中仍然有这个错误。你能帮我解决这个问题吗?
> > runMeXX
使用fitVirusXX/Parameter2时出错
未为类“fitVirusXX”定义方法“Parameters2”,或已从MATLAB的搜索路径中删除。

fitVirusXX中的错误(第215行)
参数2(obj,'echo',echof,'model',model,'ndat',ndat,'nmax',nmax);

runMeXX错误(第5行)
aa = fitVirusXX (@getDataPhilippines,……

米兰巴蒂斯塔

当前版本没有任何错误。我使用Matlab R2019b。

桑素秋

谢谢你的关心。我使用韩国数据,即aa=fitVirusXX(@getDataSouthKorea,。。。
‘echo’、‘on’、‘model’、‘ndat’、[]、‘save’、‘1’、‘jpres’、‘r300’、‘w3’、‘1)我明白了这个问题。
在我看来datatime函数有点问题。

米兰巴蒂斯塔

能否指定您尝试在哪些数据中运行哪个函数?

桑素秋

感谢fitVirusXX。得到这个错误。你能解释一下怎么修吗?
错误:fitVirusXX/plot(第206行)
taxis=日期时间(datestr(趋势+目标时间0));
datetime(第640行)

米兰巴蒂斯塔

版本v07将产生一个错误,如果'w3'选项不是0或1。所以你应该将'w3',3改为'w3',1:
aa = fitVirusXX (@getDataPhilippines,……
“回声”,“上”、“模型”,3,“ndat”,[],“拯救”,1,‘jpres’,‘r300’,‘w3 ', 1);

在当前的v08版本中,这个问题被修复了,所以你可以指定多达3个额外的波浪搜索。

董gretch

嗨,米兰。我有这个错误。你能帮我改正吗?
runMeXX中的错误(第4行)
aa = fitVirusXX (@getDataPhilippines,……

米兰巴蒂斯塔

是的,在疫情持续的情况下。

ravib1996

谢谢你的努力,这真的有助于将世界各地的预测形象化。这个模型是否比你之前的模型(fitVirusCV19)有更好的准确性/RMSE ?

不幸的是,这个链接没有帮助,因为它是在另一种语言中。

米兰巴蒂斯塔

顺便说一句,在你发布medRxiv的预印本之前,我使用了多种逻辑模型https://www.rtvslo.si/zdravje/novi-koronavirus/stevilo-potrjenih-okuzb-preseglo-tisocico-epidemija-se-lahko-obrne-v-dve-smeri/519650

米兰巴蒂斯塔

我不知道怎么能获得一个数学公式的版权,我没有。版权为程序,并由Matlab自动插入。此外,logistic函数的和与指数函数的和(即傅里叶级数;版权吗?)。如果有类似的研究与物流,而不是指数函数,你应该明确地提到它,以便我可以引用它。不管怎样,这个主题已经有100年的历史了:
洛厄尔·j·里德和雷蒙德·珀尔,《论Logistic曲线的和》,《皇家统计学会学报》,1927年第90卷第4期,第729-746页

你是第一个提出使用多个(或在你给出的例子中有三个)逻辑(指数)函数的研究人员吗?还有一个研究者在几个月前提出并实现了多重(或三个在他的预印本中)s型(指数)函数分支的使用,但你没有提到那项工作;相反,你给了你的"求和法"版权?使用三个或多个指数函数的和的想法已经被其他人获得了版权。即使你像之前那样稍微改变了求和方程,这仍然需要你给之前的主思想拥有者所有必要的学分。但是,你没有。

MATLAB版本兼容性
使用R2020a创建
与任何版本兼容
平台兼容性
窗户 macOS Linux

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!

fitVirusXX_v13

fitVirusXX_v13/data

fitVirusXX_v13/fitVirusXX

fitVirusXX_v13/fitVirusXX/@fitVirusXX

fitVirusXX_v13 /验证