matlab用高斯曲線擬合模型分析疫情數(shù)據(jù)|附代碼數(shù)據(jù)
原文鏈接:http://tecdat.cn/?p=19211
本文用matlab分析疫情數(shù)據(jù)集(點擊文末“閱讀原文”獲取完整代碼數(shù)據(jù))。
數(shù)據(jù)源
我們檢查解壓縮的文件。包含:
confirmed.csv-確診病例的時間序列數(shù)據(jù)
deaths.csv-死亡人數(shù)的時間序列數(shù)據(jù)
recovered.csv-康復(fù)人數(shù)的時間序列數(shù)據(jù)
地圖上可視化
我們在地圖上可視化已確診病例的數(shù)量。我們首先加載緯度和經(jīng)度變量。
opts?=?detectImportOptions(filenames(4),?"TextType","string");
數(shù)據(jù)集包含“省/州”變量,但我們要在“地區(qū)”等級匯總數(shù)據(jù)。在此之前,我們需要稍微整理一下數(shù)據(jù)。
現(xiàn)在,我們可以使用? groupsummary ?將已確認(rèn)的案例相加并平均經(jīng)緯度來按地區(qū)匯總數(shù)據(jù)。
country?=?groupsummary(times_conf,"Country/Region",{'sum','mean'},vars(3:end));
輸出中包含不必要的列,例如緯度和經(jīng)度的總和。我們刪除這些變量。
vars?=?regexprep(vars,"^(sum_)(?=L(a|o))","remove_"); vars?=?regexprep(vars,"^(mean_)(?=\[0-9\])","remove_");讓我們使用??geobubble??可視化數(shù)據(jù)集中的第一個和最后一個日期數(shù)據(jù)。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";

點擊標(biāo)題查閱往期內(nèi)容

Python用RNN神經(jīng)網(wǎng)絡(luò):LSTM、GRU、回歸和ARIMA對COVID19新冠疫情人數(shù)時間序列預(yù)測

轉(zhuǎn)存失敗重新上傳取消
左右滑動查看更多

轉(zhuǎn)存失敗重新上傳取消
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;

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

盡管韓國顯示出增長放緩的跡象,但它在其他地方正在加速發(fā)展。
按國家/地區(qū)劃分的新病例增長
我們可以通過減去兩個日期之間已確認(rèn)病例的累計數(shù)量來計算新病例的數(shù)量。
for?ii?=?1:length(labelsK) ????country?=?provData(provData.Country_Region?==?labelsK(ii),:); ????country?=?groupsummary(country,{'ObservationDate','Country_Region'},?... ????if?labelsK(ii)?~=?"Others" ????????nexttile
您可以看到,中國和韓國沒有很多新病例??梢?,已經(jīng)遏制住了疫情。
我們來看看仍有多少活躍病例。您可以通過從確診病例中減去恢復(fù)病例和死亡來計算活躍病例。
for?ii?=?1:length(labelsK) ????by\_country{ii}.Active?=?by\_country{ii}.Confirmed?-?by_country{ii}.Deaths?-? figure

擬合曲線
有效案例的數(shù)量正在下降,曲線看起來大致為高斯曲線。我們可以擬合高斯模型并預(yù)測活動案例何時為零嗎?
我使用??曲線擬合工具箱??進行高斯擬合。
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天來將輸出預(yù)測。
現(xiàn)在我們對結(jié)果進行繪制。
figure area(ObservationDate,by_country{1}.Active) hold?on plot(xdates,yhat,"lineWidth",2)

韓國
讓我們來查看韓國的活躍病例,恢復(fù)案例和死亡人數(shù)。

使用高斯模型無法獲得任何合適的結(jié)果。

點擊文末“閱讀原文”
獲取全文完整資料。
本文選自《matlab用高斯曲線擬合模型分析疫情數(shù)據(jù)》。
點擊標(biāo)題查閱往期內(nèi)容
結(jié)合新冠疫情COVID-19股票價格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時間序列分析
自然語言處理NLP:主題LDA、情感分析疫情下的新聞文本數(shù)據(jù)
結(jié)合新冠疫情COVID-19股票價格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時間序列分析
自然語言處理NLP:主題LDA、情感分析疫情下的新聞文本數(shù)據(jù)
結(jié)合新冠疫情COVID-19股票價格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時間序列分析
用航空公司復(fù)雜網(wǎng)絡(luò)對疫情進行建模
自然語言處理NLP:主題LDA、情感分析疫情下的新聞文本數(shù)據(jù)
疫情下的在線教學(xué)數(shù)據(jù)觀
Fama French (FF) 三因子模型和CAPM模型分析股票市場投資組合風(fēng)險/收益可視化
配對交易策略統(tǒng)計套利量化交易分析股票市場
Copula 算法建模相依性分析股票收益率時間序列案例
用COPULA模型進行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析
R使用LASSO回歸預(yù)測股票收益
金融時間序列模型ARIMA 和GARCH 在股票市場預(yù)測應(yīng)用
時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
自然語言處理NLP:主題LDA、情感分析疫情下的新聞文本數(shù)據(jù)
在R語言中使用航空公司復(fù)雜網(wǎng)絡(luò)對疫情進行建模
matlab用高斯曲線擬合模型分析疫情數(shù)據(jù)
R語言ARIMA-GARCH波動率模型預(yù)測股票市場蘋果公司日收益率時間序列
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言用綜合信息準(zhǔn)則比較隨機波動率(SV)模型對股票價格時間序列建模
R語言回測交易:根據(jù)歷史信號/交易創(chuàng)建股票收益曲線
Python中TensorFlow的長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、指數(shù)移動平均法預(yù)測股票市場和可視化
R語言k-Shape時間序列聚類方法對股票價格時間序列聚類
R語言邏輯回歸Logistic回歸分析預(yù)測股票漲跌
R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
R語言中的copula GARCH模型擬合時間序列并模擬分析
R語言多元Copula GARCH 模型時間序列預(yù)測
R語言ARMA-GARCH-COPULA模型和金融時間序列案例
R語言多元CopulaGARCH模型時間序列預(yù)測
R語言乘法GARCH模型對高頻交易數(shù)據(jù)進行波動性預(yù)測
R語言GARCH-DCC模型和DCC(MVT)建模估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預(yù)測
R語言時間序列GARCH模型分析股市波動率
R語言ARMA-EGARCH模型、集成預(yù)測算法對SPX實際波動率進行預(yù)測
matlab實現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預(yù)測
使用R語言對S&P500股票指數(shù)進行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機波動率SV模型對金融時間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時間序列預(yù)測
R語言使用多元AR-GARCH模型衡量市場風(fēng)險
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計arma garch 條件均值和方差模型
R語言ARMA-GARCH-COPULA模型和金融時間序列案例