首页 > 其他分享 >matlab用高斯曲线拟合模型分析疫情数据|附代码数据

matlab用高斯曲线拟合模型分析疫情数据|附代码数据

时间:2024-03-06 18:13:41浏览次数:26  
标签:曲线拟合 语言 疫情 模型 ii matlab GARCH 序列 数据

原文链接:http://tecdat.cn/?p=19211

最近我们被客户要求撰写关于疫情数据的研究报告,包括一些图形和统计输出。

本文用matlab分析疫情数据集

 

数据源

我们检查解压缩的文件。包含:

  • confirmed.csv-确诊病例的时间序列数据

  • deaths.csv-死亡人数的时间序列数据

  • recovered.csv-康复人数的时间序列数据

地图上可视化

我们在地图上可视化已确诊病例的数量。我们首先加载纬度和经度变量。

   
opts = detectImportOptions(filenames(4), "TextType","string");

数据集包含“省/州”变量,但我们要在“地区”等级汇总数据。在此之前,我们需要稍微整理一下数据。

现在,我们可以使用  groupsummary  将已确认的案例相加并平均经纬度来按地区汇总数据。

   
country = groupsummary(times_conf,"Country/Region",{'sum','mean'},vars(3:end));

输出中包含不必要的列,例如纬度和经度的总和。我们删除这些变量。

   
vars = regexprep(vars,"^(sum_)(?=L(a|o))","remove_");
vars = regexprep(vars,"^(mean_)(?=[0-9])","remove_");
   
让我们使用  geobubble  可视化数据集中的第一个和最后一个日期数据。
   
for ii = [4, length(vars)]
    times_conf_exChina.Category = categorical(repmat("<100",height(times_conf_exChina),1));
    times_conf_exChina.Category(table2array(times_conf_exChina(:,ii)) >= 100) = ">=100";
    gb.LegendVisible = "off";

图片


点击标题查阅往期内容

图片

Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

美国确诊病例

进入省/州级别。

   
figure
t = tiledlayout("flow");
for ii = [5, length(vars)]

    gb.BubbleColorList = [1,0,1;1,0,0];
    gb.LegendVisible = "off";
    gb.Title = "As of " + vars(ii);
    gb.SizeLimits = [0, max(times_conf_us.(vars{length(vars)}))];
    gb.MapCenter = [44.9669 -113.6201];
    gb.ZoomLevel = 1.7678;

图片

可以看到它始于华盛顿,并在加利福尼亚和纽约爆发了大规模疫情。

按确诊病例排名国家/地区

让我们比较按国家/地区确认的病例数。日期时间格式中存在不一致之处,因此我们一开始会将其视为文本。

   
opts = detectImportOptions(filenames(3), "TextType","string","DatetimeType","text");

清理日期时间格式。

   
Data.nDate = regexprep(Data.Date,"\/20$","/2020");
Data.Date = datetime(Data.Date);

我们还需要标准化“国家/地区”中的值。

   
Country_Region(Country_Region == "Iran (Islamic Republic of)") = "Iran";

数据集包含省/州变量。让我们在“国家/地区”级别汇总数据。

   
countryData = groupsummary(provData,{'ObservationDate','Country_Region'}, ...
    "sum",{'Confirmed','Deaths','Recovered'});

countryData包含每日累积数据。我们只需要最新的数字。

确认病例按国家/地区的增长

我们还可以检查这些国家中病例的增长速度。

   
figure
plot(countryData.ObservationDate(countryData.Country_Region == labelsK(2)), ...
hold on
for ii = 3:length(labelsK)
    plot(countryData.ObservationDate(countryData.Country_Region == labelsK(ii)), ...

图片

尽管韩国显示出增长放缓的迹象,但它在其他地方正在加速发展。

按国家/地区划分的新病例增长

我们可以通过减去两个日期之间已确认病例的累计数量来计算新病例的数量。

   
for ii = 1:length(labelsK)
    country = provData(provData.Country_Region == labelsK(ii),:);
    country = groupsummary(country,{'ObservationDate','Country_Region'}, ...

    if labelsK(ii) ~= "Others"
        nexttile

您可以看到,中国和韩国没有很多新病例。可见,已经遏制住了疫情。

我们来看看仍有多少活跃病例。您可以通过从确诊病例中减去恢复病例和死亡来计算活跃病例。

   
for ii = 1:length(labelsK)
    by_country{ii}.Active = by_country{ii}.Confirmed - by_country{ii}.Deaths - 

figure

图片

拟合曲线

有效案例的数量正在下降,曲线看起来大致为高斯曲线。我们可以拟合高斯模型并预测活动案例何时为零吗?

我使用  曲线拟合工具箱  进行高斯拟合。

   
ft = fittype("gauss1");

[fobj, gof] = fit(x,y,ft,opts);
gof
   
gof = 
  struct with fields:

           sse: 4.4145e+08
       rsquare: 0.9743
           dfe: 47
    adjrsquare: 0.9732
          rmse: 3.0647e+03

让我们通过增加20天来将输出预测。

现在我们对结果进行绘制。

   
figure
area(ObservationDate,by_country{1}.Active)
hold on
plot(xdates,yhat,"lineWidth",2)

图片

韩国

让我们来查看韩国的活跃病例,恢复案例和死亡人数。

图片

使用高斯模型无法获得任何合适的结果。


图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《matlab用高斯曲线拟合模型分析疫情数据》。

点击标题查阅往期内容

结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
用航空公司复杂网络对疫情进行建模
自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
疫情下的在线教学数据观
Fama French (FF) 三因子模型和CAPM模型分析股票市场投资组合风险/收益可视化
配对交易策略统计套利量化交易分析股票市场
Copula 算法建模相依性分析股票收益率时间序列案例
用COPULA模型进行蒙特卡洛(MONTE CARLO)模拟和拟合股票收益数据分析
R使用LASSO回归预测股票收益
金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
在R语言中使用航空公司复杂网络对疫情进行建模
matlab用高斯曲线拟合模型分析疫情数据
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用综合信息准则比较随机波动率(SV)模型对股票价格时间序列建模
R语言回测交易:根据历史信号/交易创建股票收益曲线
Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化
R语言k-Shape时间序列聚类方法对股票价格时间序列聚类
R语言逻辑回归Logistic回归分析预测股票涨跌
R语言时变波动率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率时间序列
R语言中的copula GARCH模型拟合时间序列并模拟分析
R语言多元Copula GARCH 模型时间序列预测
R语言ARMA-GARCH-COPULA模型和金融时间序列案例R语言多元CopulaGARCH模型时间序列预测R语言乘法GARCH模型对高频交易数据进行波动性预测
R语言GARCH-DCC模型和DCC(MVT)建模估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型
R语言ARMA-GARCH-COPULA模型和金融时间序列案例

标签:曲线拟合,语言,疫情,模型,ii,matlab,GARCH,序列,数据
From: https://www.cnblogs.com/tecdat/p/18057234

相关文章

  • R语言生态学种群空间点格局分析:聚类泊松点过程对植物、蚂蚁巢穴分布数据可视化
    全文链接:https://tecdat.cn/?p=33676原文出处:拓端数据部落公众号点模式分析(点格局分析)是一组用于分析空间点数据的技术。在生态学中,这种类型的分析可能在客户的几个情境下出现,但对数据生成方式做出了特定的假设,因此让我们首先看看哪些生态数据可能与点模式分析相关或不相关。......
  • 数据类型内置方法(1)
    2024.3.5数据类型内置方法1.数字类型内置id不变值可变,即在原值的基础上修改,则为可变数据类型;值变id也变,即重新申请一个空间放入新值,则为不可变数据类型age=19print(f'first:{id(age)}')age=20print(f'second:{id(age)}')first:4384901776second:4384901808可以使......
  • Presto适配高斯数据库
    Presto是什么Presto是一个分布式SQL查询引擎,旨在查询大型数据集分布在一个或多个异构数据源上。笔者所参与的项目主要使用Presto做数据探查和数据分析。Presto架构Presto查询引擎是一个Master-Slave的架构,由一个Coordinator节点,一个DiscoveryServer节点,多个Worker节点组......
  • 【RS】Sentinel-2哨兵二号数据预处理(大气校正、重采样、波段组合)
    ​    刚分享过新版欧空局的数据下载教程,正好把哨兵2号预处理的教程也分享一下,主要就是使用官方插件Sen2or对L1C级数据进行大气校正,使用SNAP软件对L2A级数据进行重采样并导出ENVI可以打开的格式,最后使用ENVI对重采样后的数据进行波段组合,以便于后期的定量分析。1.软件......
  • springboot Jpa多数据源(不同库)配置
    原文链接: https://cloud.tencent.com/developer/article/2147878?areaSource=102001.2&traceId=pjZ5wzrM7kIDFLonYcL2O一、前言springboot版本不同对多数据源配置代码有一定影响,部分方法和配置略有不同。本文采用的springboot版本为2.3.12,数据源为mysql和postgresql二、配......
  • el-tree数据量过大导致页面卡顿
    问题:el-tree等树形结构,当数据量非常大,渲染会很慢解决方案:懒加载方法:设置lazy属性为true,当点击父级节点时,再通过load方法加载子列表。优点:使用简单。缺点:不能做回显,无法展开全部节点。虚拟列表方法:使用插件或者自己实现一个虚拟列表(推荐:https://sangtian152.github.io/v......
  • pandas笔记(二)-- 从不订购的顾客 (数据表连接,主键与外键)
    题目描述找出所有从不点任何东西的顾客,以任意顺序返回结果测试用例输入Customerstable:idname1Joe2Henry3Sam4MaxOrderstable:idcustomerId1321输出CustomersHenryMax解析数据表连接的问题核心在于连接......
  • MySQL 从库同步数据报错: Can't find record in '表名', Error_code: 1032; handler er
    由于两边数据不一致,主库host表的某条数据在从库不存在,导致同步时执行update报错。 修复的原理很简单,找到主从不一致的这条数据,在从库补上,让update能执行就好。由于需要从binlog里找数据,需要确保中断之后的binlog没被删除,否则就只能重搭了。导出日志:mysqlbinlog-v--stop-po......
  • 来了哪些领军人物?2024数据技术嘉年华主论坛揭晓!
    在1978年,中国人民大学经济信息管理系首任系主任萨师煊,第一次将“数据库”这三个字写在黑板上。这个看似平凡的举动,却点燃了中国数据库行业的火花。时光流转,如今我们站在了数字化时代的前沿。回顾过去,数据库技术的发展历程就像是一幅壮丽的画卷,从最初的穿孔纸带和文件系统,到层次模......
  • day 05-4 数据类型(字符串)
    4.6字符串独有功能练习题#1.写代码实现判断用户输入的值否以"al"开头,如果是则输出"是的",否则输出"不是的"data=input("请输入您的用户名:")ifdata.startswith("al"):print("是的")else:print("不是的")#2.写代码实现判断用户输入的值否以"ab&......