獵聘做簡(jiǎn)歷的網(wǎng)站收費(fèi)靠譜阿里巴巴關(guān)鍵詞排名優(yōu)化
區(qū)間預(yù)測(cè)python|QR-CNN-BiLSTM+KDE分位數(shù)-卷積-雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)-核密度估計(jì)-回歸時(shí)間序列區(qū)間預(yù)測(cè)
模型輸出展示:
(圖中是只設(shè)置了20次迭代的預(yù)測(cè)結(jié)果,寬度較寬,可自行修改迭代參數(shù),獲取更窄的預(yù)測(cè)區(qū)間)
注:可輸出所有時(shí)間點(diǎn)的概率預(yù)測(cè)結(jié)果,數(shù)量較多,程序中為了隨機(jī)采樣了部分時(shí)間點(diǎn)繪制了預(yù)測(cè)結(jié)果
模型詳細(xì)介紹:
模型詳細(xì)介紹如下:
1、 輸入:多變量(多特征),輸出:單變量(單特征),即多變量回歸
2、 實(shí)現(xiàn)了:區(qū)間預(yù)測(cè)(采用分位數(shù)回歸)+概率預(yù)測(cè)(采用核密度估計(jì))
3、 繪圖:區(qū)間預(yù)測(cè)結(jié)果+多個(gè)概率預(yù)測(cè)結(jié)果
4、 評(píng)價(jià)指標(biāo)為:85%、90%、95%三個(gè)置信水平下的PICP、PINAW及CRPS值
5、 本程序采用數(shù)據(jù)為:光伏數(shù)據(jù)(包含輻照度、溫度等多個(gè)變量),數(shù)據(jù)為附贈(zèng)
6、 Python程序,基于tensorflow(會(huì)發(fā)包版本)
7、 數(shù)據(jù)可直接讀取excel文件,更換簡(jiǎn)單,只保證在我的數(shù)據(jù)上能運(yùn)行出較為理想結(jié)果(若需更好的結(jié)果自行調(diào)試),其他數(shù)據(jù)集效果自己調(diào)試。
8、程序中包含數(shù)據(jù)預(yù)處理部分,包含缺失值處理、歸一化與反歸一化等
9、本程序分位數(shù)個(gè)數(shù)設(shè)置為200個(gè),這個(gè)可以自行調(diào)整。
模型用途:
1、 光伏預(yù)測(cè)
2、 負(fù)荷預(yù)測(cè)
3、 風(fēng)電預(yù)測(cè)等
模型原理介紹:
QR-CNN-BiLSTM模型是一個(gè)結(jié)合了Quantile Regression (QR),卷積神經(jīng)網(wǎng)絡(luò) (CNN) 和雙向長(zhǎng)短期記憶網(wǎng)絡(luò) (BiLSTM) 的混合模型,它可以用于進(jìn)行區(qū)間預(yù)測(cè)。區(qū)間預(yù)測(cè)不同于點(diǎn)預(yù)測(cè),它提供了一個(gè)預(yù)測(cè)區(qū)間來表示未來值的不確定性,而不是給出一個(gè)具體的數(shù)值。這種模型特別適用于時(shí)間序列數(shù)據(jù),可以捕捉數(shù)據(jù)的時(shí)間依賴性和非線性特征。除此之外,模型采用了核密度估計(jì)實(shí)現(xiàn)了概率預(yù)測(cè)。
模型實(shí)現(xiàn)流程:
1、數(shù)據(jù)預(yù)處理:
數(shù)據(jù)標(biāo)準(zhǔn)化:將時(shí)間序列數(shù)據(jù)標(biāo)準(zhǔn)化,以便模型更容易學(xué)習(xí)。
序列化:將時(shí)間序列數(shù)據(jù)轉(zhuǎn)換為可供模型學(xué)習(xí)的序列樣本。
缺失值填補(bǔ):補(bǔ)充缺失值
2、 構(gòu)建模型:
Quantile Regression
(QR):分位數(shù)回歸用于估計(jì)條件分位數(shù)函數(shù)。在區(qū)間預(yù)測(cè)中,我們通常對(duì)特定的分位數(shù)(如5%和95%)感興趣,這樣可以構(gòu)建一個(gè)90%的預(yù)測(cè)區(qū)間。
卷積神經(jīng)網(wǎng)絡(luò) (CNN):CNN可以從序列數(shù)據(jù)中提取局部特征。在時(shí)間序列分析中,卷積層可以幫助模型捕捉到短期的趨勢(shì)和模式。
在這里插入圖片描述
雙向長(zhǎng)短期記憶網(wǎng)絡(luò)
(BiLSTM):BiLSTM是一種特殊的RNN,它能夠?qū)W習(xí)長(zhǎng)期依賴關(guān)系。BiLSTM通過兩個(gè)方向的LSTM層來處理數(shù)據(jù),一個(gè)處理正向序列,另一個(gè)處理反向序列。這樣可以同時(shí)捕捉到過去和未來的信息。
3、訓(xùn)練模型:
定義損失函數(shù):在QR中,損失函數(shù)是基于分位數(shù)的,這意味著不同的分位數(shù)會(huì)有不同的損失函數(shù)。
優(yōu)化器選擇:選擇一個(gè)適合的優(yōu)化器,如Adam,來最小化損失函數(shù)。
訓(xùn)練過程:使用訓(xùn)練數(shù)據(jù)來訓(xùn)練模型,通過反向傳播算法來更新模型的權(quán)重。
4、預(yù)測(cè)、評(píng)估:
使用訓(xùn)練好的模型進(jìn)行預(yù)測(cè),對(duì)于每個(gè)預(yù)測(cè)點(diǎn),模型會(huì)輸出多個(gè)分位數(shù)的預(yù)測(cè)值,形成預(yù)測(cè)區(qū)間。
還會(huì)使用核密度估計(jì)實(shí)現(xiàn)概率密度預(yù)測(cè)
評(píng)估模型的性能,可以通過計(jì)算預(yù)測(cè)區(qū)間覆蓋實(shí)際值的比例、區(qū)間寬度等指標(biāo)來進(jìn)行。
5、超參數(shù)調(diào)整:
根據(jù)模型的性能,可能需要調(diào)整模型的超參數(shù),如學(xué)習(xí)率、批大小、隱藏層的單元數(shù)等,以獲得更好的預(yù)測(cè)效果。
程序源碼(完整程序和數(shù)據(jù),請(qǐng)私信博主獲取,也可閑魚搜索:阿鹿學(xué)術(shù)2,直接下單):
私信未及時(shí)回復(fù)可添加k—o—u—k–o—u:1493502034
def create_cnn_bilstm_model(input_shape, cnn_filters, cnn_kernel_size, cnn_activation, max_pool_size,lstm_units, dropout_rate, dense_units, dense_activation1, dense_activation2, learning_rate):model = Sequential()model.add(MaxPooling1D(pool_size=max_pool_size,padding='same'))model.add(Dense(units=dense_units, activation=dense_activation1))model.add(Dropout(dropout_rate))……optimizer = Adam(learning_rate=learning_rate)model.compile(optimizer=optimizer, loss=loss)return model