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

简介: matlab用高斯曲线拟合模型分析疫情数据

本文用matlab分析疫情数据集。

数据源

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

  • data.csv -2020年全球病例每日水平数据
  • confirmed.csv-确诊病例的时间序列数据


地图上可视化


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

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

在此之前,我们需要稍微整理一下数据。现在,我们可以使用  groupsummary  将已确认的案例相加并平均经纬度来按地区汇总数据。



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

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

让我们使用  geobubble  可视化数据集中的第一个和最后一个日期数据。



for ii = [4, length(vars)]


times_conf_exChina.Category = categorical(repmat("<100",hmes_c

美国确诊病例



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,

 

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

按确诊病例排名地区

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



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)

 

 

韩国

让我们来查看病例人数。

 

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


最受欢迎的见解

相关文章
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
107 0
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
209 2
|
3月前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
167 2
|
2月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
121 0
|
2月前
|
存储 监控 并行计算
目标跟踪中常用点迹航迹数据关联算法的MATLAB实现
通过计算测量点与预测点之间的欧氏距离,选择最近邻点进行关联,适用于单目标跟踪场景。
|
3月前
|
传感器 资源调度 算法
【数据融合】【状态估计】基于KF、UKF、EKF、PF、FKF、DKF卡尔曼滤波KF、无迹卡尔曼滤波UKF、拓展卡尔曼滤波数据融合研究(Matlab代码实现)
【数据融合】【状态估计】基于KF、UKF、EKF、PF、FKF、DKF卡尔曼滤波KF、无迹卡尔曼滤波UKF、拓展卡尔曼滤波数据融合研究(Matlab代码实现)
316 0
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
209 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
111 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
2月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
144 8

热门文章

最新文章