99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

基于貝葉斯優(yōu)化的PatchTST綜合能源負(fù)荷多變量預(yù)測實(shí)現(xiàn)

基于貝葉斯優(yōu)化的PatchTST綜合能源負(fù)荷多變量預(yù)測實(shí)現(xiàn) 做綜合能源系統(tǒng)的負(fù)荷預(yù)測最讓人頭疼的往往不是單條曲線怎么擬合而是幾條不同能源品種的曲線放在一起時(shí)它們之間的耦合關(guān)系、量綱差異、突變規(guī)律怎么處理。我手頭這個(gè)項(xiàng)目就是這么來的一個(gè)園區(qū)級(jí)的綜合能源系統(tǒng)需要同時(shí)預(yù)測電負(fù)荷、熱負(fù)荷和冷負(fù)荷外部還要疊加上溫度、濕度、光照、風(fēng)速這些氣象因素以及工作日/節(jié)假日標(biāo)記。如果用傳統(tǒng)的LSTM一路堆到底效果很容易到瓶頸換標(biāo)準(zhǔn)Transformer又會(huì)遇到長序列計(jì)算量大、局部模式提取弱的問題。后來我把模型切換成PatchTST調(diào)參再用貝葉斯優(yōu)化去搜整體思路就是標(biāo)題里寫的基于貝葉斯優(yōu)化的PatchTST綜合能源負(fù)荷多變量時(shí)間序列預(yù)測Python代碼完整實(shí)現(xiàn)。這篇內(nèi)容適合兩類人看一類是做電力、能源、園區(qū)微網(wǎng)相關(guān)的算法工程師另一類是正在研究時(shí)間序列預(yù)測、想把PatchTST這類新模型落地到自己數(shù)據(jù)集上的同學(xué)。我會(huì)把模型機(jī)制、調(diào)參思路、數(shù)據(jù)構(gòu)造以及實(shí)際訓(xùn)練中踩過的坑都串起來講代碼部分也會(huì)給出可以直接套用的骨架。1. 項(xiàng)目拆解為什么把寶押在PatchTST和貝葉斯優(yōu)化上先說說整個(gè)項(xiàng)目的技術(shù)路線是怎么定下來的。綜合能源負(fù)荷預(yù)測本質(zhì)上是多變量時(shí)間序列預(yù)測問題輸入是一段歷史窗口的多維張量輸出是未來一段時(shí)間的多條負(fù)荷曲線。和普通單序列預(yù)測比難點(diǎn)主要在三個(gè)地方。第一個(gè)難點(diǎn)是通道數(shù)多且量綱差異大。電負(fù)荷可能是幾千千瓦熱負(fù)荷可能是吉焦每小時(shí)冷負(fù)荷又不一樣這幾個(gè)變量如果直接拼成一個(gè)矩陣丟給模型訓(xùn)練時(shí)梯度很容易被量綱大的通道主導(dǎo)。所以需要做精細(xì)的歸一化并且模型本身要具備一定的通道獨(dú)立性。第二個(gè)難點(diǎn)是局部模式很重要。綜合能源負(fù)荷曲線不像股票那樣充滿隨機(jī)游走它有明顯日內(nèi)周期性、氣溫敏感性和節(jié)假日突變性。這些模式往往體現(xiàn)在幾十個(gè)時(shí)間步的局部片段里比如早上電負(fù)荷爬坡這一段往往持續(xù)三五個(gè)采樣點(diǎn)就有明顯趨勢特征。標(biāo)準(zhǔn)Transformer用的是逐點(diǎn)注意力每個(gè)時(shí)間步單獨(dú)做embedding對(duì)局部片段的建模效率不高而PatchTST的核心就是把時(shí)間步先切成patch把一個(gè)patch當(dāng)成一個(gè)token這樣自注意力直接作用在語義更完整的patch上局部趨勢一下就清楚了很多。第三個(gè)難點(diǎn)是調(diào)參空間大人工試錯(cuò)成本太高。PatchTST涉及的參數(shù)很多輸入窗口長度、patch長度、stride步長、Transformer層數(shù)、頭數(shù)、d_model、dropout、學(xué)習(xí)率再加上優(yōu)化器和調(diào)度策略如果靠網(wǎng)格搜索或者手動(dòng)試一組跑下來半個(gè)多小時(shí)根本試不完。貝葉斯優(yōu)化正好解決這個(gè)問題它能根據(jù)歷史試驗(yàn)結(jié)果選擇下一組最有潛力的參數(shù)用更少的嘗試次數(shù)找到更好的配置。所以整個(gè)項(xiàng)目的架構(gòu)就很清晰了數(shù)據(jù)側(cè)做好多變量窗口構(gòu)造和歸一化模型側(cè)用PatchTST提取patch級(jí)語義特征優(yōu)化側(cè)用貝葉斯替代模型去搜超參數(shù)最終目標(biāo)是讓驗(yàn)證集上的多步預(yù)測誤差盡量小。這個(gè)組合在實(shí)際跑下來之后效果確實(shí)比原來的LSTM基線好了不少尤其是熱負(fù)荷這種帶明顯延遲慣性的曲線預(yù)測精度提升很直觀。2. PatchTST核心機(jī)制從內(nèi)到外講透每個(gè)設(shè)計(jì)選擇想用好一個(gè)模型不能只調(diào)庫得把它的設(shè)計(jì)邏輯搞清楚。PatchTST的關(guān)鍵創(chuàng)新可以概括為三個(gè)詞Patch、Channel Independence、Transformer Encoder。下面逐個(gè)拆開講。2.1 時(shí)序分割與Patch化處理標(biāo)準(zhǔn)Transformer處理時(shí)間序列時(shí)通常是把每個(gè)時(shí)間步映射成一個(gè)token。假設(shè)輸入序列長度是96那就有96個(gè)token每個(gè)token只代表一個(gè)采樣點(diǎn)的值自注意力在這96個(gè)點(diǎn)之間做交互。這里的問題很明顯單點(diǎn)信息密度低而且注意力矩陣是96x96計(jì)算和內(nèi)存開銷都不小。PatchTST的做法是把時(shí)間維切成小段每個(gè)小段叫一個(gè)patch把patch整體映射成一個(gè)token。假設(shè)patch長度是16stride是8序列長度96就能切出約11個(gè)patch注意力矩陣從96x96縮到11x11計(jì)算量少了將近一個(gè)數(shù)量級(jí)同時(shí)每個(gè)token包含16步的局部上下文語義信息豐富得多。這個(gè)設(shè)計(jì)背后的邏輯很像看圖時(shí)的滑窗識(shí)別人眼看一幅圖不會(huì)逐像素掃描而是先看一個(gè)個(gè)局部區(qū)域再把這些區(qū)域組合起來理解全局。PatchTST的patch化也是這個(gè)道理它讓模型天然聚焦在局部形態(tài)上而局部形態(tài)恰恰是負(fù)荷曲線的核心特征。實(shí)際實(shí)現(xiàn)時(shí)patch化有兩種常見做法。一種是用一維卷積配合合適的卷積核大小和步長來實(shí)現(xiàn)另一種是先unfold再線性映射。效果上兩者差別不大但用unfold加Linear的方式更直觀方便之后調(diào)整patch長度。有一點(diǎn)要特別注意patch數(shù)量不能太少否則序列全局信息會(huì)丟得太多。如果序列長度是96patch長度和stride都設(shè)16patch數(shù)量能到6個(gè)左右再往下減信息損失就會(huì)明顯了。2.2 通道獨(dú)立與多變量協(xié)作通道獨(dú)立這個(gè)設(shè)計(jì)我剛開始覺得有點(diǎn)反直覺。多變量預(yù)測難道不應(yīng)該讓不同變量之間充分交互嗎怎么還搞獨(dú)立PatchTST的Channel Independence策略指的是每個(gè)變量的patch序列在embedding和編碼階段各自獨(dú)立處理共用同一套映射和Transformer參數(shù)最后再通過預(yù)測頭輸出各自的結(jié)果。這樣做的好處是不同通道的量綱差異不會(huì)在embedding層就被混在一起模型可以把更多容量花在通道內(nèi)部的時(shí)序模式上。但獨(dú)立并不等于完全不合作。在多變量場景里我們可以做兩件事來引入通道間交互。第一在輸入側(cè)把外生變量氣象、日歷等作為額外通道一起喂進(jìn)去讓模型在通道維度上間接學(xué)到它們的聯(lián)合分布第二在輸出側(cè)用多任務(wù)預(yù)測頭把電、熱、冷三個(gè)負(fù)荷同時(shí)輸出共享損失和梯度更新通過共用底層特征實(shí)現(xiàn)隱性的跨通道協(xié)同。我在項(xiàng)目里實(shí)際采用的是“通道獨(dú)立編碼多任務(wù)輸出”的組合。實(shí)測下來這種方式比完全把多通道concat成一個(gè)矩陣讓模型自由混合效果更穩(wěn)尤其是冷負(fù)荷和熱負(fù)荷這種相關(guān)性弱的通道不會(huì)被強(qiáng)通道的信息淹沒。2.3 Encoder與預(yù)測頭PatchTST的編碼器用的就是標(biāo)準(zhǔn)的Transformer Encoder由多頭自注意力、前饋網(wǎng)絡(luò)、殘差連接和層歸一化組成。注意這里的自注意力作用在patch序列上也就是說注意力對(duì)象是若干個(gè)patch之間的關(guān)系而不是時(shí)間點(diǎn)之間的關(guān)系。這樣做的好處是注意力可以更高效地捕捉跨時(shí)間的依賴比如今天下午3點(diǎn)的負(fù)荷模式與昨天下午3點(diǎn)的負(fù)荷模式之間的相似性。預(yù)測頭部分PatchTST用的是直接多步預(yù)測一次性輸出未來所有時(shí)間點(diǎn)的值而不是像有些方法那樣逐步遞歸生成。直接多步預(yù)測的好處非常明顯避免了遞歸多步預(yù)測里的誤差累積訓(xùn)練時(shí)也用不著teacher forcing。實(shí)現(xiàn)上Encoder輸出的特征向量會(huì)被展平通過一個(gè)線性層直接映射到 pred_len 長度的輸出。對(duì)于多變量版本預(yù)測頭可以設(shè)計(jì)成輸出形狀為 (batch, num_channels, pred_len) 的張量。每一路用獨(dú)立的線性映射但也共享底層的Encoder特征。這樣電、熱、冷三條曲線既各自有獨(dú)立的輸出投影又能共享同一套時(shí)序特征提取網(wǎng)絡(luò)效果比較均衡。3. 貝葉斯優(yōu)化如何介入深度學(xué)習(xí)調(diào)參模型選好之后下一個(gè)問題是參數(shù)怎么定。說實(shí)話PatchTST這個(gè)模型對(duì)超參數(shù)還算敏感尤其是patch長度和stride直接決定token序列的信息粒度手動(dòng)試錯(cuò)非常痛苦。我一開始用的是傳統(tǒng)網(wǎng)格搜索一組參數(shù)跑一次完整訓(xùn)練結(jié)果發(fā)現(xiàn)完全行不通。后來切到貝葉斯優(yōu)化整個(gè)流程才順利起來。3.1 為什么不用網(wǎng)格搜索網(wǎng)格搜索的本質(zhì)是把參數(shù)空間切成均勻網(wǎng)格然后逐個(gè)組合嘗試。它最大的問題是維度災(zāi)難參數(shù)一旦多起來組合數(shù)爆炸式增長。假設(shè)我們只搜6個(gè)參數(shù)每個(gè)參數(shù)取5個(gè)候選值組合數(shù)就是5的6次方一萬五千多種組合一次訓(xùn)練要幾分鐘全跑完需要幾個(gè)月根本不現(xiàn)實(shí)。隨機(jī)搜索稍微好一些它可以指定嘗試次數(shù)但因?yàn)槭请S機(jī)采樣不會(huì)利用已經(jīng)跑過的結(jié)果前面的經(jīng)驗(yàn)對(duì)后面的搜索沒有幫助。貝葉斯優(yōu)化的思路完全不同。它把超參數(shù)搜索當(dāng)成一個(gè)黑盒優(yōu)化問題目標(biāo)函數(shù)是一次完整的訓(xùn)練流程輸入是一組超參數(shù)輸出是驗(yàn)證集誤差。貝葉斯優(yōu)化會(huì)在每次試驗(yàn)后更新一個(gè)概率代理模型來描述“哪些參數(shù)組合更可能讓誤差小”下一次試驗(yàn)就選擇代理模型認(rèn)為最有潛力的參數(shù)組合去跑。這就像找餐廳網(wǎng)格搜索是把整條街每家店都吃一遍隨機(jī)搜索是閉著眼挑幾家貝葉斯優(yōu)化則是吃完幾家后總結(jié)出“這條街上的高分店都集中在某個(gè)區(qū)域”然后重點(diǎn)去那片區(qū)域繼續(xù)找。3.2 搜索空間設(shè)計(jì)與采集函數(shù)機(jī)制貝葉斯優(yōu)化里有兩個(gè)關(guān)鍵組件一個(gè)是參數(shù)搜索空間一個(gè)是采集函數(shù)。搜索空間決定了我們允許模型在哪些范圍里找參數(shù)。我設(shè)計(jì)PatchTST的搜索空間時(shí)大概分成三類。第一類是模型結(jié)構(gòu)參數(shù)包括d_model、n_heads、e_layers、d_ff。這些參數(shù)決定模型容量。注意n_heads必須能整除d_model否則多注意力頭沒法均分維度。我一般把d_model設(shè)在64到128之間n_heads從4和8里面選e_layers控制在2到4d_ff按d_model的2到4倍去搜。第二類是patch化參數(shù)包括patch_len和stride。這是PatchTST特有的影響最大。patch_len太小局部語義不足太大patch數(shù)量太少序列信息壓縮過狠。我通常把patch_len放在8到24之間stride放在4到12之間。第三類是訓(xùn)練參數(shù)包括學(xué)習(xí)率、dropout、batch_size、weight_decay。學(xué)習(xí)率我習(xí)慣用對(duì)數(shù)均勻分布采樣范圍1e-4到1e-2dropout在0.05到0.3之間batch_size在32到128之間weight_decay在1e-6到1e-3之間。采集函數(shù)的作用是從代理模型推薦下一組參數(shù)。常用的有期望改進(jìn)EI和置信上界UCB。EI會(huì)權(quán)衡“這個(gè)區(qū)域可能達(dá)到多好”和“這個(gè)區(qū)域的不確定性有多大”既不會(huì)只盯著已知最優(yōu)區(qū)域?qū)е戮植渴諗恳膊粫?huì)完全到處亂試。我用的優(yōu)化庫是Optuna它默認(rèn)的TPE采樣器使用的就是類似的思想把歷史試驗(yàn)分成表現(xiàn)好和表現(xiàn)差的兩組通過概率密度比值來指導(dǎo)下一步采樣。3.3 基于Optuna的實(shí)現(xiàn)思路Optuna是目前最順手的貝葉斯優(yōu)化框架和PyTorch集成很方便。整個(gè)流程分三步定義objective函數(shù)、創(chuàng)建study、運(yùn)行優(yōu)化。objective函數(shù)內(nèi)部就是一次完整的模型訓(xùn)練和評(píng)估流程最終返回驗(yàn)證集上的MAE或者RMSE作為需要最小化的目標(biāo)值。import optuna from optuna.pruners import MedianPruner from optuna.samplers import TPESampler def objective(trial): params { d_model: trial.suggest_categorical(d_model, [64, 96, 128]), n_heads: trial.suggest_categorical(n_heads, [4, 8]), e_layers: trial.suggest_int(e_layers, 2, 4), patch_len: trial.suggest_int(patch_len, 8, 24, step4), stride: trial.suggest_int(stride, 4, 12, step4), dropout: trial.suggest_float(dropout, 0.05, 0.3), lr: trial.suggest_float(lr, 1e-4, 1e-2, logTrue), batch_size: trial.suggest_categorical(batch_size, [32, 64, 128]), weight_decay: trial.suggest_float(weight_decay, 1e-6, 1e-3, logTrue), } # 數(shù)據(jù)加載、模型構(gòu)建、訓(xùn)練循環(huán)在這里完成 # val_loss train_and_evaluate(params) # 這個(gè)函數(shù)內(nèi)部包含完整的訓(xùn)練和驗(yàn)證邏輯 return val_loss sampler TPESampler(seed42, n_startup_trials10) pruner MedianPruner(n_startup_trials5, n_warmup_steps10) study optuna.create_study(directionminimize, samplersampler, prunerpruner) study.optimize(objective, n_trials60, timeout7200)這里有兩個(gè)細(xì)節(jié)值得說。第一n_startup_trials是指在真正用TPE決策之前先做多少次完全隨機(jī)采樣目的是給代理模型提供初始數(shù)據(jù)。設(shè)太小比如設(shè)成3代理模型容易在剛開始就鎖死到錯(cuò)誤的區(qū)域。我實(shí)際用下來設(shè)10到15比較穩(wěn)。第二pruner的MedianPruner指的是如果某個(gè)trial在訓(xùn)練中途的中間結(jié)果比歷史同期中位數(shù)差就直接終止它把計(jì)算資源讓給更有潛力的試驗(yàn)。這類剪枝機(jī)制在調(diào)參任務(wù)里非常省時(shí)間尤其是在搜索空間很大的時(shí)候。4. 數(shù)據(jù)處理綜合能源負(fù)荷預(yù)測的建?;A(chǔ)模型和調(diào)參框架都定了數(shù)據(jù)這邊反而是最容易出問題但最容易被忽視的部分。綜合能源系統(tǒng)的原始數(shù)據(jù)通常來自SCADA系統(tǒng)、氣象站和日歷表數(shù)據(jù)結(jié)構(gòu)五花八門采樣間隔可能不齊異常值和缺失值也很多。處理不好后面模型再先進(jìn)也是白搭。4.1 多變量特征集合與來源我梳理這個(gè)項(xiàng)目的數(shù)據(jù)時(shí)把特征分成了三類。第一類是預(yù)測目標(biāo)也就是電負(fù)荷、熱負(fù)荷、冷負(fù)荷這三條主曲線采樣間隔是15分鐘一個(gè)點(diǎn)一天96個(gè)點(diǎn)。第二類是外部氣象特征包括干球溫度、相對(duì)濕度、水平面總輻射、風(fēng)速等這些特征對(duì)空調(diào)負(fù)荷和供熱負(fù)荷影響很大尤其是溫度和輻射與冷負(fù)荷的相關(guān)系數(shù)相當(dāng)高。第三類是日歷特征比如是否工作日、是否節(jié)假日、一天中的第幾個(gè)采樣點(diǎn)。日歷特征看起來簡單但對(duì)模型幫助很大。綜合能源負(fù)荷在工作日和周末的形態(tài)差異非常明顯如果模型不確定“今天是星期幾”它很難區(qū)分同一時(shí)刻兩種不同的合理模式。還有一類容易被忽略的特征是滯后變量。綜合能源系統(tǒng)里的熱負(fù)荷有很強(qiáng)的熱慣性今天的負(fù)荷不僅取決于今天的氣象還和過去幾個(gè)小時(shí)的熱量積累有關(guān)。所以我把目標(biāo)變量的前24個(gè)點(diǎn)也作為額外特征窗口輸入讓模型有機(jī)會(huì)捕捉這種慣性。不過要注意加了滯后變量后輸入通道數(shù)會(huì)明顯增加特征之間的多重共線性也會(huì)變強(qiáng)需要靠模型的正則化去吸收。4.2 歸一化方案的取舍歸一化這個(gè)環(huán)節(jié)我一開始吃過虧。直接用StandardScaler對(duì)整個(gè)特征矩陣做標(biāo)準(zhǔn)化表面上看沒錯(cuò)但會(huì)把不同負(fù)荷通道的量綱差異壓縮到同一范圍反而丟掉了不同能源品種之間的相對(duì)規(guī)模信息。后來我改成每個(gè)通道單獨(dú)做歸一化也就是對(duì)電負(fù)荷、熱負(fù)荷、冷負(fù)荷、溫度、濕度這些列分別fit一個(gè)scaler。這樣做的另一個(gè)重要原因是預(yù)測結(jié)果需要反變換回原始量綱才能計(jì)算誤差指標(biāo)。如果多個(gè)通道混合縮放反變換的時(shí)候矩陣操作容易出錯(cuò)分開處理后會(huì)清晰很多。預(yù)測目標(biāo)通道建議使用MinMaxScaler讓它嚴(yán)格落在0到1之間這樣和模型輸出層的激活范圍匹配更好訓(xùn)練初期收斂更穩(wěn)定。外部氣象特征用StandardScaler就行不需要強(qiáng)制限定到某個(gè)區(qū)間。反變換的公式很簡單但要注意在測試集上必須用訓(xùn)練集fit好的scaler不能在測試集上重新fit否則會(huì)造成信息泄漏評(píng)估結(jié)果虛高。4.3 滑動(dòng)窗口與多步預(yù)測構(gòu)造滑動(dòng)窗口是時(shí)間序列預(yù)測里最基礎(chǔ)的操作但細(xì)節(jié)里藏著不少坑。假設(shè)我們用前96個(gè)點(diǎn)預(yù)測后24個(gè)點(diǎn)那訓(xùn)練樣本就是在一個(gè)完整的時(shí)間序列上以一定step滑動(dòng)截取。比如step設(shè)24每天可以截出約4組樣本0到95預(yù)測96到11924到119預(yù)測120到143依此類推。這里有一個(gè)很關(guān)鍵的選擇輸入窗口和預(yù)測窗口之間是否要有g(shù)ap。有些場景里我們可以在輸入末尾和預(yù)測開始之間留一段間隔比如輸入96個(gè)點(diǎn)跳過6個(gè)點(diǎn)再預(yù)測未來24個(gè)點(diǎn)。這個(gè)gap的存在讓模型不能只依賴最近幾個(gè)點(diǎn)的慣性外推必須真正學(xué)到模式泛化能力更好些。但如果gap太大模型會(huì)丟掉近期的有效信息誤差反而不降。我在實(shí)測里用gap等于1到2個(gè)采樣點(diǎn)作為折中效果比完全無縫預(yù)測略好。窗口構(gòu)造完成后數(shù)據(jù)要整理成模型需要的形狀。PatchTST的多變量輸入通常是 (batch, seq_len, num_channels) 這樣的三維張量。注意通道維放在最后和圖像任務(wù)的 (batch, channels, height, width) 不一樣剛開始容易搞混。如果使用PyTorch建議在DataSet里直接返回這個(gè)形狀的tensor避免在訓(xùn)練循環(huán)里頻繁做permute。5. Python代碼實(shí)現(xiàn)與核心邏輯解讀這一節(jié)我把項(xiàng)目代碼的主干邏輯拆出來講。不貼全部源碼但關(guān)鍵部分都會(huì)給到并且解釋每一段在做什么、為什么要這么做。5.1 數(shù)據(jù)加載與窗口生成數(shù)據(jù)加載部分我習(xí)慣自己寫DataSet類而不是直接用現(xiàn)成的TSDataset庫因?yàn)榫C合能源數(shù)據(jù)通常要融合好幾個(gè)csv自定義更靈活。class EnergyDataset(torch.utils.data.Dataset): def __init__(self, df, target_cols, feature_cols, input_len96, pred_len24, step24): self.df df.reset_index(dropTrue) self.target_cols target_cols self.feature_cols feature_cols self.input_len input_len self.pred_len pred_len self.step step self.inputs, self.targets self._build_samples() def _build_samples(self): data self.df[self.target_cols self.feature_cols].values.astype(float32) total len(data) max_start total - self.input_len - self.pred_len samples_in [] samples_out [] for start in range(0, max_start, self.step): end_in start self.input_len end_out end_in self.pred_len x data[start:end_in] y data[end_in:end_out, :len(self.target_cols)] samples_in.append(x) samples_out.append(y) return ( torch.from_numpy(np.stack(samples_in)), torch.from_numpy(np.stack(samples_out)) ) def __len__(self): return len(self.inputs) def __getitem__(self, idx): return self.inputs[idx], self.targets[idx]這里有幾個(gè)設(shè)計(jì)點(diǎn)。第一切窗口時(shí)只保留完整覆蓋輸入和預(yù)測長度的樣本末尾不足的部分直接丟掉避免padding帶來的邊界噪聲。第二step控制窗口滑動(dòng)步長數(shù)據(jù)量不夠的時(shí)候step小一點(diǎn)可以增加樣本數(shù)但要注意相鄰樣本高度重疊會(huì)導(dǎo)致訓(xùn)練集和驗(yàn)證集之間的數(shù)據(jù)泄漏風(fēng)險(xiǎn)我的做法是把時(shí)間靠前的80%作為訓(xùn)練集時(shí)間靠后的20%作為驗(yàn)證集不做隨機(jī)劃分。時(shí)間序列數(shù)據(jù)不能用隨機(jī)劃分這一點(diǎn)非常重要隨機(jī)劃分會(huì)讓驗(yàn)證集提前看到訓(xùn)練集未來的信息。5.2 PatchTST模型實(shí)現(xiàn)模型主體我基于官方思路重新實(shí)現(xiàn)便于修改和加自己的預(yù)測頭。核心分兩塊patch嵌入和Transformer編碼器。import torch import torch.nn as nn class PatchEmbedding(nn.Module): def __init__(self, patch_len, stride, d_model, dropout): super().__init__() self.patch_len patch_len self.stride stride self.padding stride if patch_len stride else 0 self.linear nn.Linear(patch_len, d_model) self.pos_embed nn.Parameter(torch.randn(1, 100, d_model) * 0.02) self.dropout nn.Dropout(dropout) def forward(self, x): # x: (batch, seq_len, num_channels) batch, seq_len, num_channels x.shape x x.permute(0, 2, 1) # (batch, num_channels, seq_len) x nn.functional.unfold( x.unsqueeze(-1), kernel_size(self.patch_len, 1), dilation1, padding(self.padding, 0), stride(self.stride, 1) ) # 整理形狀 x x.permute(0, 2, 1).reshape(batch * num_channels, -1, self.patch_len) x self.linear(x) # (batch*num_channels, num_patches, d_model) x x self.pos_embed[:, :x.size(1), :] x self.dropout(x) x x.reshape(batch, num_channels, -1, self.linear.out_features) return x這段代碼里最容易出問題的是unfold的padding設(shè)置。設(shè)置padding為stride有一個(gè)作用保證序列末尾也能形成一個(gè)patch讓尾部的信息不會(huì)直接被丟棄。雖然末位patch是部分填充的但線性層在訓(xùn)練過程中可以學(xué)到忽略無效位置這比直接截?cái)嘁谩ransformer編碼器部分直接用PyTorch的TransformerEncoderLayer堆疊即可。注意這里要讓num_channels個(gè)通道的token進(jìn)入同一個(gè)Transformer因此把通道維展開到序列維。也就是說注意力可以跨通道和跨patch同時(shí)發(fā)生這也是為什么模型在多變量場景下依然能捕捉到通道間交互。預(yù)測頭部分我需要把Transformer輸出的特征重新整理成每個(gè)通道獨(dú)立的多步輸出。因?yàn)檩敵鍪侵苯佣嗖筋A(yù)測所以這里就是一個(gè)Linear層把特征映射到pred_len維度。我在實(shí)際實(shí)現(xiàn)時(shí)每個(gè)通道的輸出投影是獨(dú)立的Linear層使用nn.ModuleList包裹避免所有通道共享同一套投影權(quán)重。5.3 貝葉斯優(yōu)化主流程集成貝葉斯優(yōu)化的objective函數(shù)內(nèi)部最關(guān)鍵的是要讓每次試驗(yàn)在相同條件下公平競爭。我在試驗(yàn)里固定了隨機(jī)種子包括PyTorch、NumPy和Python內(nèi)置random否則有的試驗(yàn)跑得好純粹是運(yùn)氣好貝葉斯優(yōu)化會(huì)被假信號(hào)帶偏。另一個(gè)要注意的是驗(yàn)證集的選擇。我建議固定一個(gè)時(shí)間窗口作為驗(yàn)證集比如最近20%的時(shí)間段。不要在每次試驗(yàn)里重新劃分驗(yàn)證集否則不同試驗(yàn)之間的比較基準(zhǔn)不一致。如果數(shù)據(jù)量夠大也可以抽一個(gè)固定的時(shí)間長段做驗(yàn)證但同樣不能隨機(jī)抽取。objective函數(shù)的執(zhí)行流程通常是用傳入的超參構(gòu)建模型初始化數(shù)據(jù)加載器進(jìn)入訓(xùn)練循環(huán)每個(gè)epoch結(jié)束后在固定驗(yàn)證集上計(jì)算MAE或RMSE記錄歷史最優(yōu)模型返回驗(yàn)證集最優(yōu)誤差。整個(gè)過程相當(dāng)于一次小型訓(xùn)練任務(wù)。為了降低單次試驗(yàn)耗時(shí)可以限制epoch數(shù)到50左右配合早停策略。早停的patience建議設(shè)5到10個(gè)epoch太小容易在曲線還沒收斂時(shí)就提前停止太大又浪費(fèi)時(shí)間。5.4 訓(xùn)練與評(píng)估閉環(huán)訓(xùn)練循環(huán)本身沒有太多特別之處但有幾個(gè)細(xì)節(jié)會(huì)影響最終效果。首先是優(yōu)化器的選擇我用的是AdamW而不是普通Adam。AdamW把權(quán)重衰減從梯度更新里去耦對(duì)Transformer這類大模型的正則化效果更可控不容易出現(xiàn)普通Adam里weight_decay和自適應(yīng)學(xué)習(xí)率相互干擾的問題。學(xué)習(xí)率調(diào)度方面我推薦先用one cycle或余弦退火。PatchTST訓(xùn)練早期學(xué)習(xí)率太大會(huì)導(dǎo)致loss爆炸太小會(huì)導(dǎo)致收斂太慢one cycle策略在前幾個(gè)epoch快速提升學(xué)習(xí)率探索然后平滑下降收斂實(shí)測比固定學(xué)習(xí)率效果穩(wěn)定。損失函數(shù)用的是MSE因?yàn)镸SE對(duì)大誤差的懲罰更強(qiáng)烈會(huì)讓模型更關(guān)注尖峰負(fù)荷的擬合。如果后續(xù)覺得預(yù)測結(jié)果太平均、尖峰不夠尖可以換成MAE或者Huber損失做對(duì)比甚至組合起來用。評(píng)估指標(biāo)方面除了RMSE我同時(shí)會(huì)算MAE、MAPE和R2因?yàn)镽MSE對(duì)異常值敏感單看它容易被個(gè)別點(diǎn)的極端誤差誤導(dǎo)。MAPE對(duì)接近零的負(fù)荷值會(huì)失真所以計(jì)算時(shí)需要對(duì)真實(shí)值設(shè)置一個(gè)下限閾值避免除以接近0的數(shù)。6. 訓(xùn)練過程中踩過的坑與排查心得這個(gè)項(xiàng)目前前后后跑了很久踩的坑不少專門整理一節(jié)出來按問題類型分類寫清楚。6.1 loss不降或突然變成NaNloss不降是最常見的問題。我的排查順序是先看數(shù)據(jù)里有沒有NaN或inf這一步可以通過一行代碼檢查然后看歸一化是否完成如果原始值在幾百上千的量綱直接送進(jìn)模型Transformer的注意力softmax很容易溢出再看學(xué)習(xí)率PatchTST對(duì)學(xué)習(xí)率比LSTM更敏感如果初始學(xué)習(xí)率超過1e-2訓(xùn)練大概率直接飛掉建議先固定到1e-3跑一遍基線再讓貝葉斯優(yōu)化去搜索。loss突然變成NaN大概率有兩個(gè)原因。一個(gè)是梯度爆炸解決辦法是給模型加梯度裁剪max_norm設(shè)1.0比較穩(wěn)妥。另一個(gè)原因是學(xué)習(xí)率調(diào)度策略里出現(xiàn)了過大的尖峰比如one cycle策略的峰值學(xué)習(xí)率設(shè)太高可以在實(shí)現(xiàn)時(shí)限制峰值不超過最大學(xué)習(xí)率的10倍。還有一個(gè)容易被忽略的原因輸入數(shù)據(jù)里某條通道的標(biāo)準(zhǔn)差為0。比如某個(gè)傳感器故障連續(xù)幾天的值恒等于一個(gè)常數(shù)標(biāo)準(zhǔn)化之后變成NaN模型訓(xùn)練自然就崩了。6.2 Patch尺寸與序列長度約束Patch化和序列長度之間的約束關(guān)系我在調(diào)整參數(shù)時(shí)經(jīng)常被繞進(jìn)去。給定序列長度Lpatch長度Pstride Spatch數(shù)量N可以估算為 (L - P) / S 1如果加上末尾填充大約是 (L - P) / S 2。這個(gè)N不能太小否則輸入到Transformer的token數(shù)量太少注意力機(jī)制的優(yōu)勢發(fā)揮不出來。經(jīng)驗(yàn)上N至少應(yīng)該在5到8個(gè)以上。如果序列長度是96我一般建議patch_len從8到16之間選stride從4到8之間選。patch數(shù)量大約在11到23個(gè)之間這個(gè)量級(jí)對(duì)Transformer來說很舒適。如果序列長度更長比如168或336可以把patch_len適當(dāng)調(diào)大到12到24。還有一個(gè)需要注意的地方是patch_len必須能被輸入序列長度大致整除否則末尾padding過多有效信息比例下降。如果發(fā)現(xiàn)未填充patch數(shù)量太少優(yōu)先調(diào)大stride而不是調(diào)大patch_len這樣能在保持patch粒度的情況下盡量維持語義完整度。6.3 貝葉斯優(yōu)化的收斂與過擬合問題貝葉斯優(yōu)化跑著跑著會(huì)出現(xiàn)兩種讓人困惑的現(xiàn)象。第一種是搜索后期目標(biāo)值不再下降反而在某個(gè)區(qū)間震蕩。這通常是搜索空間里某些參數(shù)組合方差太大導(dǎo)致的比如batch_size從32跳到128模型表現(xiàn)波動(dòng)明顯代理模型很難找到穩(wěn)定的優(yōu)化方向。解決辦法是把參數(shù)限制到更窄的合理范圍或者把離散參數(shù)的候選值減少到2到3個(gè)。第二種現(xiàn)象是貝葉斯優(yōu)化找到的參數(shù)在訓(xùn)練集上效果很好但驗(yàn)證集效果變差典型的過擬合。這里要區(qū)分是模型過擬合還是調(diào)參過擬合。模型過擬合表現(xiàn)為訓(xùn)練loss遠(yuǎn)低于驗(yàn)證loss需要加大dropout或weight_decay或者減小d_model。調(diào)參過擬合則是試驗(yàn)次數(shù)過多代理模型在驗(yàn)證集上反復(fù)測試間接把驗(yàn)證集信息泄露給了搜索過程。解決辦法是盡量保證驗(yàn)證集只有一個(gè)固定窗口不要頻繁更換同時(shí)trials數(shù)控制在50到80次以內(nèi)超過之后增益會(huì)明顯遞減。我還發(fā)現(xiàn)一個(gè)隱藏的坑早停的patience在貝葉斯優(yōu)化里會(huì)影響公平性。某個(gè)trial訓(xùn)練特別久模型有機(jī)會(huì)充分收斂另一個(gè)trial因?yàn)閜atience設(shè)置不同提前結(jié)束了。這時(shí)候比較兩者的最終loss就不公平。我的做法是每次試驗(yàn)固定使用相同的早停配置并且統(tǒng)一epoch上限。7. 跑通之后的效率觀察與擴(kuò)展思路模型跑通之后我對(duì)整體性能和擴(kuò)展方向做了整理這里一并說說。7.1 整體效果與時(shí)間開銷最終固定下來的配置大致是d_model128n_heads8e_layers3patch_len16stride8dropout0.1學(xué)習(xí)率約2e-3batch_size64。在這個(gè)配置下電負(fù)荷、熱負(fù)荷、冷負(fù)荷三通道24步預(yù)測的RMSE對(duì)比原始LSTM基線大約下降了15%到20%。其中熱負(fù)荷提升最明顯因?yàn)闊釕T性帶來的長程依賴恰好是PatchTST注意力機(jī)制的強(qiáng)項(xiàng)。冷負(fù)荷提升相對(duì)小因?yàn)槔湄?fù)荷受瞬時(shí)輻射影響較大而氣象預(yù)報(bào)本身的誤差會(huì)限制預(yù)測上限。訓(xùn)練時(shí)間方面序列長度96、patch數(shù)量13左右、三通道展開后總共39個(gè)token一個(gè)epoch在中等規(guī)模數(shù)據(jù)集上只需要幾秒50個(gè)epoch加早停大概在3到5分鐘完成一次試驗(yàn)。60次貝葉斯優(yōu)化試驗(yàn)算上剪枝節(jié)省的時(shí)間總耗時(shí)在2到3個(gè)小時(shí)左右。這個(gè)成本對(duì)應(yīng)用來說可以接受比起手動(dòng)調(diào)參一遍遍試要高效得多。7.2 還可以怎么往下走如果想把這套方案繼續(xù)深化有幾個(gè)方向我個(gè)人覺得很有價(jià)值。第一個(gè)是把模型輸出從確定性預(yù)測改成概率預(yù)測具體做法是在預(yù)測頭加一個(gè)分布層輸出均值和方差損失函數(shù)換成負(fù)對(duì)數(shù)似然。這樣得到的預(yù)測不僅有數(shù)值還有置信區(qū)間對(duì)調(diào)度決策來說參考意義更大。第二個(gè)方向是引入更細(xì)的外生變量比如電價(jià)、設(shè)備啟停狀態(tài)、天氣預(yù)報(bào)的不確定性。綜合能源系統(tǒng)調(diào)度往往和現(xiàn)貨市場電價(jià)強(qiáng)相關(guān)把電價(jià)作為輸入通道加入模型可以進(jìn)一步挖掘負(fù)荷對(duì)價(jià)格信號(hào)的響應(yīng)。第三是做多任務(wù)學(xué)習(xí)的變體不只預(yù)測負(fù)荷還同時(shí)預(yù)測光伏出力和儲(chǔ)能狀態(tài)。因?yàn)檫@些變量的變化規(guī)律和負(fù)荷有耦合聯(lián)合建??赡軒眍~外的泛化提升。最后還想提一個(gè)工程上的小技巧模型訓(xùn)練完保存 checkpoint 時(shí)記得把scaler也一起保存。部署上線時(shí)新數(shù)據(jù)的歸一化必須用訓(xùn)練時(shí)保存的scaler否則線上輸入分布和訓(xùn)練分布不一致預(yù)測效果會(huì)莫名其妙地變差。我在項(xiàng)目里因?yàn)檫@個(gè)問題上線后翻過一次車排查了半天才發(fā)現(xiàn)是新寫的預(yù)處理腳本沒有復(fù)用原有scaler造成的。踩過那次坑之后我把scaler納入模型artifacts統(tǒng)一管理之后的迭代就再?zèng)]出過類似的問題。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91呦呦呦| 99视频精品全部免费观看| 天天插天天干| 婷婷久久五月天| 囯产精品久久欠久久久久久九大| www.色窝| 99色久| 五月丁香六月婷婷啪啪| 丁香五月精品视频| 激情五月天婷婷播播久久综合91| 精品色色| 在线五月色播| av在线观看网址| 8区视频在线| 九月丁香婷婷| 久热精彩视频98| 青青草原伊人网| 久久天天天| 午夜少妇在线观看视频| 五月婷婷激情五月| 色色99色色| 狠狠色噜噜狠| 91操片| 日韩砖区| 五月五月婷婷| 少妇被躁爽到高潮无码文 | 婷婷色色狠狠| 日韩成人电影Av| 99福利导航| 五月激情日本在线| 五月天丁香欧美激情| 97久久超碰| 99小精品| 色碰碰| 国产精品扒开腿做爽爽爽A片唱戏| 激情五月婷婷啪啪| 丁香六月婷婷开心| 五月婷婷久久爱| 婷婷色五月激情| 色五月婷婷、老熟女| 91日本在线免费| 精品女人九九九| 天天色天天爱天天舔| 一区中文字幕电影| 国外亚洲成AV人片在线观看| av中文在线| 青青草视频福利| 成人色图情色成人网 www.5b5b5bcom 五月天 | 9999三级片| 婷婷色五月亚洲| 九9九9无码| 狠狠干狠狠干| 97视频91| 天天舔天天摸| 99热久久这里只有精品2010| 狠狠狠狠免费| 伊人99热| av在线观看网站| 91久女| www.99视频| 婷婷五月丁香综合人妻| 性色欲情 网站| 婷婷五月六月丁香| 99久久喉9| 99久在线视频| 九月婷婷色色| 久久精品人妻| 五月婷婷开心综合| 天天婷婷综合| 五月天成人综合| 国产偷人妻精品一区| 高清无码.com| 无码人妻激情| 欧美啪啪9| 狠狠ri| 丁香激情网| 丁香五月天激情免费在线观看AV777| 99热永久在线观看| 国产激情久久久| 无语停婷丁香网| 婷婷久久综合久| 99热丁香| 五月丁香婷婷婷激情爱爱| 亚洲性爱区无码区| 亚洲五月天婷婷在线| 久久这里只精品66| 看黄的网站18禁| 久久婷婷丁香五月宗合| 久久大香蕉伊人| 67194中文在线| 婷婷激情六月| 97色色婷婷| 丁香花五月天激情| 久久9视频欧美| 色婷婷亚洲精品天天综| 天天爽天天爽视频| 丁香婷婷月| 五月草影视| 三十路磁力链接| 99视频精品视频| 婷婷丁香激情综合色情| 激情九月综合| 色婷婷五月天激情| 丁香五月天激情婷婷丁香六月| 六月丁香婷婷综合狠狠爱夜夜爱| www.久久综合| 色玖玖综合网| 这里只有精品视频222| 精品99在线| 日韩三及成人AV片| 色综合中文色综合网| 日韩一级网站| 五月停停色色丁香| 狠狠色色| 天天插天天日天天爽| 日操| 玖玖九九99| 夜夜操少妇| 日本熟妇人妻在线| 丁香久久| 人人操AV| 日产精品一线二线三线芒果| 激情婷婷狠狠干综合| 99在线精品免费视频| 免费做A爰片77777| 99视频热99| 久久99大| 黄色一级影片| 婷婷五月天视| 五月婷婷花| 五月婷婷六月综合| 五月天开心色情网| 五月激情综合网| 极品人妻VIDEOSSS人妻| 92久久久| 伊人干综合| 可以免费观看的av网址| 午夜婷婷六月天| 另类五月激情| 五月天婷婷色| WW婷婷五月天com| 影音先锋五月天婷婷丁香在线观看| 色婷婷影视99| 99热9| 精品无码色欲AV| 婷婷深爱五月丁香网| 五月婷婷激情四月| 翔田千里 50岁 无码| 91操操| 99爱在线视频| 伊综合蕉| 激情综合婷婷| 精品99网站| 丁香六月视频免费观看| 久久9热| 开心婷婷五月| 丁香社92视频| 丁香五月天激情网址| 婷婷操逼网| 婷婷.com| 婷婷在线视频| 欧美、日韩、中文、制服、人妻| 26uuu淫色| av网站中文| 九九热最新| 99热最新网址| 9色天堂| 中文资源在线a| 国产精品久久久99视频| 九九热经典视频在线观看| 97干婷婷| 玖玖爱伊人网| 99色色爰| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 高清a片基地| 97碰碰在线观看视频| 婷婷五月天播| 射久久丁香五月| 五月天综合在线| 丁香五月欧美婷婷| 久久这里面只有精品视频| 五月天婷婷高清无码| 婷婷大乡焦噜噜| 五月丁香| 色婷婷激情| 人人色AV| 五月丁香五月婷婷| 欧美性爱一区| 热99re| 久九色| 97爱艹婷婷开心丁香激情综合| 9精品视频在线观看| 安息电影在线观看完整版| 99热这里只有精品18| 婷婷伊人久久| 超热久碰.com| 欧美性丁香色色五月天| 99色色网| www.91操| 色五月婷婷小说亚洲中文字幕组| 51精品国自产在线| 丁香婷婷精品视频| 啪啪激情综合| 五月婷婷草| 亚洲精品性色| 婷婷成人五月天| 色99在线看| 激情五月综亚网| 久久伊人婷婷| www.色婷婷.com| 亚洲成人乱码av网站| 九九久久精品| 五月婷婷激情性爱| 久婷五月| 人人操人人看97干| 色五月综合在线| 亚洲精品又粗又大又爽A片| 99久久婷婷五月综合| www五月天激情com| ..真实国产乱子伦对白在线_欧| 色婷天天| 99啪99| 亚洲视频另类| 欧美VA在线观看| 激情五月婷婷综合| 97色色-99久久| 丁香五月激情网| 超碰人人摸AV| 99免费视频精品| 色情综合| 婷婷五月亚洲激情| 中文字幕 码精品视频网站| 在线观看996精品| 999影院成人在线影院| 天天综合精品| 天堂爱爱| 久久小说| 69er小视频| 99无码精品| 色色色色色热| 99久久婷婷| 在线成人网站| 九九五月天| 婷婷激情四射网| 欧美婷婷成人| 色婷婷综合综合网| 久久婷综合| 久久性操| 亚洲综合激情五月久久| 亚洲中文丁香| 亚洲精品白浆高清久久久久久| 色婷婷丁香六月| 色五月天在线观看| 九九热在视频| 亚洲日韩久久婷婷伊人| 99综合激情久久精品久久| av免费在线看不卡无毒| 激情小说 五月天| 91男人操女人视频| 色五月丁香六月婷婷| 国产黄色在线| 99re这里| 在线天堂9| 综合伊人久久| 色五月天影视| 农村熟妇高潮精品A片| 亚洲俩性性爱图片久久第六页| 激情五月天婷婷| 狠狠狠婷婷五月综合| 色婷婷综合网站| 男人天堂亚洲综合| 色婷婷色综合久久精品V| 婷婷激情五月综合丁| 五月天色色无码| 欧美天天干天天草| 五月天婷婷激情在线色图| 丁香五月欧美| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 久热69| 婷婷五月综合社区| 熟女重口味αV| 98国产精品综合一区二区三区| 欧美另类五月激情| 亚洲影院婷婷色| 久久精品视频在这里有| 综合AV在线| 丁香五月偷拍| 婷婷激情五月天小说| 999精品久久久久久久| www.夜夜操.com| 五月婷婷色综图片| 欧美S码亚洲码精品M码| 97热这里只有精品| 色婷婷丁香网| 色综合99色| 婷婷五月天福利| 91干视频| 色.五月综合网| 少妇激情五月天| 丝袜激情网| 婷婷狠狠操| www.思思99热| 91干在线| 色网五月婷婷| 色综合色五月| 久8色色| 操逼三区| 丁香久久在线| 久婷婷| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 丁香网五月网| 色五月婷婷在线| 大香蕉九九| 亚洲六月色| 亚洲AV成人精品日韩在线播放| 亚洲国产精品二二三三区| 51avj视频大全| 91丨九色丨熟女|新版| 麻豆AV一区二区三区| 思思久久99热只有频精品66| 91丨九色丨东北熟女| 综合AV网| 天天搞天天爽| 五月天综合久久| WWW,激情五月天,COM| 国内熟女黄色系列| 五月丁香成人网| 婷婷色av| 丁香五月色播中文在线播放| 日本久久超碰| 六月婷婷综合网2| 亚洲综合99| 婷婷六月伊人| 激情五月婷婷网在线观看| 色天堂操| 激情久久伊人| 日本三级大片| 五月丁香999| 色欲天天综合| 日日干日日s| 五月丁香六月婷婷成人| 六月色 亚洲| 啊v视频在线观看| 亚洲色五月婷婷| 丁香五月亚洲无码| ay2区| 五月婷免费视频| 青青草免费公开视频| 五月丁香六月色| 激情小说之五月| 亚洲夜五月| 99热日| 婷婷激情五月天桃花网| www。久久久久一b。Cc| 九九香蕉网| 婷婷无码视频| www.9797国产| 五月婷婷六月情| 五月婷六月丁| 四色女婷婷| 老司机午夜福利视频金瓶梅| 狠狠干狠狠色| 久久激情五月| 久久久18| 日韩另类| 香蕉久久国产AV一区二区| 成人AV网站在线| 在线观看日韩12345区| 五月丁香六月激情| 久久伊人大香蕉| 91avse| 五月天社区婷婷丁香社区| 丁香五月婷婷俺也要去| 婷婷深爱网| 天天干,噜噜色,狠狠色| 五月激情综合激情五月| 久久99热免费| 丁香婷婷偷拍| 99精品视频在线| 激情五月,色五月| 五月婷在线观看| 综合色网站| 香蕉中文在线| 99视频在线啪| 探花搜索结果 - 黄上黄| 97久久精品视频| 婷婷六月天国产综合| 国产69久久久欧美黑人A片| 久久这里只有精品99| 精品久久99码| 婷婷综合五月天| 国产午夜一区二区三区| 丁香色五月 97干| 色欲一区二区三区精品A片| 国产精品久久..4399| 91成人视频| 久99视频在线观看| 婷婷香五月天| 天天爽天天| 黑人糟蹋人妻HD中文字幕| 国产99久久久国产精品免费看| 99色综合| 日韩性爱AV| 久久大香蕉丁香| www.婷婷com| 68热超碰在线| 大香蕉人人网| 婷婷天堂综合| 五月天 综合 在线| 久久99久久99精品免观看软件| 婷婷五月天婷婷| 激情五月丁香综合网站| 丁香六月婷婷综合| 丁香五月婷婷六月| 青青草免费公开视频| 欧美性猛交XXXX乱大交极品| 中文字幕欧美精品久久| 97欧美在线| 婷婷综合精品| 激情五月丁香色婷婷| 九九热短视频在线观看| 九九热精品在线| 91人人操人人爱| 激情五月丁香五月| 69超碰在线| 日本97在线看片| 免费看无码视频A级| 97操在线视频| 亚洲乱码成人| 97超碰在线免费观看| 丁香五月天堂| 欧美叉叉叉BBB网站| 日韩AV在线免费| 丁香五月停停基地| 99色看这里只有精品| 国产精品久久久60086| 五月丁香婷婷成人网| 青青草原伊人网| 日本五月婷婷| 激情婷婷五月社区| 大香蕉啪啪网| 五月婷婷精品无在线| 丁香六月婷婷综合缴| 色五月成人| 疯狂做受XXXX高潮A片动画| 91主播在线| 99激情网| 激情网婷婷婷| 玖玖婷婷五月天| 五月丁香色停停啪啪啪| 亚洲无线视频| 视色综合| 狠狠干五月天| 久久人视频| 欧美色婷婷| 我要看激情五月天| 亚洲综合99| 丁香婷婷六月| 五月天婷综合网站| 日日夜夜狠狠| 国产精品18久久久| 91男同| 五月丁香婷中文字幕| 亚洲人人操| 202丰满熟女妇大| 人人妻人人澡人人爽| 天天操天天日天天爱| 人妻精品久久久久久久| 狠狠干狠狠色| 91精品国产综合久久蜜芽解析速度| 日本精品在线噜噜噜| www色综合| 久久怕怕视频| 狼友超碰| 久久丁香久久| 做爰丰满少妇1313| 日韩成人综合网| jiqingliuyuetian| 在线理论片| 婷婷五月香蕉| 噜噜狠狠色综无码久久合欧美| 性爱综合网| 一本色道久久88加勒比—| 国产丁香五月天婷婷| 久久人人九九| 欧美操综合| 情情五月天色| 另类激情综合| 色婷婷操逼| 色亚洲激情| 91人在线观看| Av性爱网| 综合色播| 亚洲综合色色| 97色啪| 久久男人网婷婷| 色色色在线免费视频| 色爱综合网| 欧美天堂婷婷日韩| 色婷丨日丨天丨综合久久| 婷婷伊人网| 99热在线看| www.五月激情红色| 国产精品美女久久久久AV超清 | 在线中文字幕视频| 五月婷婷色啪| 亚洲激情婷婷| 丁香五月欧美婷婷| 激情五月天色婷婷综合| AA片在线观看视频在线播放| 婷婷五月蜜桃成人桃色丁香| 精品久久久人妻| 超碰在线观看9| 丁香六月婷婷综合啪啪| 婷婷五月天久草在线| 91艹人| 五月成人网站| 开心婷婷中文字慕| 激情五月天综合| 天堂资源欧日浪女在线播放| 丁香五月最新地址| 夜夜久久综合网| 日本激情综合| 91人无码久久久久久| 婷婷综合伊人丁香| 99青青草99| 美女激情婷婷| 婷婷五月激情四射手| 婷婷五月开心中文字幕色| 婷婷久久色| 99热大全在线观看| 思思热在线观看| 99久久a线观| 99热亚洲| 色婷婷成人影片| www.狠狠操| 激情五月丁香综合蜜桃| 久草婷婷| 五月丁香久久久| 婷婷在线中文字幕| 成人五月天视频播放| 琪琪色网址| 99精色| 狠狠久综合| 五月丁香婷婷深深爱| 色播播婷婷| 色婷婷五月综合在线| 在线观看av网站| 无码人妻电影| 亚洲激情图文小说| 久久精品无码一区| 亚洲视色| 人人97碰| 99热久| 丁香五月天无码| 色亭亭丁香五月天| 婷婷午夜综合| 思恩热国产视频右线观看| 国产成人+综合亚洲+天堂| 美女婷婷六月色| 无码激情AAAAA片-区区| 看久久性爱视频| 丁香九月综合在线| 久热91| renrencaoni| 亚洲日韩久久婷婷伊人| 久久精品性爱| 69热在线| 五月婷婷很很色| 日日噜狠狠色综合久| 色情久久久| 91狠狠综合久久| 天天综合亚洲综合| 99久久久久久www| 五月丁香免费看| 激情五月婷婷啪啪| 海外网站专业操老外| 一本久道综合色婷婷五月| 夜夜躁狠狠 | 欧美色综合天天久久综合精品| 亚洲另类婷婷五月综合| 日日操夜夜操无码免费| 激情丁香五月| 五月激情小说网| 久久婷婷伊人| 日韩野外 无套| 激情五月婷| 天天插天天很| 国产操B视频| 大香蕉在线观看9| 91狠狠综合网| 天天综合干| 久久99日本精品视频免费观看| AV在线大香蕉| 婷婷五月婷婷五月天| av在线免费网站 | 五月丁香婷婷综合| 五月丁香WWW| 狠狠久综合| 国产成人综合网| 日屌日日操日日色| 丁香婷婷五月激情综合| 九九99在线| www.99热| 丁香婷婷五月六月久久| 99视频这里只有久久精品| 综合久久高清| 九九精品9| 99这里只有精品|v| 99久久五月婷婷| 热久久思思热思思| yellow视频在线观看91| 婷婷9月天| 色五月激情婷婷| 天天综合社区| 99er免费在线观看| 伊人婷婷大香蕉| 精品热九九| 五月激情综合网| 婷婷成人五月天| 这里只有国产精品在线| 玖玖在线视频福利| 丁香五月婷婷综合91| 成人无码精品1区2区3区免费看| 久久亚洲无码| 婷婷五月天激情五月天深爱五月天| 久久丁香婷婷五月天| 99色日本| 伊人激情网| 国产黄大片在线观看画质优化| 激情久久久久| 开心五月婷婷| 思思热久热| 久久婷婷五月综合色播| 中文字幕丰满乱孑伦无码专区 | 五月激情啪啪| 久久五月天视频| 婷婷五月天激情诱惑| 很操日本7| www。五月天激情| 亚洲成人超碰| 人人搡人人| 人妻在线观看视频| 99在线精品免费视频| 五月色影院| 九九综合伊人| 久99在线视频| 2020日日干| 色亭亭五月天丁香综合AV - 百度 - 百度| 婷婷丁香激情| 丁香婷五月| 狠狠狠狠免费| 六月婷婷五月丁香首页| 欧美A级网站| 中文无码婷婷| 狠狠久久婷五月| 久Se视频在线观看| 天天插天天射天天干| 精品国产a| 日操夜操天天操不卡| 成人国产欧美大片一区| 中文字幕日产A片在线看| 老司机日日夜夜青草| 超碰免费成人| 五月天社区| 成人片在线播放| 久久五月丁香婷婷| 丁香婷婷久久| 性爱视频99| 啪啪啪大香蕉| 人人摸人人摸| 这里只有精品久久| 丁香五月色情| 国产欧美熟妇另类久久久| 国产67194| 久热这里| 国产性av| 婷婷五月丁香色色| 日本三级色| 婷婷成人在线| 台湾无码A片一区二区| 亚洲性爱电影| 久久激情五月| 99在线观看视频精品| 99在线观看这里都是精品| 四川BBB搡BBB搡多人乱亂| 免费视频WWW在线观看网站| 婷婷五月花| 99热人人艹| 久久无意婷婷| 超碰资源在线| 五月丁香综合啪啪| 26UUU亚洲欧美| 这里只有精品视频在线看| 深爱激清网| 五月丁香婷婷视频| 另类视频一区| 少妇AB又爽又紧无码网站| AV在线不卡播放| WWW久久99久久99久久| 99九精品| 丁香五月天无码AV| 亚洲AAAA网| 日本人人xxx| 亚洲99综合| 亚洲超碰在线| 亚洲日比视频| 影视av久久久噜噜噜噜噜三级| 激情五月综合网| 五月婷婷色播网| 六月丁香色婷婷| 超碰在线观看9| 天天干,天天日| 色婷婷呢狠禁久禁| 午夜婷婷久久 | 在线观看欧美| 国产永久一二一起草| SS丁香五月婷婷| 欧洲色| 这里只有精品久久| 色五月婷婷丁香凹凸| 任你搞网站| 丁香五月日啪| 深爱五月婷婷| av中文在线| 丁香婷婷老司机久操| 91在线日| 激情综合五月色丁香婷婷| 91九色国产熟女| 五月综合激情| 日韩在线成人电影| 亚洲精品乱码久久久久久综合| 丁香六月无码播放| 深爱激情五月网| 色五月综合网站| 亚洲中文字幕网| 天天爽夜夜爽天天爽夜夜爽| 丁香六月婷婷开心| 亚洲传媒在线观看| 久久99免费视屏| 天堂草在线看www| 99精品免费视频| 月丁香久久久| 丁香婷婷丁香五月欧美人| 欧美这里只有精品| 四LLL少妇BBBB槡BBBB| 五月激情射| 色亭亭五月天网扯| 人妻视频在线| seuuu婷婷| 五月丁香六月婷| 五月婷婷色激情| 丁香五月天堂网| 婷婷玖玖丁香| 成人网丁香五月| 超碰亚洲天堂| 开心五月婷婷综合在线精品素人| 午夜 外网 精品 在线| 欧洲一区二区| 丁香婷婷五月综合欧美另类| 天天草人人摸| 99久精品视频| 久久久久久久,99精品视频| 五月花综合网| 婷婷五月色综合| 婷婷丁香五月综合久久| 激情啪啪五月天| 丁香五月综合激情啪啪| 亚洲av成人一区二区电影在线| 激情q青青草在线婷婷| 亚洲激情综合| 一级黄色片看看| 色婷婷视频| 大香网伊人久久综合| 成人短视频免费| 亚洲五月天狠狠| 狠狠狠狠狠狠| 秋霞性爱AV| www.99热精品| 婷婷五月综合免费在线| 操逼123网| 九九热最新| 色婷婷亚洲| 天天天在线观看| 91亚洲视频| 婷婷激情丁五月| 五月婷婷六月天| 婷婷的久久网站| 69色婷婷| 超碰京东热av男人的天堂| 99re26视频| 激情丁香五月| 五月天激日本色情在线| 亚洲婷婷免费| 中文字幕在线免费观看视频| 六月婷婷色色色| 国产免费一区二区三州老师F1F1……| 亚洲国产va| 五月美女婷婷风骚 | 色五月激情综合网站| 呦呦视频无码播放| 久久久天堂国产精品女人| 玖玖在线资源视频| 操91| 精品国产va久| 97色吧| 激情五月六月婷婷综合啪啪| 97色色视频| 久久杏爱视频| 99热这里有精品| 亚洲精品欧洲精品| 最近中文字幕大全免费版在线| 色婷婷中文字母五月丁香| 免費亭亭成人| 五月综合激情网| ss五月天激情| 最近免费中文字幕大全高清大全1| 五月婷婷中字在线| 丁香网站| 国产精品色色色色| 五月婷婷丁香日韩在线| 天天天天天天天操| 中文婷婷狠狠| 色五月综合在线| 十区av| 玖玖婷婷五月| 激情九月综合| 99热在线播放| 婷婷五月天激情在线观看| 少妇AB又爽又紧无码网站| www.久久五月天.com| 中文字幕无码AV| 狠狠插狠狠| 五月婷视频在线观看| 欧美五月婷婷| 99九九热在线观看| 99网| 2020夜夜操天天爽| 激情婷婷护士激情| 26uuu国产| 色综合区| 久久免费精彩视频| 五月综合激情视频| 色婷婷人人| 99久久精品国产色欲| 日韩黄黄| 久久99国产综合精品免费| 一级A片天天操夜夜操| 色约约视频一区二区三区四区五区 | 色五月激情问网站| 天天插操| 丁香五月成人婷婷| 久久久中文| 精品无码久久久久久久久| 伊人久久五月天| 六月激情丁香一道本7777| 亚洲综合视频在线| 丁香久色| 亚洲乱啪| 99久久6| renre人人操国产超碰在线| 激情网色五月| www超碰| 五月天天天开心激情网| 久热精品9999| 欧美va视频| 五月丁香婷婷综合激情基地| www.九九婷婷| 99碰碰| 亚洲五月综合色播| 色婷婷啪啪| 亚洲国产精品VA在线看黑人| 婷婷丁香五月天狠狠| 丁香密臀AV激情网| 91丨九色丨大屁股| 婷婷播5月| 久久精彩综合视频| 日本综合九九| 亚洲精品成人| 青青草六月丁香| 亚洲婷婷五月| 午夜天堂一区人妻| 六月份天丁香婷婷| 婷婷五月 丁香六月| 综合一啪| 五月丁香婷婷色| 久久金品黃色| 激情婷婷内射| 操婷婷基地| 九九久久综合| 丁香婷色| 五月婷婷黄色网址| 激情四射五月天| 五月天婷婷深深爱| 国产67194| 婷婷五月天大香蕉在线视频观看| 五月天色丁香| 五月天综合视频| 天天天操天天天爰| 日本99视频精品免费播放| 亚洲综合激情五月久久| 激情网五月天| 日日做天天操夜夜爽| 久久久999精品| 丁香亚洲色综合| 九九色婷婷| 大香蕉伊人爱在线| 五月涩涩网| 婷婷五月天成人在线视频| 激情婷婷五月综合| 99久久国产宗和精品1上映| www.五月天婷婷| 嫩草AV久久伊人妇女超级a| 色人久久| 日韩久综合| 婷婷激情五月呦呦| 狠狠五月天| 午夜婷婷久久| 免费视频这里只有精品| 涩综合在线| 色狠狠色综合久久久绯色AⅤ影视| 91妻人人爽人人看片| 这里只有精品视频99| 噜噜狠狠色综无码久久合欧美| 五月天婷婷丁香花| 婷婷五月天成人在线视频| 97热九九| 久久婷鲁| 又大又粗九一在线| 亚洲综合色婷婷| 另类图片激情五月| 夜夜干夜夜操| 天天五月情| 色狠狠六月| 这里只有精品日韩| 亚洲AV日韩无码| 久久图色4| 99在线资源视频| 色五月激情五月| 天天玩夜夜操| 熟女激情网| 天天日天天色| 婷婷综合精品视频97| 韩国婷婷丁香五月| 久久黄色网扯| 99惹在线精品免费观看| 色婷婷免费视频| 激情九色| 色原狠狠综合| 伊人激情网| 99热8在线| 天天揷综合网| 中文字幕丰满孑伦无码专区| 色五月网址| 婷婷五月天成人网| 97热这里只有精品| 丁香五月成人| 丁香婷婷啪啪| 成人av中文字幕| 色婷婷六月天| 久久大香蕉同僚| 婷婷大乡焦噜噜| 狠狠爱婷婷丁香| 黄网免费看| 99热国内精品| 超碰超碰在线| 激情丁香婷婷| 婷婷亚洲综合| 丁香五月天啪啪| 色五月大香蕉| 久久九九怡红院| 天堂AV三级| www。狠狠干。com| 国产夫妻操逼内射视频| 色婷婷婷婷成人网| 亚洲婷婷婷| 91精品国产综合久久密臀| 深爱激情网噜噜色| 开心五月色婷婷综合开心网| 色久激情在线| 五月天婷婷丁香社区| 亚洲综合丁香五月天| 丁香六月婷婷综合啪啪| 色爱亚洲| 九九视屏| 97香蕉碰碰人妻国产欧美| 午夜五月天| 亚洲综合五月天| 久久九九99| 99年操人人爽| 丁香五月婷婷五月基地| 色综合久久88色综合天天| 丁香花操逼| 全高清无码视頻| 这里只有精品免费在线视频| 五月丁香色婷婷伊人| 婷婷五月综合欧美在线播放| 5月婷婷激情6月| 丁香五月色欲| 九九99热| 99re思思热久久| 图片区 小说区 区 亚洲五月| 成人国产欧美大片一区| 99视频热99| 麻豆精品| 色色色999| 五月婷婷就去色| 看国产探花操逼三级片| 五月欧美丁香在线观看| 无码人妻电影| 婷婷激情五月| 五月成人丁香av91| 欧美啪啪五月天| 久久色婷婷| 一根材五月婷成人| Www,五月天| 亚洲成人av在线| 五月天婷婷色色| 狠狠色中色| 91操片| 四五月婷婷| 五月婷婷亚洲色视频| 久久激情视频| 51精品国自产在线| 麻豆精品| 99精品视频免费在线播放| 99只有这里是精品| 五月婷婷激情| 99热超碰| 欧美男女婷婷| 就要爱综合| 人人草人人爱手机视频看看| 99九九在线视频| 亚洲色五月| 五月丁香久久婷| 婷婷丁香五月天婷婷| 蜜臀嫩草| 综合色情网| 影音先锋 萱萱| 色噜噜夜夜夜综合网| 五月丁香六月婷婷亚洲激情综合| WWW.婷婷| 久操婷婷| 正宗黄色毛片| 99热国产国产| 四色五月婷婷| 激情婷婷丁香| 亚州综合色| 五月天另类综合网| 久久曰曰| 亚洲色色香蕉| 丁香激情网| 人人干人人操外国| 天堂爱爱| 欧美 日韩 成人| 色伦专区97中文字幕| 超碰在线中文字幕| 噜噜噜噜在线| 99热国产精品| 香港九九六区八区99| 热99国产精品| 激情五月天激情五月天| 婷婷久久五月| 婷婷五月丁香色综合| 99re在线观看视频| 色色色地址| 久久免费高| 五月天激情综合在线| 激情五月色播五月| 亚洲乱码日产精品BD| 国产综合婷婷| WWW.99热| 99热这里是精品| 超碰男人色| 有哪些A片网站| 天天干天天干天天| 丁香色综合| 天天摸色吧天天摸色吧| 亚洲久热| 狠狠色狠狠| 思思热久热| 成人国产欧美大片一区| 五月天激情四射| 激情丁香五月婷婷| 日韩在线视频9色| 免费视频舔| 强伦轩人妻一区二区电影| 九九九九九九热| 操操操av| 大香蕉综合| 色五月婷婷1| 99视频只有这里精品| 成人精品视频99在线观看免费| Av大香蕉| 婷婷色啪| 五月婷婷九九久久| 性生活久久人妻| 国产69久久久欧美黑人A片| 热中文字幕| 日本美女上人| 婷婷五月丁香香蕉| 天堂草在线观看| 丁香伍月婷电影全集| 99视频久久免费视频| 啪啪综合网| 五月 成人 婷婷| 99爱视频在线观看| 大大香蕉综合在线| 思思热再线视频| 日本不卡高字幕在线2019| 538午夜激情| 激情婷婷色色| 国产精品99久久久久久猫咪| 日日夜夜狠狠| 九色porny在线观看激情四射| caopeng97日韩| 极品少妇XXXX精品少妇偷拍| 黄色大片又大粗又爽| 色婷婷久久久| 婷婷五月综激情| 色婷婷五月综合在线| 六月婷婷视频| 99热这里只有精品99| 激情婷婷网| 色亭亭五月天丁香综合AV - 百度 - 百度| 超碰人人在线观看| 天天日天天日天天搞| www.91五月| 一本伊人色婷| 久久九九热38| 五月婷综合网| 抽插特写| 久久人妻伊人| 久久人视频| 日本色综合| 亚洲婷婷婷| 人人97碰| 五月香婷婷| 亚洲视频99| 欧美丁香婷婷天天操| www.91久久| 婷婷爱综合| www.97视频| 99成人小视频| 玖玖热99| 亚洲婷婷久久综合| 超碰在线人人| 俺去也婷婷| 包操45分钟网站| 99精品国产在热久久| 呦呦视频无码播放| 激情五月天.色网| 婷婷色正月| av在线免费网站 | 最新国产AV| 夜夜干 夜夜操| 亚洲碰碰碰| 五月婷婷激情久久| 六月丁香五月激情亚洲AV| 久久精品99国产精品日本| 国际国外精品欧洲南美洲专区无码不卡| 五月丁香亭亭电影久久| 天天日日综合| 91精产一区三区免费观看| www.色五月.com| 五月天国产成人| 夜精品无码A片一区二区蜜桃| 五月丁香婷中文字幕 | 99热这里只要精品免费| 操婷婷基地| 91久久综合亚洲鲁鲁五月天| 色吧五月| 国产精品久久久久久妇女6080| 好激情在线综合网| 久热久操久热久草国产91| 激情综合婷婷| 婷婷丁香一月| 六月婷在线| 综合色99| 丁香伊人综合| 激情婷婷综合网| 婷婷99狠狠躁天天躁| 四虎婷婷五月天| 五月婷丁香久久综合| 久久东京热婷婷五月| 99rewww| 日韩精品呦呦va| 综激情网| 色婷婷丁香五月观看| WWW久久99久久99久久| 97干欧美| 一二三区视频韩国| 天天综合91入口| 五月天色不卡| 开心五月激情婷婷| 狠狠狠狠狠干| 国产精品第一国产精品| 天天天操天天天日| 色婷婷免费观看| 99ER热精品视频| 色婷五月天| 少妇日麻屄| 天堂亚洲 在线| 日韩啊啊啊| 激情小说视频图片| 亚州精品色情无码A片| 97啪在线观看视频| 亚洲六月婷婷| 26uuu91| 五月婷婷综合久久| 国产毛片精品一区二区色欲黄A片| 五月亭亭网成人在线视频| 操操操www.com| 一区二区传媒视频| 99综合免费视频| 色噜噜五月天| 久热这里这里有精品| 亚洲免费视频网站| 丁香五月综合| 天天日日夜夜| 激情综合网,婷婷五月天| 超碰电影在线播放| 1024亚洲无码| 精品久久99| 99热免| 亚洲色色图片| 成人中文字幕在线| 人人摸人人操人人爱| 五月天丁香综合| 色天天综合| 九九国产精视频| 色色色色色色五月婷婷| 丁香五月激情综合| 91人人操人人爱| 天天做天天爱天天玩夜夜爽| 五月天色色激情综合| 久久久婷婷色五月资源网| www久久久| 99热久草| 五月丁香操亭亭网| 婷婷在线操| 日本久久婷| 色丁香五月婷婷综合久久| 五月天伊人| 色五月91| 激情五月天社区| 这里只有九九精品| 五月丁香激情片| 五月丁香花视频| 色色色1网址| 国精产品一区一区三区免费视频| www久久99| 五月天精品| 色丁香婷婷| 五月婷婷丁香伦理网| 91婷婷| 美女精品一级不卡视频| 国产探花一片区| 丁香五月天成人| 精品色色| 日本色色色| 丁香九月综合激情| 婷婷五月情| VfJxEwPH| 五月成人网天天| 色天天综合色|