欢迎光临散文网 会员登陆 & 注册

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

2022-11-03 22:39 作者:拓端tecdat  | 我要投稿

原文链接: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); gofgof =    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模型和金融时间序列案例


matlab用高斯曲线拟合模型分析疫情数据|附代码数据的评论 (共 条)

分享到微博请遵守国家法律