matlab用高斯曲線擬合模型分析疫情數據|附代碼數據
原文鏈接:http://tecdat.cn/?p=19211
最近我們被客戶要求撰寫關于疫情數據的研究報告,包括一些圖形和統計輸出。
本文用matlab分析疫情數據集
數據源
我們檢查解壓縮的文件。包含:
confirmed.csv-確診病例的時間序列數據
deaths.csv-死亡人數的時間序列數據
recovered.csv-康復人數的時間序列數據
地圖上可視化
我們在地圖上可視化已確診病例的數量。我們首先加載緯度和經度變量。
opts?=?detectImportOptions(filenames(4),?"TextType","string");
數據集包含“省/州”變量,但我們要在“地區(qū)”等級匯總數據。在此之前,我們需要稍微整理一下數據。
現在,我們可以使用? groupsummary ?將已確認的案例相加并平均經緯度來按地區(qū)匯總數據。
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

美國確診病例
進入省/州級別。
figuret?=?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;

可以看到它始于華盛頓,并在加利福尼亞和紐約爆發(fā)了大規(guī)模疫情。
按確診病例排名國家/地區(qū)
讓我們比較按國家/地區(qū)確認的病例數。日期時間格式中存在不一致之處,因此我們一開始會將其視為文本。
opts?=?detectImportOptions(filenames(3),?"TextType","string","DatetimeType","text");
清理日期時間格式。
Data.nDate?=?regexprep(Data.Date,"\/20$","/2020");Data.Date?=?datetime(Data.Date);
我們還需要標準化“國家/地區(qū)”中的值。
Country_Region(Country_Region?==?"Iran?(Islamic?Republic?of)")?=?"Iran";
數據集包含省/州變量。讓我們在“國家/地區(qū)”級別匯總數據。
countryData?=?groupsummary(provData,{'ObservationDate','Country_Region'},?...????"sum",{'Confirmed','Deaths','Recovered'});
countryData包含每日累積數據。我們只需要最新的數字。
確認病例按國家/地區(qū)的增長
我們還可以檢查這些國家中病例的增長速度。
figureplot(countryData.ObservationDate(countryData.Country_Region?==?labelsK(2)),?...hold?onfor?ii?=?3:length(labelsK)????plot(countryData.ObservationDate(countryData.Country_Region?==?labelsK(ii)),?...

盡管韓國顯示出增長放緩的跡象,但它在其他地方正在加速發(fā)展。
按國家/地區(qū)劃分的新病例增長
我們可以通過減去兩個日期之間已確認病例的累計數量來計算新病例的數量。
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天來將輸出預測。
現在我們對結果進行繪制。
figurearea(ObservationDate,by_country{1}.Active)hold?onplot(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語言回測交易:根據歷史信號/交易創(chuàng)建股票收益曲線
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模型和金融時間序列案例