免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

R語(yǔ)言實(shí)現(xiàn)LSTM時(shí)間序列預(yù)測(cè):從數(shù)據(jù)預(yù)處理到模型調(diào)優(yōu)

R語(yǔ)言實(shí)現(xiàn)LSTM時(shí)間序列預(yù)測(cè):從數(shù)據(jù)預(yù)處理到模型調(diào)優(yōu) 我自己的項(xiàng)目經(jīng)歷里有相當(dāng)一部分時(shí)間是在跟時(shí)間序列數(shù)據(jù)打交道。早幾年做水文預(yù)報(bào)平臺(tái)時(shí)團(tuán)隊(duì)里Python用得比較多LSTM做徑流預(yù)測(cè)的教程一搜一大把但換到R語(yǔ)言環(huán)境就開(kāi)始抓瞎。后來(lái)我在R里完整跑通了LSTM的建模流程從數(shù)據(jù)變換到模型訓(xùn)練再到預(yù)測(cè)評(píng)估全程沒(méi)離開(kāi)RStudio才發(fā)現(xiàn)R這套生態(tài)其實(shí)被低估了。這篇東西就從一個(gè)實(shí)際做過(guò)R語(yǔ)言LSTM建模的人的角度把整個(gè)流程從頭到尾拆開(kāi)講一遍。內(nèi)容包括R語(yǔ)言里做LSTM有哪幾條技術(shù)路線、時(shí)間序列數(shù)據(jù)怎么處理成LSTM能吃的格式、模型結(jié)構(gòu)怎么搭、訓(xùn)練參數(shù)怎么調(diào)、常見(jiàn)的坑有哪些最后用一個(gè)水文徑流預(yù)測(cè)的案例串起全部步驟。適合在R里頭做數(shù)據(jù)分析、但想往深度學(xué)習(xí)方向邁一步的朋友也適合那些已經(jīng)在Python里寫(xiě)過(guò)LSTM、想了解R這邊對(duì)應(yīng)方案的人。1. R語(yǔ)言做LSTM先摸清楚技術(shù)路線別一上來(lái)就寫(xiě)代碼1.1 LSTM到底在解決什么問(wèn)題長(zhǎng)短期記憶網(wǎng)絡(luò)Long Short-Term Memory, LSTM屬于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN的一個(gè)變種1997年由Hochreiter和Schmidhuber提出。普通RNN處理長(zhǎng)序列時(shí)有一個(gè)很要命的問(wèn)題反向傳播過(guò)程中梯度會(huì)反復(fù)相乘導(dǎo)致梯度消失或梯度爆炸網(wǎng)絡(luò)根本記不住太久之前的信息。LSTM引入了一種叫“門(mén)控機(jī)制”的結(jié)構(gòu)通過(guò)遺忘門(mén)、輸入門(mén)、輸出門(mén)來(lái)控制信息的保留與丟棄相當(dāng)于給網(wǎng)絡(luò)加了一個(gè)可學(xué)習(xí)的記憶系統(tǒng)。我用一個(gè)生活化的類(lèi)比解釋一下。普通RNN像一個(gè)記性不太好的門(mén)衛(wèi)只記得上一個(gè)訪客來(lái)過(guò)再往前的信息基本忘光了。LSTM像一個(gè)帶筆記本的門(mén)衛(wèi)每來(lái)一個(gè)人他會(huì)決定哪些信息要寫(xiě)進(jìn)本子、哪些信息要?jiǎng)澋?、哪些信息要告訴下一個(gè)值班的人——這個(gè)“決定”是網(wǎng)絡(luò)訓(xùn)練出來(lái)的不是我們手動(dòng)寫(xiě)死的。在時(shí)間序列預(yù)測(cè)場(chǎng)景里這種能力非常重要。比如水文徑流預(yù)報(bào)今天的水位不僅跟昨天的降雨有關(guān)還跟一周前甚至一個(gè)月前的土壤含水量、前期降雨有關(guān)。LSTM能夠從數(shù)據(jù)中自己學(xué)會(huì)這種跨時(shí)間的依賴(lài)關(guān)系這是它比傳統(tǒng)ARIMA、SARIMA模型強(qiáng)勢(shì)的地方。除此之外LSTM在文本情感分析、語(yǔ)音識(shí)別、電力負(fù)荷預(yù)測(cè)等領(lǐng)域都有成熟應(yīng)用原理是相通的都是處理帶順序關(guān)系的數(shù)據(jù)。1.2 R語(yǔ)言實(shí)現(xiàn)LSTM的三條路線對(duì)比R語(yǔ)言里做LSTM正經(jīng)可用的路線有三條我簡(jiǎn)單列個(gè)表做個(gè)對(duì)比。技術(shù)路線底層后端上手難度適合場(chǎng)景維護(hù)狀態(tài)keras包 TensorFlowPython TensorFlow通過(guò)reticulate橋接中等通用深度學(xué)習(xí)LSTM/CNN/Transformer都能做維護(hù)活躍社區(qū)資料多torch包luz封裝libtorchC通過(guò)Rcpp調(diào)用偏高更靈活的動(dòng)態(tài)圖研究場(chǎng)景維護(hù)活躍但資料相對(duì)少RSNNS包SNNS斯圖加特神經(jīng)網(wǎng)絡(luò)模擬器低教學(xué)演示、簡(jiǎn)單網(wǎng)絡(luò)基本停滯不推薦在生產(chǎn)中使用我個(gè)人的建議是如果你不是專(zhuān)門(mén)研究深度學(xué)習(xí)框架底層的優(yōu)先選keras路線。原因有幾個(gè)。第一keras是最成熟的高層API寫(xiě)LSTM模型的代碼量非常少幾個(gè)函數(shù)就能把網(wǎng)絡(luò)堆出來(lái)跟Python里的Keras用法幾乎一一對(duì)應(yīng)網(wǎng)上Python教程里的思路基本都能照搬到R里。第二keras底層是TensorFlow訓(xùn)練性能有保障RNN、LSTM、GRU這些常用層都是現(xiàn)成的。第三踩坑時(shí)好排查——報(bào)錯(cuò)信息能對(duì)上號(hào)社區(qū)討論多很多問(wèn)題一搜就有答案。torch路線我也試過(guò)適合需要自定義網(wǎng)絡(luò)結(jié)構(gòu)、做研究型實(shí)驗(yàn)的場(chǎng)景靈活性更高但你要接受它的API設(shè)計(jì)跟R語(yǔ)言風(fēng)格差異較大學(xué)習(xí)成本明顯高一個(gè)檔次。RSNNS我就直接跳過(guò)了十幾年前的產(chǎn)物對(duì)現(xiàn)代深度學(xué)習(xí)需求的支持幾乎為零除非是課程作業(yè)強(qiáng)制要求否則不建議浪費(fèi)時(shí)間。1.3 選擇keras之前需要理解的一層“橋接”R里面用keras不是純R實(shí)現(xiàn)它底層是通過(guò)reticulate包去調(diào)用Python環(huán)境里的TensorFlow。這意味著你的電腦上必須先有一個(gè)可用的Python環(huán)境并且在這個(gè)環(huán)境里安裝好TensorFlow。很多初學(xué)者在這步就被卡住了因?yàn)镽和Python之間的環(huán)境關(guān)系沒(méi)理順。我用一個(gè)比方來(lái)解釋R里的keras包相當(dāng)于一個(gè)“遙控器”它本身不干活真正干活的是Python那邊的TensorFlow“電視”。reticulate負(fù)責(zé)把兩者連接起來(lái)。你按遙控器上的按鈕實(shí)際上是R先把指令翻譯給PythonPython再驅(qū)動(dòng)TensorFlow做計(jì)算。理解了這一層很多環(huán)境問(wèn)題就豁然開(kāi)朗了。比如報(bào)錯(cuò)說(shuō)找不到TensorFlow那極大概率是reticulate連到了一個(gè)沒(méi)有安裝TensorFlow的Python環(huán)境上。解決辦法也很直接要么在R里顯式指定要用哪個(gè)Python要么直接用install_keras()函數(shù)自動(dòng)創(chuàng)建并配置一個(gè)專(zhuān)門(mén)的虛擬環(huán)境。這個(gè)配置過(guò)程我在后面會(huì)詳細(xì)演示。2. 建模前的關(guān)鍵準(zhǔn)備把原始時(shí)間序列變成LSTM能吃的數(shù)據(jù)2.1 數(shù)據(jù)預(yù)處理歸一化不能省LSTM這類(lèi)基于梯度下降的神經(jīng)網(wǎng)絡(luò)對(duì)輸入數(shù)據(jù)的尺度非常敏感。如果某個(gè)特征的取值范圍是0到1另一個(gè)特征的范圍是幾千到幾萬(wàn)訓(xùn)練時(shí)梯度更新會(huì)被大數(shù)值的特征主導(dǎo)模型很難收斂訓(xùn)練過(guò)程也會(huì)異常緩慢。在時(shí)間序列預(yù)測(cè)里最常見(jiàn)的處理方式是min-max歸一化把數(shù)據(jù)壓到0到1之間。公式很簡(jiǎn)單[ x \frac{x - x_{min}}{x_{max} - x_{min}} ]在R里實(shí)現(xiàn)也就是幾行代碼的事# 假設(shè)你的原始序列存在 data$value 這一列 min_val - min(data$value, na.rm TRUE) max_val - max(data$value, na.rm TRUE) data$scaled - (data$value - min_val) / (max_val - min_val)這里有一個(gè)特別關(guān)鍵的細(xì)節(jié)歸一化的時(shí)候用到的最大值和最小值只能從訓(xùn)練集里計(jì)算不能把測(cè)試集也算進(jìn)去。原因很簡(jiǎn)單如果用到了測(cè)試集的信息你在訓(xùn)練階段就“偷看”了考試答案評(píng)估出來(lái)的模型效果會(huì)虛高到了真實(shí)應(yīng)用場(chǎng)景立刻原形畢露。正確做法是先切分?jǐn)?shù)據(jù)再用訓(xùn)練集的min和max分別歸一化訓(xùn)練集、驗(yàn)證集和測(cè)試集后面做預(yù)測(cè)時(shí)也要用訓(xùn)練集的min和max來(lái)反歸一化。2.2 滑動(dòng)窗口把一列數(shù)變成“過(guò)去→未來(lái)”的樣本對(duì)LSTM不直接吃一列原始數(shù)字它吃的是“一個(gè)時(shí)間窗口的特征序列”和“對(duì)應(yīng)的目標(biāo)值”。這個(gè)概念初學(xué)者最容易繞暈我詳細(xì)展開(kāi)一下。假設(shè)我們有一天的日徑流數(shù)據(jù)一共365天。我們?cè)O(shè)定用過(guò)去10天的徑流來(lái)預(yù)測(cè)今天第11天的徑流。那么窗口大小為10整個(gè)數(shù)據(jù)集就被拆成一系列樣本樣本1第1~10天作為輸入第11天作為輸出樣本2第2~11天作為輸入第12天作為輸出樣本3第3~12天作為輸入第13天作為輸出以此類(lèi)推……這個(gè)過(guò)程相當(dāng)于把“時(shí)間序列預(yù)測(cè)”問(wèn)題重構(gòu)成了“監(jiān)督學(xué)習(xí)”問(wèn)題。R里自己寫(xiě)一個(gè)構(gòu)造函數(shù)也不復(fù)雜# 將一列數(shù)值序列轉(zhuǎn)換為監(jiān)督學(xué)習(xí)格式 create_windows - function(data, lookback 10) { x - list() y - c() for (i in 1:(length(data) - lookback)) { x[[i]] - data[i:(i lookback - 1)] y[i] - data[i lookback] } x - do.call(rbind, x) y - as.matrix(y) list(x x, y y) } result - create_windows(data$scaled, lookback 10)這里有個(gè)需要思考的邏輯為什么叫“預(yù)測(cè)第11天”而不是“預(yù)測(cè)第1天”因?yàn)槲覀兊哪繕?biāo)是用已知的歷史去推斷未知的未來(lái)窗口構(gòu)造天然就把數(shù)據(jù)切成了這種“過(guò)去→未來(lái)”的樣本對(duì)。2.3 LSTM輸入的三維數(shù)組新手最容易懵在R里用keras訓(xùn)練LSTM輸入數(shù)據(jù)必須是三維數(shù)組維度分別是(樣本數(shù), 時(shí)間步長(zhǎng), 特征數(shù))。前一步構(gòu)造的x矩陣是二維的形狀為(樣本數(shù), lookback)需要再加一個(gè)維度。很多人在這里犯迷糊我拆開(kāi)解釋一下。以剛才的徑流數(shù)據(jù)為例樣本數(shù)就是滑動(dòng)窗口一共生成了多少個(gè)樣本時(shí)間步長(zhǎng)就是lookback即10特征數(shù)代表每個(gè)時(shí)間點(diǎn)上用幾個(gè)變量如果只用徑流這一個(gè)變量特征數(shù)就是1。代碼如下# 把二維的(樣本數(shù), 時(shí)間步長(zhǎng)) 變?yōu)槿S的(樣本數(shù), 時(shí)間步長(zhǎng), 特征數(shù)) x_array - array(result$x, dim c(nrow(result$x), lookback, 1))這一步做完數(shù)據(jù)形態(tài)就對(duì)了。如果你的預(yù)測(cè)任務(wù)涉及多個(gè)輸入特征比如降雨量、氣溫、蒸發(fā)量等那特征數(shù)就是對(duì)應(yīng)的變量個(gè)數(shù)這需要在構(gòu)造窗口時(shí)就把多個(gè)變量的歷史值一起放進(jìn)去。2.4 訓(xùn)練集、驗(yàn)證集、測(cè)試集的劃分時(shí)序數(shù)據(jù)的特殊規(guī)矩分類(lèi)問(wèn)題里我們可以把數(shù)據(jù)隨機(jī)打亂然后按比例分成訓(xùn)練集、驗(yàn)證集和測(cè)試集。但時(shí)間序列數(shù)據(jù)絕對(duì)不能這么干——一打亂時(shí)間順序就沒(méi)了模型會(huì)拿未來(lái)數(shù)據(jù)去預(yù)測(cè)“過(guò)去”評(píng)估結(jié)果看起來(lái)好得不真實(shí)實(shí)際應(yīng)用時(shí)崩得一塌糊涂。正確做法是嚴(yán)格按時(shí)間先后順序切分。比如有1000天的數(shù)據(jù)我會(huì)切成前700天訓(xùn)練中間150天驗(yàn)證最后150天測(cè)試。這樣做的好處是驗(yàn)證集和測(cè)試集都是模型從未見(jiàn)過(guò)的“未來(lái)”與真實(shí)部署場(chǎng)景一致。我自己的習(xí)慣是“先切分、再歸一化、最后構(gòu)造窗口”。切分要在歸一化之前完成原因上一節(jié)已經(jīng)說(shuō)過(guò)——?dú)w一化參數(shù)只能來(lái)自訓(xùn)練集。構(gòu)造窗口可以在歸一化之后做兩者順序不影響結(jié)果只要記得最終模型輸入是三維數(shù)組就行。3. 核心實(shí)操在R里用keras搭建并訓(xùn)練LSTM模型3.1 環(huán)境安裝一條龍配置keras TensorFlow在R里配置keras環(huán)境我建議按下面這個(gè)順序操作每一步都別跳。# 第1步安裝兩個(gè)核心R包 install.packages(keras) install.packages(tensorflow) # 第2步讓R自動(dòng)創(chuàng)建TensorFlow環(huán)境 # 這個(gè)函數(shù)會(huì)檢查本機(jī)Python環(huán)境按需創(chuàng)建一個(gè)專(zhuān)用于Keras的虛擬環(huán)境 library(keras) install_keras()第2步的執(zhí)行時(shí)間取決于你的網(wǎng)絡(luò)狀況經(jīng)常會(huì)持續(xù)十幾分鐘甚至更久因?yàn)橐螺dTensorFlow的依賴(lài)庫(kù)。裝完之后用一行代碼驗(yàn)證是否成功library(keras) # 如果能打印出版本信息說(shuō)明環(huán)境已經(jīng)就緒 tensorflow::tf_version()如果這條命令報(bào)錯(cuò)最常見(jiàn)的三種情況分別是找不到Python、Python環(huán)境里沒(méi)有TensorFlow、以及reticulate連接到了錯(cuò)誤的Python環(huán)境。我的排查習(xí)慣是先檢查reticulate當(dāng)前用的是哪個(gè)Pythonreticulate::py_config()看到這個(gè)輸出里列出了Python路徑和已安裝包列表問(wèn)題就好定位了。如果python路徑不是你預(yù)期的可以用reticulate::use_python()強(qiáng)制指定。3.2 模型架構(gòu)設(shè)計(jì)與參數(shù)選擇邏輯R的keras包構(gòu)造一個(gè)LSTM模型代碼非常優(yōu)雅。以一個(gè)單變量時(shí)間序列預(yù)測(cè)任務(wù)為例下面的代碼搭建了一個(gè)最基礎(chǔ)的LSTM網(wǎng)絡(luò)library(keras) model - keras_model_sequential() %% layer_lstm(units 64, activation tanh, return_sequences TRUE, input_shape c(lookback, 1)) %% layer_dropout(rate 0.2) %% layer_lstm(units 32, activation tanh) %% layer_dropout(rate 0.2) %% layer_dense(units 1) model %% compile( optimizer adam, loss mse, metrics c(mae) ) model逐個(gè)參數(shù)拆解一下背后的邏輯。units表示LSTM隱層神經(jīng)元的數(shù)量。這個(gè)參數(shù)沒(méi)有絕對(duì)公式屬于典型的“調(diào)出來(lái)的經(jīng)驗(yàn)值”。一般經(jīng)驗(yàn)是數(shù)據(jù)量小、任務(wù)簡(jiǎn)單unit可以設(shè)小一些比如16或32數(shù)據(jù)量大、序列復(fù)雜可以嘗試64或128。我見(jiàn)過(guò)很多人一上來(lái)就把units設(shè)成256或者512結(jié)果訓(xùn)練很慢還嚴(yán)重過(guò)擬合。深度學(xué)習(xí)里有個(gè)原則模型的容量跟任務(wù)復(fù)雜度匹配就好不是越大越好。activation tanh是LSTM層的默認(rèn)激活函數(shù)一般不輕易改。LSTM的數(shù)學(xué)設(shè)計(jì)里候選記憶單元使用tanh是經(jīng)過(guò)理論論證的把輸出壓縮到-1到1之間有助于維持梯度穩(wěn)定。return_sequences這個(gè)參數(shù)最關(guān)鍵它決定這一層LSTM輸出的是完整序列還是最后一個(gè)時(shí)間步的輸出。如果后面還要接LSTM層那前一層的return_sequences必須設(shè)為T(mén)RUE否則兩層LSTM之間數(shù)據(jù)形狀對(duì)不上。如果是最后一層LSTM后面接全連接層輸出預(yù)測(cè)值那就不需要返回序列。layer_dropout(rate 0.2)表示隨機(jī)丟棄20%的神經(jīng)元輸出防止過(guò)擬合。dropout是深度學(xué)習(xí)里最常用的正則化手段我一般會(huì)加在LSTM層之間。layer_dense(units 1)是輸出層因?yàn)檫@是一個(gè)回歸任務(wù)——預(yù)測(cè)一個(gè)連續(xù)的徑流值所以輸出是1個(gè)神經(jīng)元不加激活函數(shù)即線性激活。損失函數(shù)用mse均方誤差這是回歸任務(wù)的標(biāo)配。3.3 訓(xùn)練過(guò)程與回調(diào)函數(shù)讓模型自己“踩剎車(chē)”模型搭好之后訓(xùn)練環(huán)節(jié)有一些值得講究的地方。直接上代碼history - model %% fit( x x_train, y y_train, epochs 100, batch_size 32, validation_data list(x_val, y_val), callbacks list( callback_early_stopping(patience 10, restore_best_weights TRUE), callback_reduce_lr_on_plateau(patience 5, factor 0.5) ), verbose 1 )epochs是訓(xùn)練的總輪數(shù)我通常不會(huì)硬性設(shè)定一個(gè)固定值而是配合early stopping來(lái)動(dòng)態(tài)停。callback_early_stopping會(huì)在驗(yàn)證集損失連續(xù)10個(gè)epoch都沒(méi)有下降時(shí)自動(dòng)停止訓(xùn)練并恢復(fù)到驗(yàn)證集表現(xiàn)最好的那組權(quán)重。這個(gè)策略非常實(shí)用可以避免你死等幾百個(gè)epoch。callback_reduce_lr_on_plateau是個(gè)更聰明的優(yōu)化器策略當(dāng)驗(yàn)證損失5個(gè)epoch不下降時(shí)把學(xué)習(xí)率乘以0.5。深度學(xué)習(xí)的經(jīng)驗(yàn)法則之一是訓(xùn)練后期損失曲線進(jìn)入了平臺(tái)期調(diào)小學(xué)習(xí)率往往能繼續(xù)下降。這個(gè)回調(diào)相當(dāng)于自動(dòng)幫你做這件事。batch_size是一次喂給模型多少樣本。這個(gè)參數(shù)受內(nèi)存限制32是保守值數(shù)據(jù)量大時(shí)可以嘗試64或128。小batch一般收斂更穩(wěn)定但訓(xùn)練時(shí)間會(huì)變長(zhǎng)。我分享一個(gè)我自己的觀察方法訓(xùn)練結(jié)束后先別急著做預(yù)測(cè)用plot(history)把訓(xùn)練集損失和驗(yàn)證集損失的曲線畫(huà)出來(lái)。這兩條曲線的走勢(shì)能告訴你非常多信息。如果訓(xùn)練損失下降驗(yàn)證損失先下降后回升說(shuō)明模型過(guò)擬合了——常見(jiàn)對(duì)策是加大dropout減少u(mài)nits或者提前終止訓(xùn)練。如果兩個(gè)損失都下降得很慢說(shuō)明學(xué)習(xí)率偏小或模型容量不夠。3.4 模型評(píng)估與預(yù)測(cè)別忘記反歸一化訓(xùn)練完成到了評(píng)估和預(yù)測(cè)階段。這個(gè)階段的代碼邏輯很簡(jiǎn)單但有兩個(gè)坑值得專(zhuān)門(mén)提醒。# 在測(cè)試集上評(píng)估 model %% evaluate(x_test, y_test) # 預(yù)測(cè) pred_scaled - model %% predict(x_test) # 反歸一化把預(yù)測(cè)值還原到原始尺度 pred - pred_scaled * (max_val - min_val) min_val actual - y_test * (max_val - min_val) min_val # 計(jì)算指標(biāo) rmse - sqrt(mean((pred - actual)^2)) mae - mean(abs(pred - actual)) cat(RMSE:, rmse, \n) cat(MAE:, mae, \n)第一個(gè)坑是反歸一化。模型在歸一化后的數(shù)據(jù)上訓(xùn)練出來(lái)的預(yù)測(cè)值自然也是歸一化后的要對(duì)比真實(shí)的流量、溫度或水位必須用訓(xùn)練集的min和max反歸一化。第二個(gè)坑是評(píng)估指標(biāo)的解讀。我習(xí)慣同時(shí)看RMSE和MAE因?yàn)镽MSE會(huì)放大誤差大誤差樣本對(duì)它的影響更明顯MAE則更穩(wěn)健兩個(gè)指標(biāo)一起看能了解誤差的分布特征。在水文徑流預(yù)報(bào)領(lǐng)域我還會(huì)額外算一個(gè)NSENash-Sutcliffe效率系數(shù)這是水文模型的經(jīng)典評(píng)價(jià)指標(biāo)公式是[ NSE 1 - \frac{\sum (y_{obs} - y_{sim})^2}{\sum (y_{obs} - \bar{y}_{obs})^2} ]R里實(shí)現(xiàn)如下nse - 1 - sum((actual - pred)^2) / sum((actual - mean(actual))^2) cat(NSE:, nse, \n)NSE越接近1說(shuō)明模型效果越好。一般來(lái)說(shuō)NSE大于0.7就屬于可以接受的預(yù)測(cè)水平大于0.9則是非常優(yōu)秀的水平。這個(gè)指標(biāo)比RMSE更好解釋也更容易跟領(lǐng)域內(nèi)的傳統(tǒng)模型做對(duì)比。4. 完整案例用R語(yǔ)言LSTM做日徑流預(yù)報(bào)4.1 案例背景與數(shù)據(jù)理解我用一個(gè)自己實(shí)際做過(guò)的例子來(lái)串起所有步驟。項(xiàng)目目標(biāo)是從歷史日徑流序列出發(fā)預(yù)測(cè)未來(lái)一天的徑流量。數(shù)據(jù)來(lái)自某水文站的逐日平均流量記錄時(shí)間跨度為2015年到2019年共1826條記錄。數(shù)據(jù)本身有典型的季節(jié)性特征汛期流量大枯季流量小豐枯變化劇烈。這種數(shù)據(jù)對(duì)時(shí)序模型最大的挑戰(zhàn)就是“突變”。比如連續(xù)幾天降雨導(dǎo)致流量突然暴漲模型需要從前幾天甚至更長(zhǎng)時(shí)間窗口里捕捉信號(hào)。LSTM的記憶機(jī)制正好適合處理這種場(chǎng)景這也是我選擇LSTM而不是傳統(tǒng)ARIMA的原因。ARIMA本質(zhì)上是線性模型對(duì)非線性突變特征的刻畫(huà)能力很有限。先把數(shù)據(jù)讀進(jìn)來(lái)看看概貌library(readr) library(dplyr) # 讀取數(shù)據(jù)假設(shè)兩列date和flow df - read_csv(daily_flow.csv) df$flow - as.numeric(df$flow) # 缺失值處理 sum(is.na(df$flow)) # 通常水文實(shí)測(cè)數(shù)據(jù)會(huì)有極少數(shù)缺失簡(jiǎn)單線性插值填補(bǔ) df$flow - zoo::na.approx(df$flow) # 繪制序列圖直觀感受時(shí)間變化 plot(df$flow, type l, main Daily Flow Series, xlab Day Index, ylab Flow (m3/s))4.2 數(shù)據(jù)切分、歸一化與窗口構(gòu)造按前面說(shuō)的原則按時(shí)間順序切分?jǐn)?shù)據(jù)前70%做訓(xùn)練15%做驗(yàn)證15%做測(cè)試。n - nrow(df) train_idx - 1:floor(n * 0.7) val_idx - (floor(n * 0.7) 1):floor(n * 0.85) test_idx - (floor(n * 0.85) 1):n # 歸一化參數(shù)只從訓(xùn)練集計(jì)算 train_flow - df$flow[train_idx] min_val - min(train_flow) max_val - max(train_flow) # 歸一化 scaled - (df$flow - min_val) / (max_val - min_val) # 構(gòu)造窗口lookback設(shè)為10天 lookback - 10 create_windows - function(data, lookback) { x - matrix(NA, nrow length(data) - lookback, ncol lookback) y - numeric(length(data) - lookback) for (i in seq_len(length(data) - lookback)) { x[i, ] - data[i:(i lookback - 1)] y[i] - data[i lookback] } list(x x, y y) } # 分別構(gòu)造訓(xùn)練、驗(yàn)證、測(cè)試的輸入輸出 train_data - create_windows(scaled[train_idx], lookback) val_data - create_windows(scaled[min(train_idx):max(val_idx)], lookback) test_data - create_windows(scaled[min(test_idx):n], lookback) # 轉(zhuǎn)成三維數(shù)組 x_train - array(train_data$x, dim c(nrow(train_data$x), lookback, 1)) y_train - train_data$y x_val - array(val_data$x, dim c(nrow(val_data$x), lookback, 1)) y_val - val_data$y x_test - array(test_data$x, dim c(nrow(test_data$x), lookback, 1)) y_test - test_data$y這里有個(gè)細(xì)節(jié)值得說(shuō)明驗(yàn)證集和測(cè)試集的窗口構(gòu)造是從本段開(kāi)頭開(kāi)始的而不是從整個(gè)數(shù)據(jù)集的起點(diǎn)開(kāi)始。這樣能確保每個(gè)子集內(nèi)部的樣本都滿(mǎn)足“用前10天預(yù)測(cè)第11天”的邏輯同時(shí)測(cè)試集的輸入窗口不會(huì)跨到驗(yàn)證集里去。4.3 模型訓(xùn)練與結(jié)果對(duì)比模型結(jié)構(gòu)我選了一個(gè)相對(duì)保守的雙層LSTM第一層64個(gè)單元第二層32個(gè)單元中間加dropout防止過(guò)擬合。這個(gè)容量對(duì)于1826條日觀測(cè)數(shù)據(jù)來(lái)說(shuō)是比較安全的既給了模型足夠的表達(dá)能力又不至于太過(guò)龐大。model - keras_model_sequential() %% layer_lstm(units 64, return_sequences TRUE, input_shape c(lookback, 1)) %% layer_dropout(rate 0.2) %% layer_lstm(units 32) %% layer_dropout(rate 0.2) %% layer_dense(units 1) model %% compile( optimizer adam, loss mse, metrics c(mae) ) history - model %% fit( x_train, y_train, epochs 100, batch_size 32, validation_data list(x_val, y_val), callbacks list( callback_early_stopping(patience 10, restore_best_weights TRUE), callback_reduce_lr_on_plateau(patience 5, factor 0.5) ), verbose 1 )訓(xùn)練結(jié)束用測(cè)試集做預(yù)測(cè)并評(píng)估。pred_scaled - model %% predict(x_test) pred - as.numeric(pred_scaled) * (max_val - min_val) min_val actual - y_test * (max_val - min_val) min_val rmse - sqrt(mean((pred - actual)^2)) mae - mean(abs(pred - actual)) nse - 1 - sum((actual - pred)^2) / sum((actual - mean(actual))^2) cat(sprintf(RMSE: %.3f m3/s\n, rmse)) cat(sprintf(MAE: %.3f m3/s\n, mae)) cat(sprintf(NSE: %.3f\n, nse))實(shí)際運(yùn)行結(jié)果在合理范圍內(nèi)NSE在0.82左右RMSE約15.6 m3/s。對(duì)于一個(gè)只用了單一流量歷史變量的LSTM模型來(lái)說(shuō)這個(gè)水平已經(jīng)能說(shuō)明模型捕捉到了徑流的主要變化規(guī)律。畫(huà)個(gè)對(duì)比圖視覺(jué)效果會(huì)更直觀plot(actual, type l, col black, lwd 1.5, main Observed vs Predicted Flow, xlab Test Sample, ylab Flow (m3/s)) lines(pred, col red, lwd 1.2) legend(topright, legend c(Observed, Predicted), col c(black, red), lwd c(1.5, 1.2))4.4 模型調(diào)優(yōu)方向從“能用”到“好用”第一版模型跑通之后我一般不會(huì)停下來(lái)而是會(huì)系統(tǒng)地嘗試幾方面的優(yōu)化讓模型從“能跑”變成“好用”。第一個(gè)方向是增加特征。徑流變化不是孤立的降雨量、氣溫、前期土壤濕度等都對(duì)徑流有直接影響。把降雨和氣溫作為額外特征拼接到輸入窗口里模型往往能學(xué)到更精準(zhǔn)的響應(yīng)關(guān)系。在R里實(shí)現(xiàn)多特征窗口構(gòu)建也不難只需把歷史窗口里的每一列特征都堆疊成最后一維。第二個(gè)方向是調(diào)整lookback長(zhǎng)度。用10天作為窗口是基于水文過(guò)程的經(jīng)驗(yàn)判斷——一場(chǎng)降雨的產(chǎn)流匯流過(guò)程通常在幾天內(nèi)完成。但不同流域的響應(yīng)時(shí)間差別很大山區(qū)小流域可能3天就完成匯流大江大河可能持續(xù)一兩個(gè)月。我建議把lookback當(dāng)作超參數(shù)來(lái)做網(wǎng)格搜索試試5、10、20、30天看驗(yàn)證集損失怎么變化。窗口太長(zhǎng)會(huì)引入噪聲太短會(huì)丟掉重要信息中間存在一個(gè)最優(yōu)區(qū)間。第三個(gè)方向是預(yù)測(cè)目標(biāo)的變換。直接預(yù)測(cè)原始流量值難度較大因?yàn)榱髁糠植计珣B(tài)嚴(yán)重峰值很高、常值很低。可以考慮對(duì)流量取對(duì)數(shù)后再做預(yù)測(cè)這樣數(shù)據(jù)分布更接近正態(tài)模型更容易學(xué)到規(guī)律。預(yù)測(cè)完再指數(shù)還原即可。這些優(yōu)化的效果評(píng)估我強(qiáng)烈建議全部放在驗(yàn)證集上做不要看測(cè)試集。驗(yàn)證集就是你的“模型調(diào)參試驗(yàn)田”隨便試。測(cè)試集只能在所有調(diào)參工作結(jié)束之后最后用一次相當(dāng)于期末考試。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 環(huán)境與安裝類(lèi)問(wèn)題R里做LSTM我猜至少有六成的初學(xué)問(wèn)題卡在環(huán)境配置上。我把遇到頻率最高的問(wèn)題整理成一個(gè)速查表。報(bào)錯(cuò)信息關(guān)鍵片段可能原因解決思路No module named tensorflowreticulate連到了未裝TensorFlow的Python用reticulate::py_config()查看當(dāng)前Python路徑install_keras()或use_python()指定正確環(huán)境ModuleNotFoundError: No module named kerasKeras R包與Python環(huán)境不匹配在R里執(zhí)行install_keras()它會(huì)自動(dòng)在虛擬環(huán)境中裝對(duì)應(yīng)版本Error: Python version 2 was found, but need version 3系統(tǒng)默認(rèn)Python是2.x安裝并指定Python 3環(huán)境或配置環(huán)境變量訓(xùn)練過(guò)程中直接崩潰/內(nèi)存溢出數(shù)據(jù)數(shù)組太大或batch_size過(guò)大減小batch_size或者用keras的fit中的steps_per_epoch參數(shù)控制每輪步數(shù)keras加載模型失敗自定義層或損失函數(shù)未注冊(cè)加載時(shí)傳入custom_objects示例load_model(model.h5, custom_objects list(loss custom_loss))關(guān)于環(huán)境問(wèn)題我還有一條獨(dú)家心得R Studio的“Session”菜單里有一個(gè)“Restart R”選項(xiàng)很多時(shí)候改完環(huán)境配置不用重啟整個(gè)軟件Restart R就能讓reticulate重新加載Python連接省時(shí)又省力。5.2 模型訓(xùn)練與結(jié)果類(lèi)問(wèn)題環(huán)境通了之后模型層面的問(wèn)題也不少。下面這幾類(lèi)是我在R語(yǔ)言LSTM實(shí)踐中最常碰到的預(yù)測(cè)結(jié)果是一條水平直線。這個(gè)現(xiàn)象新手會(huì)遇到老手偶爾也會(huì)。常見(jiàn)原因有三個(gè)一是訓(xùn)練集數(shù)據(jù)范圍極其不均勻比如大部分時(shí)間流量為0或固定值模型學(xué)會(huì)了輸出均值二是學(xué)習(xí)率過(guò)大損失震蕩嚴(yán)重模型干脆學(xué)成了“躺平模式”三是目標(biāo)數(shù)據(jù)包含異常值歸一化后正常值被壓得極小模型分辨不出差異。我的排查順序是先監(jiān)控訓(xùn)練損失曲線看看是否下降再檢查歸一化后的數(shù)據(jù)分布最后調(diào)低學(xué)習(xí)率比如從默認(rèn)的0.001調(diào)到0.0001試試。訓(xùn)練損失降得很低驗(yàn)證損失卻在后期反彈。這是典型的過(guò)擬合。對(duì)策首先是加大dropout的比例比如從0.2提到0.4其次考慮增加訓(xùn)練數(shù)據(jù)量或做數(shù)據(jù)增強(qiáng)再就是減小網(wǎng)絡(luò)容量把units從64降到32甚至16最后確保early stopping的restore_best_weights TRUE讓模型停在驗(yàn)證集表現(xiàn)最好的位置。預(yù)測(cè)值總是滯后于真實(shí)值也就是“預(yù)測(cè)曲線比實(shí)際曲線慢半拍”。這是單步滾動(dòng)預(yù)測(cè)的典型癥狀——因?yàn)槟P兔看沃挥谜鎸?shí)歷史窗口來(lái)預(yù)測(cè)下一步所以對(duì)突發(fā)拐點(diǎn)的響應(yīng)天然滯后。緩解辦法包括改用多步預(yù)測(cè)策略訓(xùn)練時(shí)讓模型一次性輸出未來(lái)多個(gè)時(shí)間步增加外部輸入特征降雨、前置信號(hào)或者接受現(xiàn)實(shí)調(diào)整業(yè)務(wù)預(yù)期——單步預(yù)測(cè)本來(lái)就只能做到這個(gè)程度不必苛求。整個(gè)窗口的預(yù)測(cè)都正常但峰值處明顯偏低。這幾乎可以肯定是歸一化的問(wèn)題。水文數(shù)據(jù)偏態(tài)嚴(yán)重最大值可能是中位數(shù)的幾十倍min-max歸一化會(huì)讓大部分?jǐn)?shù)據(jù)集中在0到0.1之間模型自然學(xué)不到細(xì)節(jié)。解決方案是改用對(duì)數(shù)變換scaled - log(flow 1)或者使用分位數(shù)歸一化。記住一個(gè)原則歸一化的目的是讓數(shù)據(jù)分布對(duì)模型友好不是機(jī)械套公式。5.3 模型保存與部署的實(shí)操經(jīng)驗(yàn)?zāi)P陀?xùn)練完之后保存和部署是最容易被忽視但同樣重要的環(huán)節(jié)。R的keras模型保存很簡(jiǎn)單# 保存模型結(jié)構(gòu)、權(quán)重和訓(xùn)練配置 model %% save_model_hdf5(lstm_flow_model.h5) # 加載模型 model - load_model_hdf5(lstm_flow_model.h5)我習(xí)慣把模型保存時(shí)連同訓(xùn)練集的min_val、max_val、lookback等參數(shù)打包存到一個(gè)RData文件里。不然換了一臺(tái)電腦、過(guò)了幾個(gè)月回來(lái)加載模型做預(yù)測(cè)卻忘了怎么反歸一化這種尷尬我經(jīng)歷過(guò)。save(min_val, max_val, lookback, file lstm_preprocess_params.RData)在R環(huán)境里做實(shí)時(shí)預(yù)測(cè)時(shí)流程是這樣的拿最新的lookback天數(shù)據(jù) → 用歷史min_val和max_val歸一化 → 變換成(1, lookback, 1)的三維數(shù)組 → 模型預(yù)測(cè) → 反歸一化 → 得到最終預(yù)測(cè)值。這個(gè)流程封裝成函數(shù)后可以放到R的Shiny應(yīng)用里做個(gè)簡(jiǎn)單的預(yù)報(bào)面板也能用plumber包發(fā)布成API讓其他系統(tǒng)調(diào)用。6. 從R出發(fā)LSTM還能往哪走寫(xiě)了這么多其實(shí)都在講一個(gè)主題在R語(yǔ)言里做LSTM不是什么神秘的事keras包幫你把幾乎所有的復(fù)雜度都封裝好了關(guān)鍵反而在于數(shù)據(jù)處理、模型理解和調(diào)試經(jīng)驗(yàn)。我自己用下來(lái)的最大體會(huì)是R生態(tài)里的LSTM雖然不如Python那么鋪天蓋地但對(duì)于本身就在R環(huán)境里做數(shù)據(jù)分析的人來(lái)說(shuō)完全不需要為了一個(gè)LSTM模型就跨語(yǔ)言切換到Python。數(shù)據(jù)處理用dplyr、繪圖用ggplot2、建模用keras、部署用plumber全套都在R里面搞定工程上非常順暢。如果你是R用戶(hù)、又對(duì)LSTM感興趣我建議先從單變量時(shí)間序列預(yù)測(cè)入手跑通一個(gè)端到端的例子再逐漸加入多特征、多步預(yù)測(cè)和模型調(diào)參。水文本、氣象、電力負(fù)荷、金融這些領(lǐng)域的時(shí)間序列用R語(yǔ)言LSTM這套組合拳能解決大量實(shí)際問(wèn)題。最后再說(shuō)一個(gè)小技巧LSTM不是所有時(shí)序問(wèn)題的最優(yōu)解。如果數(shù)據(jù)量很少幾百條以?xún)?nèi)傳統(tǒng)的時(shí)間序列模型如ARIMA、指數(shù)平滑反而更可靠如果數(shù)據(jù)量很大且序列超長(zhǎng)Transformer家族可能是更好的選擇。但LSTM作為“既有時(shí)序結(jié)構(gòu)又有非線性能力”的模型在當(dāng)前階段依然是性?xún)r(jià)比極高的選擇。建議你動(dòng)手跑一次完整的例子一定會(huì)有收獲。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
情色五月天网站| 色婷婷成人网| 天天色视频| 久久婷婷综合国产| 色色色免费视频| 婷婷五月天视频| 婷婷激情综合网| 婷婷激情五月呦呦| www.射伊蕉婷婷| 日本三级黄色大片| 婷婷五月花西瓜| 久久九九色| 国产午夜伦鲁鲁| 久久九九婷婷| tingtingzonghewang| 九九热在线99| 色一情一乱一伦一区二区三区| 久久久久久9热不雅视频| 综合激情肏逼网| 五月婷婷综合网在线播放| 在热视频精品| 亚洲视频一区| 色射影院| 色五月婷婷在线| 色综合色婷色基地| 蜜臀99精品| 在线色色| 亚洲高清在线| 干一干xxxx| 一本色道久久综合狠狠躁一二三| 九九综合色| 综合久久久婷| 91成人电影| 五月丁香激情啪啪网| 婷婷五月天 偷拍| 97人人草| 金桔一区二区ab地址| 亚洲黄色影视| 丁香五月停停基地| 色色激情| 激情精品久久| 国产一区二区av免费| 8区视频在线| 99热久| 婷婷伊人五月丁香天堂网| 五月丁香网站在线播放| 狠狠狠狠狠| 精品久久人妻热| 亚洲九九视频| 97婷婷丁香五月| 97色综合| 天天干天天操天天拍| 丁香5月激情网| www.婷婷| 午夜不卡成人一区二区| 91狼友视频网页更新| 这里只有精品1| 日本97久久久精品| 极品人妻VIDEOSSS人妻| 涩婷婷五月天| 激情久久月| 综合五月丁香六月婷婷| www.五月天| 另类激情五月| 操一区| 538在线精品| 日本狠狠爽| 99久久婷婷五月| 大天天伊人| 春色激情第四色| 97性高潮久久久| 五月婷婷激情综合| 激情亭亭五月| 欧美色欲色欲天天天www| 99久久婷婷综合| 性爱综合网| 99亚洲色色| 97精品综合久久| 丰满少妇乱A片无码| 婷婷五月天色播| 五月色网| 五月天激情日色在线| 99成人| 99热这里只有精品50| 日韩成人综合网| 免费观看2018www黄色操逼网站| 99色色网| 日韩久热| 99久久99久久| 思思国产99| 久久99热免费| 色五月婷婷中文字幕在线观看| 激情熟女网| 秋霞少妇AV网站| 久热欧美| 六月丁香五月婷婷| 99久久超级| 中文毛片无遮挡高潮免费| 区美毛片子| 天天干天天操天天拍| 天天干天天日日| 婷婷综合在线播放| 国产精品久久..4399| 久久性刺激| 综合久久五月天| 欧美图片丁香五月天| 在线99色| 五月天婷婷黄色视频| 国产精品久久..4399| 99九九久久| 五月丁香福利| 丁香五月成人论坛| 久色资源网| 五月婷婷丁香社区| 亚洲色另类| 激情视频网址| 色吊丝av中文字幕| aaaaa不卡| 久久 这里只有精品1| 亚洲视频图片婷婷五月| 色婷婷九月| 天天干夜晚夜操| 99五月香婷婷丁香在线视频| 婷五月天| 婷婷基地五月色| 亚洲色婷婷五月| 色五月婷婷五月丁香五月| 人人干av| 五月婷婷av| 国产偷人爽久久久久久老妇APP| 在线亚洲综合| 综合热无码| 91久久精品无码一区二区三区| 99综合在线| 亚洲蜜桃精久久久久久久久久久久| 中文字幕人妻AV| 成人一级片| 狠狠色综合网| 91大神操美女| 激情人妻蜜夜系列区| 99热精品观看| 欧美日韩99| 亲子乱AV-区二区三区| 婷婷6月综合网| 这里只有精品免费| 深爱激情九九五月天 | 天天色亚洲| 五月丁香久久| 日韩性视频| 99热综合网| 无码少妇高潮喷水A片免费| 色五月超碰| 婷婷五月天激情五月天深爱五月天| 婷婷在线播放| 亚洲成人综合在线| 成人电影在线免费试看| 综合色在线| 五月色无码| 国产成人片| 色婷婷欧美在线| 久99热| 中文字幕视频在线播放| 爱射综合| 99婷婷五月天| 日本eVa一区=区视频| 国产色色网址网站| 北京熟妇搡BBBB搡BBBB| 《蜘蛛女》梁铮1995| 色欲久久99精品久久久久久| 狠狠色官网| 99热超碰人| 九九99一区| 五月色激情综合网| 99热8| 99热日| 极品精品一区二区三区在线| 欧美激情五月| 天天操天天爱天天日| 狠狠色综合网站久久久久| 一区二区中文字幕| 天天综合网~91| 国产avapp 网| 激情丁香网| 99热大| 久久久久9| www.色擼擼.com| 九九色大香蕉| 欧美激情久| 免费观看的av| 超碰色综合| 亚洲婷婷丁香五月视频| 婷婷五月天激情四射五月天激情| 伊人在线大香蕉网| 直接看的av| 天天干天干| 婷香五月网在线| 亚洲成人av中文| 成人丁香五月| 国产日日操夜夜操的肉棒视频| 日韩999| 激情久久伊人| 色99在线视频| 婷婷成人综合| 久久狠狠干| 狠狠狠狠狠操| 99热精品综合| 激情99在线视频| 性爱动图国产麻豆一区二区三区| 五月丁香无码| 亚洲AV人人操| 亚洲欧美婷婷五月色综合| 国产婷婷综合| 九九热10| 天天狠狠婷婷在线| 六月米奇色综合| 天天天天天天天干| 甈吧vv| 天天添天天摸天天天天做| 99久久婷婷国产综合精品草原| 五月婷婷色影院| 午夜色婷婷| 91超碰在线观看| 欧美性爱中文字幕| www.99热在线观看| 五月婷成人网| 天天操人人干| 夜夜大香蕉婷婷丁香| 操操操Av| 免费精品99| 粉嫩AV久久一区二区三区| 乱岳熟女50岁| 五月丁香趴趴| 久99久视频| 综合久久综合综合| 婷婷五月天堂| 开心五月婷| 99热这里只有精品5| 色播五月天激情| 五月天综合激情网| 欧美日韩99| 韩国不卡AC视频| 日本啪啪网| 26uuu亚洲欧美| 色五月综合网| 久久久久99精品成人片| 丁香六月五月天| 思思re最新视频| 色老久久| 婷婷丁香色情| 丰滿爆乳一区二区三区| 亚洲色五月天在线| 99热大香蕉| 五月天婷婷基地| 婷婷丁香五月天熟女丝袜| 99久在线观看| 丁香五月综合亚洲| 超碰人人操人人干| 亚洲欧美综合7777色亭亭| 成人免费网站免费看| 嫩草视频在线观看| 久久这里只有精品热在99| 婷婷五月影院| 色丁香五月天| 午夜亚洲国产精品av一区二区| 天天日天天肏天天奸| 五月开心婷婷网| 久久狠狠干| 国内久久亭亭| 婷婷射综合| 亚洲成人无码片| 婷婷中文字暮| 99超碰在线观看| 丁香五月停停av| 久久怡红院| 天天天久久久| 色婷婷电影网| 玖玖福利视频资源| 久久久aaa| 一本伊人色婷| 久久六月综合| 激情小说婷婷| 九九人人精品| 人妻久久久久久| 久久6这里只有精品| 内射干少妇亚洲69XXX| 春色激情第四色| 激情碰碰碰| 五月天成人综合| 狠狠色婷婷7777久综合| 玖玖热视频| 66精品国产成人| 久久99热网| 天天高潮夜夜爽| 婷婷五月色播天| WWW.99热| 五月亭亭欧美女人| 婷婷久草| 天天搽天天射| 91大操| 丁香六月婷婷五月婷婷| 思99热精品久久只有精品| 欧美A片在线视频免费观看| 亚洲旡码| 五月停停激情网| 免费亚洲婷婷中文字幕| 67久久| 日日夜夜综合| 激情久久五月天| 荫道BBWBBB高潮潮喷| 日日爽日日爽| 天天干天天 亚洲| 97精品自拍| 中文毛片无遮挡高潮免费| 色婷婷五月天成人网| 金品在线视频99| 99免费超碰在线| 99性爱视频| 类似婷婷激情综合网站| 五月天婷婷丁香花| 色吧五月婷婷| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 最近中文字幕在线中文视频| 久久婷婷五月综合| 中文字幕综合网| 五月播播| 久久欧洲久久| 99热国产国产| 亚洲激情区| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 色女人久久| 色色色无码| 六月久久狠狠| 亚洲 在线 性爱| 婷婷五月丁香激情图片| 欧美槡BBBB槡BBB少妇| 日韩aaa| 天天色,天天日,天天做| 五月天开心色情网| 97亚洲色 torrent magnet| 禁片二区| 日日夜夜亚洲一区| 婷婷五月网图片区| 九月丁香婷婷网| 天天日天天久久青青| 成人无码精品1区2区3区免费看| 99热这里只有精彩| 草草夜夜操| 人操人| 五丁香激情综合| 日韩亚洲视频| 美女要搞搞天天搞搞搞网站| 五月婷婷偷| 丁香五月天天| 六月婷婷影院| aa久久| 色丁香久久| 精品无码久久久久久久久| 精品一二三区久久AAA片| 少妇高潮呻吟A片免费看软件| 国产亚洲精品久久久久久牛牛| 大香蕉啪啪| 三人荫蒂添的好舒服A片 | 深爱婷婷基地| 五月丁香久久| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 色碰碰视频| 亚洲人妻一区二区 | 日本在线视频播放91| 99热思思在线观看| 色五月婷婷五月天| 98国产精品综合一区二区三区 | 天天添天天摸天天天天做| 天天干天天干天天干天天干天天| 99精品在线| 香蕉AV777XXX色综合一区| 在线观看日韩12345区| 九九99九九99偷拍视频免费看| 天天操天天操| 婷婷六月色| 激情丁香五月天图片| 五月丁花色综合网| 亚洲天堂婷婷丁香| 高清激情av在线观看| 六月丁香综合| 色综合香蕉视频| 丁香五月天成人| www.色五月| 99rewww| 26uuu成人网| 亚洲精品网站色视频| 亚洲视频99| 91热爆在线| 久热伊人| 激情综合色五月六月婷婷| 国产欧美熟妇另类久久久 | 色A网| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 99热久久这里只有精品| 毛片新网地| 99偷拍视频在线日本| 91人碰| 五月花综合网| 综合激情四射一theav| 五月丁香六月综合基地| 五月婷婷激情| 亚洲网在线观看| 人人色婷婷| 在线网黄| 日韩一级淫乱片一区二区三区| 婷婷五月天激情基地| 台湾无码A片一区二区| 婷婷九月| 玖玖资源站视频| 91操在线视频| 少妇人妻人伦A片| 在线1青婷| 婷婷丁香六月综合激情站| 天天综合色| 色五婷婷| 国产精品色一哟哟| 男人天堂99| 9色视频在线| 天天色综| 91人人操人人看| 91操在线| 五月色亚洲| 疯狂做受XXXX高潮A片动画| 热九九精品| 丁香婷婷五月六月久久| 成人在线日韩欧美| 人妻22p| 九九99在线免费在线观看视频| 日本久久人| 91丨九色丨高潮丰满日本| 色婷婷日本| www.婷婷| 亚州在线中文字幕| 九九婷婷五月天| 一本狠婷婷综合| 色欲影香| 婷婷成人综合免费视频| 久久精品亚洲热| 色综合五月| 任你艹| 91人久| 久久精品噜噜噜成人A∨色欲| www,超碰| 久久五月丁香综合17C| 蜜乳中文字| 婷婷久久亚洲| 性爱激情久久| 色婷婷亚洲婷婷| 2023天天日夜夜爽| 久久精品视频99| 伊人婷婷99热精品| 六月丁香婷婷综合色播| 79色色色色| 五月婷婷激情久久| 狠狠爱婷婷五月天| 男人天堂亚洲综合| 天天色天天| 99视频只有精品| 99er热精品视频| bbwcuckold精品熟妇| 九九99热久久精品66中文字幕| 激情综合网五月| 成人网站免费在线播放| ...婷婷国产成人亚洲日韩| 日本人妻久久| 丁香五月激情欧美| 婷婷国产五月天17c| 成人做爰黄A片免费看直播室男男| 五月丁香天堂网| 色播五月婷婷五月| 五月婷婷福利| 丁香婷婷久久老熟女综合网| 亚州激情在线视频| 1024操逼视频| 婷婷放心五日爱| 人妻aV在线| 亚洲成人网站在线观看| 婷婷综合伊人丁香| 超碰人人超碰| 精品人妻在线免费观看| 婷婷狠狠18禁久久| 九九Av| 99热精品在线观看| 久久曰曰| AV在线不卡网站| 激情视频91| 成人视屏在线观看| 婷婷五月天天天日日夜夜| 婷婷激情肏屄网| 丁香五月综合高清在线| 久久婷五月婷| www.爱操com.| 激情网婷婷五月天| 91精品久久久久久久久久| 亚洲欧美成人在线观看| 99精品一二三四视频| 丁香五婷婷| 九九色热| 日韩高清成人| 久久这里有精品| 丁香五月综合| 综合精品啪啪| 中文aV网| 丁香五月婷婷色| 亚洲日本韩国| 久久天堂网| 色婷婷综合久色AV五色最新| 爽天天天天天天天| 伊人9草在线观看| 九九热中文| 伊人久久五月天| 婷婷六月啪啪| 亚洲午夜一区二区| 琪琪秋霞| 可以免费观看的AV| 日本少妇AA一级特黄大片| 大香蕉婷婷五月| 精品久久久久久久久久久久人妻| 久久精品国产一区二区三区四区| 色综合久久44| 激情五月丁香六月综合AVXXXX| 黄色热99| 五月丁香色五月| 久久视频婷婷| 日韩在线9| 激情综合色五月丁香六月亚洲| 色伊人婷婷| 亚洲乱码w在线观看| 我要看激情五月天| 9999热免费视频视频| 久久成人综合五月天| 天天搡日日搡aaaaⅩ| 99综合自拍| 久热这里| 婷婷色播六月无码| 国自产拍偷拍精品啪啪一区二区 | 亚洲综合网 665566| 天天日夜夜爽| 99啪啪骑| 99精吕视频在线观看了| 日笨久久网| 亚洲五月婷天天操| 婷婷五月天成人| 色月视频| 五月丁香婷婷伊人| 六月丁香激情| 伊人久久大香网| 91婷婷丁香| 丁香六月 人妻| 影院久久久| 五月天婷婷乱论小说| 国产婷婷综合| 青青草国产亚洲精品久久| 深爱激清网| 婷婷丁香六月天激情四射网| www.久久99| 日韩av干| 五月婷婷AV| 婷婷爱五月| 国产视频婷婷| 五月丁香六月婷婷亚洲激情综合| 久久久免费图片视频| 大香蕉五月天婷婷| 丁香五月天激情综合网| 色五月97| 超碰成人影视| 日本va欧美va国产激情| 欧美五月丁香| 丁香五月婷婷激情蜜桃| 91一起艹| 欧美激情伊人| 久久久久视剧HD| 激情五月天色色| 亚洲婷婷开心五月| 九九热欧美| 婷婷五月精品| 国产日产亚系列精品版优势| 亚洲区在线| 99九九精品视频| 国产亚洲成AV人片在线观黄桃| 五月天婷婷成人| 亚洲旡码| 精品人妻一区| 91视频五月丁香| 欧美中文五月天| 99热在线观看免费中文| 玖玖婷婷综合| 伊人五月综合网| 色色婷婷五月天| 欧美搡BBBBB摔BBBBB| 五月婷久久| 亚洲成色综合网站免费观看| 五月激情射| 大香蕉220| 色香五月天| 婷婷五月小说色综合| 国产精品视频| 久久亚洲色导航| 区区欧美你爱| 五月色无码| 伊人五月天日日夜夜久久久天天| 97狠狠色| 婷婷五月天最新综合你懂的| 99在线热| 第四色色色色色丁香五月天| 五月丁香久| 五月婷婷激情网| 色噜噜狠噜噜视频| 久热大香蕉| 乱精品一区字幕二区| 丁香五月激情综合| 思思久久99热只有频精品66| 99热这里只有在线| 天天操夜夜玩!| 色九亚洲| 日本视频久久| 激情五月天婷婷色色色色色色色色色色色| 综合久久综合久久| 南京搡BBBB搡BBBB| 激情五月六月丁香| 色五月开心婷婷| 天天日天天干天天天| 九九精品视频在线6| 丁香五月婷婷啪| 狠狠做五月| av在线色五月丁香婷区久| 欧美成人网99网| 色99视频| 色狠狠伊人久久五月丁香| 婷婷免费无视频| 69精品人人人人| 欧美婷婷五月天综合| 丁香五月久久| 色天堂在线| 天天操夜夜玩!| 丁香五月激情视频在线| 天天久久狠狠色综合| 国产精品18久久久| 99久久九九视频| 天天肏在线视频| 婷婷情色五月| 九九综合| 亚洲男女激情| 超级碰碰碰97免费| 9久热在线精品| 久热大香蕉| 天堂A∨在线| 五月天丁香| 妻久久人久久| 欧美三级巜人妻互换| 996热re视频精品视频| 天天色天天日| 日本精品人妻无码77777| 中文字幕1区2区。| 99热九九在线| 182tv992tv人之初午夜免费观看| 五月丁了香蕉综合| PORNY九色9l自拍视频成人| 婷婷五月精品中文字幕| 婷婷五月情天| 婷婷激情人妻| 色色五月婷婷丁香| 亚洲欧美成人在线观看| av一区二区电影免费在线观看| 欧美激情综合色丁香婷婷五月天| 激情又色又爽又黄的A片| 一个色的综合| 激情久久五月网| 欧美大肥婆大肥BBBBB| 超碰爱爱爱| 91超碰九色| A片一曲| 丁香九月综合| 五月综合激情久久| 久久精品夜色噜噜亚洲a∨| 丁香婷婷久| 婷婷色播婷婷| 激情99。| 九九色综合| 日操夜操天天操不卡| 99热这里有精品6| 欧美在线操| 亚洲激情免费视频观看| 九九色色| 在线观看免费狠狠色丁香香综合| 影音先锋xfplay资源男人网| 五月婷婷丁香91| 狠狠干在线视频| 中文字幕+中文在线| 五月香婷婷| 99,色| 亚洲精品乱码久久久久99| 好看的国产精品| 色五月AV| 日日操日日撸| 丁香五月婷婷婷桃花影院| 99re视频在线播放| 九九精品自拍| 蜜臀AV在线观看| 婷婷五月六月| 亚洲无码影音| 久久久中文| 中美日韩成人在线| 六月五月天婷婷涩播在线| 热99在线精品| 日本乱论99| 五月天激情四射网站| 香蕉AV777XXX色综合一区| www.狠狠色.com| 大香蕉婷婷五月| 婷婷五月激情在线| 激情综合色婷婷啪啪五月天| 99爱免费在线视频| 色天堂A| 思思re视频在线| 91超碰在线观看| 人妻丰满精品一区二区A片| 在线播放中文字幕| 综合啪啪| 婷久久高清| 亚洲五月婷婷在线| 久久天堂色| 婷婷九月在线| 亚洲综合另类| 久久99热精品a片在线观看| 无码一区二区日韩| 就是色婷婷五月亚洲色| 九九精品热播| 国产精品VIDEOSSEX久久发布| 丁香婷婷五月色成人网站| 囯产精品一品二区三区| 九九热a| 欧美天堂久久| 婷婷五月天丁香激情| 91聚色综合网| 综合av在线| 欧洲激情五月天| 九九色插| 影音先锋一区| 99在线精品视频免费| 五月婷在线| 99re在线观看视频| 涩涩涩婷婷| 2020久久婷婷五月| 五月天婷婷色色| 九月婷婷久久| A片试看120分钟做受视频红杏 | 色色色色色色色色五月先| 激情综合色婷婷啪啪六月天| 激情久久五月天| 日日干综合| 天天日夜夜帕| 秋霞成人毛片一级A片| 久久电影4399| 激情五月天色婷婷| 婷婷午夜天| 色五XX| www.婷婷| 成人性爱无码| 久久99热免费最新版| 亚洲男女激情| 思思热闹这里只有精品| www.色综合.com| 激情综合五月激情| 成人电影AV在线观看| 99热日韩| av性爱网站| 五月天婷婷色色| www.色五月天.com| 色色射| 五月天婷婷无码| www.五月激情.com| 欧美色五月| 激情内射人妻1区2区3区| 丁香六月无码| 另类小说婷婷色| 一区二区乱码视频| 丁香五月婷婷超碰在线| 色婷婷基地 | 91超级碰碰| 五月丁香色综合| 激情碰碰碰| 色呦呦美女| 九九99男女视频在线观看| 欧美精品狠狠色丁香婷婷| 99无码精品| 99爱爱网| 色婷丨日丨天丨综合久久| 97碰在线视频| 久久婷丁香五月| 婷婷五月开心中文字幕在线| 久久久18| 极品精品一区二区三区在线| 五月丁香手机在线| 色婷婷狠狠18禁| 狠狠色网| 五月丁香六月婷婷色日| 青青草婷婷五月天| 亚洲成人免费电影| 人人摸人人干| 五月综合激情啪啪啪啪啪| 色色婷婷丁香五月天| 久久久久思思热| 国产日产亚洲系列最新| 精品乱码视频| 婷婷五月天久久久| 91艹人| 开心五月婷婷激情网| 成人免费120分钟啪啪| 99re在线免费视频| 亭亭五月丁香综合欧美| 九九99精品视频在线观看| 久久xx| 丁香五月激情五月| 五月天婷婷狠狠| 91久久久久久久91| 五月天激情小说婷婷| 97五月天| 久久人视频| 激情欧美丁香五月| 日本一级一级一级一级| 亚洲视99| av免费在线看不卡无毒| 五月天婷婷情色| 激情五月小说婷婷| 色婷婷丁香网| 五月婷婷六月激情| 丁香六月婷婷综合在线| 国产亚洲色婷婷久久99精品91| 五月丁香视频色色| 九九热思思热| 99热网站| 婷婷五月丁香五月天| 久久五月婷天天干| 婷婷五月电影| 亚洲操B| 五月婷综合激情| 思思热久热| 啪啪小说五月天| 六月色丁香婷婷| 国语精品探花| 国产成人精品一区二三区熟女在线| 天天色官网| 九月色婷婷婷| 亚洲婷婷五月草久| 四色五月婷婷| 在线婷婷| 996热re视频精品视频| enecarbon-materials.com污K127封锁请涟系@wip1688 | 99精品视频在线观看| 丁香婷婷综合五月天| 99热免费精品| 五月色无码| 五月丁香六月婷婷啪啪| 深情五月天| 五月婷婷基地| 亚洲丁香婷婷五月天综合色| 久婷婷视平| 色综合天天天天做夜夜| 色综合婷婷| 亚洲综合久| 精品久久99码| 五月丁香久久精品在线观看| 99激情视频| 婷婷色五月丁香六月欧美啪| 久久性爱视频这里只有精品| 中文字幕乱码亚洲精品一区| 99热无码| 婷婷久久五月| 天堂色婷婷| 五月婷婷五月天| 激情五月天激情五月天| 激情婷婷综合| 影音先锋男人资源站一区二区| 婷婷五月天成人| 色色色色色色色色网站| 激情网五夜婷婷| 内射爽无广熟女亚洲| 天天干天天拍| 婷婷五月天在线观看免费| 人人看人人97| 色欲一区二区三区精品A片| 五月婷婷激情综合在线| 婷婷五月综合基地| 婷婷九月久久| 久久婷婷东京热大香樵| 另类天堂| 美国天天操无码| 亚洲最大视频| 色色色无码| 午夜日韩久久久网站| 天天爽天天爽| 五月天婷婷视频| 日本www五月婷婷| 五月天天丁香婷婷在线中| 天天干人人奸97| 色综合婷婷| 九九色综合视频| 97欧美在线| 激情五月影院| 欧美成人五月天| 六月色婷婷| 人妻久久久久久久久妻久久久久| 一操久久| 91九色视频在线观看| 91久久久久久久| 男人天堂AV在线一区二区| 天堂亚洲 在线| 99热青青草| 国产乱人偷精品人妻A片| 婷婷色色网站| 激情床戏| 久久艹 五月天| 99狠狠操一| 99内射视频| 五月天之色情综合网| 性爱网五月天| 精品皮股午夜AV| 超碰AV在线| 噜噜久| 热99精品视频| 五月丁婷香| 色五月大香蕉婷婷| 九九热在线视频观看| 婷婷激情五月| 9九九久久精品无码专区| 激情综合色婷婷啪啪六月天| 激情网开心网| 天天搞天天色综合| 久久久com| 激情婷婷| 少妇性BBB搡BBB爽爽爽视頻| 丁香六月青青草| 97婷婷狠狠久久综合9色| 草草女人亚洲| 九月激情网| 欧美在线干| 天天综合网91| 精品久久66| 久久这里在精品视频| yazhouzonghesese| 五月丁香操婷逼| 人妻激情视频| 99五月香婷婷丁香在线视频| 99热在线免费观看精品| 超碰a女人的天堂| 国产精品成人AV在线观看春天| 五夜丁香| 色五月丁香一区在线| 韩国婷婷丁香五月| 日韩成人中文字幕| 亚洲日韩一页精品发布| 99综合网| 五月婷婷丁香综合,亚洲天堂| 国产精品美女久久久久AV超清 | 丁香色色五月| 97色97干| 丁香五月日本| 狠狠色大香蕉| 8090在线影视少妇| 最新日韩久热免费视频看看| 婷婷久久久| 天天操天天爱天天玩| 俺也高清无码高清视频| 五月花婷婷| 狠狠 久久| 视频综合网| 欧美黄色AA片哗啦啦啦| 99无码视频| 久久aaaaa| 五月天成人手机在线视频| 婷婷五月天成人| 人妻丰满精品一区二区A片| 影音先锋91| 婷婷五月综合在线视频| 99热国内精品| 国产乱妇无乱码大黄AA片| 丁香 久久| 依人大香蕉| 欧美色色网| 国产精品人成A片一区二区| 久久99看免费| 热久久视频99| 免费AV播放| 婷婷五月激情视频网| 婷婷六月综合在线| 97久久久久| 日本色色网站| 另类激情五月天| 亚洲综合五月天| 综激情网| 色五月婷婷小说亚洲中文字幕组| 777精品久无码人妻蜜桃| 26uuu视频欧美| 婷婷成人AV| 草久私拍| 99热777| 成人看片网站| 九色PORNY9l原创自拍| 五月天激情AV| 又大又粗九一在线| 九九热再线九九视频免费在线观看 | 婷婷色综合| 九九色插| 色婷婷丁香特级性爱视频| 色色色综合网| 色狠狠综合网| 激情久久肏屄视频| 色综合偷拍| 婷婷五月天狠狠搞干| 人妻丰满精品一区二区A片| va中文资源在线观看| 九九激情| 99综合网| 色爱综合网| 丁香六月激情| 婷婷综合97| 亚洲AV网站在线观看| 天天爱天天爽| 婷婷五月色惰| 激情噜噜噜| 99色免费| 人人摸人人| 91国产精品视频播放| 九九九九九九九热| 丰满少妇猛烈A片免费看观看 | 五月天婷婷视频30| 香蕉AV777XXX色综合一区| 欧美激情五月天在线观看| 国产肥白大熟妇BBBB视频| www.爱操com.| 精品亚洲国产成人A片在线鸭王| 婷婷色激情网| 九九这里只有精品| 五月婷婷播| 久久综合久色欧美综合狠狠| 亚州日本欧州韩美高青高潮一| 99riav 亚洲| 色区域网站视频| 亚洲国产网站| 99热精品99| 亚洲精品成人| 久久丁香五月| 深爱网深爱综合网| 97五月婷| 婷婷精品综合| 7777精品伊人久久久大香线蕉最新版| 狠狠干狠狠干| www.99在线| 亚洲蜜桃精久久久久久久久久久久 | 综合五月天完整| 午夜丁香六月婷| 日日噜狠狠| 九九国产视频| 精品亚洲国产成AV人片传媒| 亚洲丁香五月| 国产婷婷综合| 可以看的av| 久久久久久五月天| 看全色黄大色大片| 色综合色| 色综合天天天天做夜夜| 五月丁香六月婷婷久久| 日本人妻A片成人免费看片| 亚洲成人电影aaaa| 超级久久久| 婷婷婷婷婷婷婷婷| 亚洲最大在线| 亚洲最大成人综合网720P| 丁香五月婷婷视频| 性五月激情| 婷婷五月丁香基| 97se视频在线| 96性爱视频| 久9精品| 婷婷丁香六月| 在线可以看的av网址| 曰曰久久| 日日日日日| WWW,婷婷,COM| 综合久久婷婷五月丁香| 大鸡巴伊人网| 色婷网| 国色天香伊人狠狠色| 狠狠色综合网| 九月婷婷人人操人人舔人人爱| 色激情综合| 久久机热思思热| 色99在线| 91久久人人操| 日本久久精品| 日日狠狠久久偷偷四色综合免费| 色玖玖综合网| 色九九中文字幕| 丁香婷婷色五月| 久久九九色| 少妇激情五月婷婷| 婷婷伊人久久| 婷婷丁香先锋资源网站| 亚洲字幕AV一区二区三区四区| 色噜噜狠噜噜视频| 这里只有精品在线免费视频| 天天日夜夜B久久| 2017人人操| 97超碰在线观看免费| 九九热在线视频| 丁香六月情| 日本色五月婷婷| 九九草热在线观看| 久艹久| 99超超碰| 99riAv1国产在线观看| 五月丁香青草综合啪啪| 思恩热国产视频右线观看| 99视频91| 人人操婷婷| 婷婷社区五月天| 超碰人人操| 天天做天天爱天天综合| 777丁香六月青青草婷婷综合久月| 日韩色五月| 五月天久久激情| 九月激情婷婷丁香| 欧美三日本三级少妇三99| 激情性五月天免费小说视频| 99热国产这里只有| 97精品综合久久| 九九99热| 婷婷五月激情视频网| 亚洲综合五月天婷婷丁香| 九九99精品视频在线观看| 播五月开心婷婷欧美综合| 激情网五月| 久久综合99| 狠狠爱婷婷| 五月色婷婷夜色| 超碰色热| 色色婷婷丁香| 六月丁香啪啪啪| 久久五月天婷婷| 日本三级中国三级99人妇网站| 在线视频激情网站| 色偷偷狠狠| 色操b| 亚洲五月天婷婷综合| 五月婷婷精品视频| 九九视频热| 手机AVAV天堂看网| 26uuuavcom| 天天 日综合| 亚洲 激情 中文| 另类图片激情五月天| 婷婷五月天777| 久久99热这里只有精品23| 这里只有精品99视频| 亚洲亚洲激情| 成年AAAA色情| 激情播丁香| 五月婷免费视频久久久| 综合激情网五月激情| 国产99精品免费视频| 亚洲色婷婷99一9|| 国产精品国产VA片国产| 深爱五月天 开心网| 天天插天天| 婷婷丁香激情五月天色色| 精品久久人妻| 九九视频精品这里只有| 国熟女视频| 五月天婷五月天综合网在线观| 99久久99热这里只有精品| 99色精品| 色呦呦美女| 五月婷丁香| 激情五月婷婷老师| 任你操精品免费| 天天天久久久| 九月婷婷丁香| 伊人婷婷色| 思思热这里只有精品| 欧美婷婷综合| 九九热视频精品999| 加勒比日本一区二区三区| 色婷婷手机在线| 99热12| 日韩欧美成人片| 色欲一区二区三区精品A片 | 天天弄天天爽| 婷婷色丁香五月| 久草性爱| 五月天婷婷基地| 日韩有码久久| 日本熟女三区| 婷婷精品综合| 久久九九国产精品怡红院| 亚洲熟妇AV乱码在线观看| 98永久精品| 五月天婷婷丁香视频| 色噜噜狠狠色综无码久久合欧美| 99婷婷| 伊人九九热| 干亚洲天堂| 久久99大全| 97爱艹婷婷开心丁香激情综合| 202丰满熟女妇大| 玖玖午夜视频| 日日操夜夜爽天天天| 97超碰在线免费观看| 狠狠婷婷色综合| 五月丁香激情四射| 婷婷丁香五月综合激情小说| www.夜夜操.com| 超碰人人在线观看| 五月伊人综合| 婷婷五月天视频亚洲| 国产毛片精品一区二区色欲黄A片| 97色97干| 五月丁香色婷婷熟女| 欧美精品18| 中文精品在| www.色五月天.com| 99热超碰在线| 五月色婷| 五月丁香啪啪伦理电影| 香蕉久久av一区二区三区| 91无码高清| 五月天六月婷婷电影| 久久精品一区二区三区四区| 丁香婷婷五月综合影院| 天天狠狠干| 青青草婷婷五月天| 99热最新精品| 色婷婷导航| 久久久久8888| 五月婷婷说| 狠狠五月婷婷| 91dy.av| 天天干电影| 九九黄色网| 丁香五月首页| 四色五月视频| 五月色色激情网| 婷婷六月激情综合| 婷婷色五月天第7色| 婷婷五月六月| 激情图片婷婷丁香五月| 色色亚洲五月天| 婷婷干六月综合旧址| 日韩一区二区在线播放| 高清无码入口| 婷婷丁香视频在线观看免费| 天天色丁香| 97超碰在线免费观看| 婷丁香五月天| 亚洲啪| 日韩五月丁香| 91丨九色熟女丨首页| 色五月丁香五月婷婷五月成人网 | 丁香六月婷婷色播| 天天婷婷| 九九精品99久久久| 香蕉AV777XXX色综合一区|