在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁 > 博客 > 時序預(yù)測的深度學(xué)習(xí)算法介紹(2)

            時序預(yù)測的深度學(xué)習(xí)算法介紹(2)

            發(fā)布人:數(shù)據(jù)派THU 時間:2023-07-25 來源:工程師 發(fā)布文章
            2.2 CNN類

            CNN通過卷積層和池化層等操作可以自動提取時間序列數(shù)據(jù)的特征,從而實現(xiàn)時序預(yù)測。在應(yīng)用CNN進行時序預(yù)測時,需要將時間序列數(shù)據(jù)轉(zhuǎn)化為二維矩陣形式,然后利用卷積和池化等操作進行特征提取和壓縮,最后使用全連接層進行預(yù)測。相較于傳統(tǒng)的時序預(yù)測方法,CNN能夠自動學(xué)習(xí)時間序列數(shù)據(jù)中的復(fù)雜模式和規(guī)律,同時具有更好的計算效率和預(yù)測精度。

            2.2.1 WaveNet(2016)

            Paper:WAVENET: A GENERATIVE MODEL FOR RAW AUDIO

            WaveNet是由DeepMind團隊在2016年提出的一種用于生成語音的神經(jīng)網(wǎng)絡(luò)模型,它的核心思想是利用卷積神經(jīng)網(wǎng)絡(luò)來模擬語音信號的波形,并使用殘差連接和門控卷積操作來提高模型的表示能力。除了用于語音生成,WaveNet還可以應(yīng)用于時序預(yù)測任務(wù)。在時序預(yù)測任務(wù)中,我們需要預(yù)測給定時間序列的下一個時間步的取值。通常情況下,我們可以將時間序列看作是一個一維向量,并將其輸入到WaveNet模型中,得到下一個時間步的預(yù)測值。

            在WaveNet模型的構(gòu)建中,關(guān)鍵的是對卷積層的設(shè)計和參數(shù)調(diào)整。卷積層的設(shè)計可以影響模型的表達能力和泛化能力,參數(shù)的調(diào)整可以影響模型的預(yù)測準(zhǔn)確性和魯棒性。

            2.2.2 TCN(2018)

            Paper:An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling

            TCN(Temporal Convolutional Network)是一種基于卷積神經(jīng)網(wǎng)絡(luò)的時序預(yù)測算法,其設(shè)計初衷是為了解決傳統(tǒng)RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))在處理長序列時存在的梯度消失和計算復(fù)雜度高的問題。。相比于傳統(tǒng)的RNN等序列模型,TCN利用卷積神經(jīng)網(wǎng)絡(luò)的特點,能夠在更短的時間內(nèi)對長期依賴進行建模,并且具有更好的并行計算能力。TCN模型由多個卷積層和殘差連接組成,其中每個卷積層的輸出會被輸入到后續(xù)的卷積層中,從而實現(xiàn)對序列數(shù)據(jù)的逐層抽象和特征提取。TCN還采用了類似于ResNet的殘差連接技術(shù),可以有效地減少梯度消失和模型退化等問題,而空洞卷積可以擴大卷積核的感受野,從而提高模型的魯棒性和準(zhǔn)確性。

            TCN模型的結(jié)構(gòu)如下圖所示:

            圖片


            TCN模型的預(yù)測過程包括以下幾個步驟:

            • 輸入層:接收時間序列數(shù)據(jù)的輸入。
            • 卷積層:采用一維卷積對輸入數(shù)據(jù)進行特征提取和抽象,每個卷積層包含多個卷積核,可以捕獲不同尺度的時間序列模式。
            • 殘差連接:類似于ResNet,通過將卷積層的輸出與輸入進行殘差連接,可以有效地減少梯度消失和模型退化等問題,提高模型的魯棒性。
            • 重復(fù)堆疊:重復(fù)堆疊多個卷積層和殘差連接,逐層提取時間序列數(shù)據(jù)的抽象特征。
            • 池化層:在最后一個卷積層之后添加一個全局平均池化層,將所有特征向量進行平均,得到一個固定長度的特征向量。
            • 輸出層:將池化層的輸出通過一個全連接層進行輸出,得到時間序列的預(yù)測值。

            TCN模型的優(yōu)點包括:

            • 能夠處理長序列數(shù)據(jù),并且具有良好的并行性。
            • 通過引入殘差連接和空洞卷積等技術(shù),避免了梯度消失和過擬合的問題。
            • 相對于傳統(tǒng)RNN模型,TCN模型具有更高的計算效率和預(yù)測準(zhǔn)確率。


            # 模型構(gòu)建TCN = TCNModel(    input_chunk_length=13,    output_chunk_length=12,    n_epochs=200,    dropout=0.1,    dilation_base=2,    weight_norm=True,    kernel_size=5,    num_filters=3,    random_state=0,)# 模型訓(xùn)練,無協(xié)變量TCN.fit(series=train,        val_series=val,        verbose=True)# 模型訓(xùn)練,有協(xié)變量TCN.fit(series=train,        past_covariates=train_month,        val_series=val,        val_past_covariates=val_month,        verbose=True)# 模型推理backtest = TCN.historical_forecasts(    series=ts,    # past_covariates=month_series,    start=0.75,    forecast_horizon=10,    retrain=False,    verbose=True,)# 成果可視化ts.plot(label="actual")backtest.plot(label="backtest (D=10)")plt.legend()plt.show()

            數(shù)據(jù)歸一化對時序預(yù)測影響探究?

            原始數(shù)據(jù)是否按月份生成協(xié)變量,是否歸一化,對最終時序預(yù)測效果影響重大,就本實驗場景而言,原始數(shù)據(jù)為百分制更適用于無歸一化&有協(xié)變量方式,協(xié)變量需根據(jù)實際業(yè)務(wù)表現(xiàn)進行選擇。

            圖片

            歸一化&無協(xié)變量


            圖片

            歸一化&有協(xié)變量


            圖片

            無歸一化&無協(xié)變量


            圖片

            無歸一化&有協(xié)變量


            2.2.3 DeepTCN(2019)

            Paper:Probabilistic Forecasting with Temporal Convolutional Neural Network.Code:deepTCN

            DeepTCN(Deep Temporal Convolutional Networks)是一種基于深度學(xué)習(xí)的時序預(yù)測模型,它是對傳統(tǒng)TCN模型的改進和擴展。DeepTCN模型使用了一組1D卷積層和最大池化層來處理時序數(shù)據(jù),并通過堆疊多個這樣的卷積-池化層來提取時序數(shù)據(jù)的不同特征。在DeepTCN模型中,每個卷積層都包含多個1D卷積核和激活函數(shù),并且使用殘差連接和批量歸一化技術(shù)來加速模型的訓(xùn)練。

            DeepTCN模型的訓(xùn)練過程通常涉及以下幾個步驟:

            • 數(shù)據(jù)預(yù)處理:將原始的時序數(shù)據(jù)進行標(biāo)準(zhǔn)化和歸一化處理,以減小不同特征的尺度不一致對模型訓(xùn)練的影響。
            • 模型構(gòu)建:使用多個1D卷積層和最大池化層構(gòu)建DeepTCN模型,可以使用深度學(xué)習(xí)框架,如TensorFlow、PyTorch等來構(gòu)建模型。
            • 模型訓(xùn)練:使用訓(xùn)練數(shù)據(jù)集對DeepTCN模型進行訓(xùn)練,并通過損失函數(shù)(如MSE、RMSE等)來度量模型的預(yù)測性能。在訓(xùn)練過程中,可以使用優(yōu)化算法(如SGD、Adam等)來更新模型參數(shù),并使用批量歸一化和DeepTCN等技術(shù)來提高模型的泛化能力。
            • 模型評估:使用測試數(shù)據(jù)集對訓(xùn)練好的DEEPTCN模型進行評估,并計算模型的性能指標(biāo),如平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)等。

            模型訓(xùn)練輸入輸出b長度對時序預(yù)測影響探究?

            就本實驗場景而言,受原始數(shù)據(jù)樣本限制,輸入輸出長度和batch_size無法過大調(diào)整,從性能角度建議選用大batch_size&短輸入輸出方式。

            # 短輸入輸出deeptcn = TCNModel(    input_chunk_length=13,    output_chunk_length=12,    kernel_size=2,    num_filters=4,    dilation_base=2,    dropout=0.1,    random_state=0,    likelihood=GaussianLikelihood(),)# 長輸入輸出deeptcn = TCNModel(    input_chunk_length=60,    output_chunk_length=20,    kernel_size=2,    num_filters=4,    dilation_base=2,    dropout=0.1,    random_state=0,    likelihood=GaussianLikelihood(),)# 長輸入輸出,大batch_sizedeeptcn = TCNModel(    batch_size=60,    input_chunk_length=60,    output_chunk_length=20,    kernel_size=2,    num_filters=4,    dilation_base=2,    dropout=0.1,    random_state=0,    likelihood=GaussianLikelihood(),)# 短輸入輸出,大batch_sizedeeptcn = TCNModel(    batch_size=60,    input_chunk_length=13,    output_chunk_length=12,    kernel_size=2,    num_filters=4,    dilation_base=2,    dropout=0.1,    random_state=0,    likelihood=GaussianLikelihood(),)

            圖片短輸入輸出
            圖片

            長輸入輸出

            圖片

            長輸入輸出,大batch_size

            圖片短輸入輸出,大batch_size


            *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



            關(guān)鍵詞: AI

            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉