Python用RNN迴圈神經網路:LSTM長期記憶、GRU門迴圈單元、迴歸和ARIMA對COVID

語言: CN / TW / HK

​持續創作,加速成長!這是我參與「掘金日新計劃 · 6 月更文挑戰」的第9天,點選檢視活動詳情\


原文連結:http://tecdat.cn/?p=27042

原文出處:拓端資料部落公眾號

該資料根據世界各國提供的新病例資料提供。

獲取時間序列資料

df=pd.read_csv("C://global.csv")

探索資料

此表中的資料以累積的形式呈現,為了找出每天的新病例,我們需要減去這些值

df.head(10)

這些資料是根據國家和地區報告新病例的資料,但我們只想預測國家的新病例,因此我們使用 groupby 根據國家對它們進行分組

總結資料

執行 groupby 以根據一個國家的新病例來彙總資料,而不是根據地區

d1=df.groupby(['Country/Region']).sum()

描述隨機選擇的國家的累計新病例增長

from numpy.random import seed    plt.plot(F[i], label = RD[i])    plt.show()

# 我們不需要前兩列d1=d1.iloc[:,2:]

# # 檢查是否有空值d1.isnull().sum().any()

我們可以對每個國家進行預測,也可以對所有國家進行預測,這次我們對所有國家進行預測

dlycnmdcas.head()

dalycnfreces.index

dal_cnre_ces.index = pd.to_datetime(dailyonfrmd_as.index)

plt.plot(dalnimedases)

ne_ces = daiy_onme_as.diff().dropna().astype(np.int64)newcaes

plt.plot(ne_s[1:])

nw_s.shape

(153,)

將資料拆分為訓練和測試資料

ct=0.75trin_aa,tet_aa = train_test_split(ne_ces, pct)

(116,)

plt.plot(tainta)plt.plot(tesata)

資料標準化

scaler = MinMaxScaler()


testa.shape

(38, 1)

建立序列

lentTe = len(ts_data)for i in range(timmp, lenhTe):    X_st.append(tst_aa[i-tmStap:i])    y_tt.append(tesata[i])X_tet=np.array(X_ts)ytes=np.array(y_tt)

X_st.shape

Xtrn.shape

#  序列的樣本 X_trn[0], yran[0]

為股票價格預測設計 RNN 模型

模型:

  1. LSTM
  2. GRU

    model.summary()

model.fit(X_trn y_rin, epochs=50, batch_size=200)

yprd = (mod.predict(X_test))MSE = mean_squared_error(ytue, y_rd)plt.figure(figsize=(14,6))

meRU= Sqtal([                keras.layers.GRU(model_GRU.fit(Xtrn, ytin,epochs=50,batch_size=150)

pe_rut = {}y_ue = (y_et.reshape(-1,1))y_prd = (modlGU.predict(X_test))MSE = mean_squared_error(y_ue, ed)

用於預測新病例的機器學習演算法

準備資料

d__in.shape

moel=LinearRegression(nos=-2)

ARIMA

COVID-19 新病例預測的自迴歸綜合移動平均線

#我們不需要前兩列df1.head()daly_nfrd_cses = df1.sum(axis=0)day_cnir_ase.index = pd.to_datetime(da_onieses.index)

new_cs = dacofmecss.diff().dropna().astype(np.int64)tri_ta,tet_ata = trintt_it(nw_es, pct)

ero = men_squred_eror(ts_ar, pricos)

plt.figure(figsize=(12,7))plt.plot(tanat)

最受歡迎的見解

1.在python中使用lstm和pytorch進行時間序列預測

2.python中利用長短期記憶模型lstm進行時間序列預測分析

3.使用r語言進行時間序列(arima,指數平滑)分析

4.r語言多元copula-garch-模型時間序列預測

5.r語言copulas和金融時間序列案例

6.使用r語言隨機波動模型sv處理時間序列中的隨機波動

7.r語言時間序列tar閾值自迴歸模型

8.r語言k-shape時間序列聚類方法對股票價格時間序列聚類

9.python3用arima模型進行時間序列預測