乐趣区

关于数据挖掘:matlab用高斯曲线拟合模型分析疫情数据附代码数据

原文链接: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 模型和金融工夫序列案例

退出移动版