国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

Pandas DataFrame時(shí)間序列處理:重采樣、滾動特征與數(shù)據(jù)泄漏排查

Pandas DataFrame時(shí)間序列處理:重采樣、滾動特征與數(shù)據(jù)泄漏排查 DataFrame 的時(shí)間序列處理我前后踩過三輪坑才算真正用順。第一輪是把時(shí)間列當(dāng)普通字符串排序結(jié)果亂序數(shù)據(jù)喂進(jìn)模型指標(biāo)飄得沒法復(fù)現(xiàn)第二輪是重采樣窗口邊界沒對齊日匯總和原始分鐘數(shù)據(jù)對不上賬排查到半夜第三輪最狠構(gòu)造的特征里混進(jìn)了未來信息離線評估漂亮得離譜實(shí)際跑起來直接失效。這三個(gè)坑基本覆蓋了時(shí)間序列 DataFrame 的絕大多數(shù)陷阱也正好說明了為什么這一塊必須單獨(dú)拎出來講。它是 DataFrame 系列的收尾篇也是銜接機(jī)器學(xué)習(xí)前置技術(shù)棧的關(guān)鍵一環(huán)——前面講的索引、切片、合并、聚合本質(zhì)都是把數(shù)據(jù)擺整齊而時(shí)間序列這一篇要解決的是讓數(shù)據(jù)帶著時(shí)間語義動起來。如果你正在做設(shè)備采集分析、業(yè)務(wù)指標(biāo)監(jiān)控、銷量預(yù)測或者準(zhǔn)備把一張帶時(shí)間戳的表轉(zhuǎn)成模型能吃的特征矩陣這篇的內(nèi)容基本可以照著抄。下文所有代碼都基于常規(guī)實(shí)踐整理環(huán)境是 Python 3.10 以上配 Pandas 2.x2.x 和 1.x 在部分時(shí)間序列行為上有差異我會在涉及的地方標(biāo)出來。1. 時(shí)間序列 DataFrame 的底層邏輯與設(shè)計(jì)取舍1.1 為什么時(shí)間列不能只當(dāng)普通列用很多人第一次處理時(shí)間數(shù)據(jù)的直覺是時(shí)間不就是一列字符串嗎排序、篩選、分組照做就行。這個(gè)做法在數(shù)據(jù)量小、需求單純的時(shí)候確實(shí)能跑一旦涉及按天匯總、取最近七天均值、補(bǔ)齊缺失的分鐘點(diǎn)這類操作就會立刻暴露出問題。原因在于 Pandas 的時(shí)間序列能力并不是掛在列上的而是掛在索引上的——DatetimeIndex是一個(gè)帶有頻率語義的特殊索引對象它能回答下一個(gè)時(shí)間點(diǎn)是誰這種普通列回答不了的問題。你寫df.resample(D)Pandas 需要知道當(dāng)前索引的粒度、有沒有空洞、邊界怎么取這些都依賴索引是DatetimeIndex這個(gè)前提。把時(shí)間留在普通列里resample直接報(bào)錯(cuò)rolling的時(shí)間窗口寫法也用不了只能退化成按行數(shù)滾動的近似方案精度和語義雙輸。我自己習(xí)慣的做法是原始數(shù)據(jù)讀進(jìn)來之后第一時(shí)間把時(shí)間列轉(zhuǎn)成datetime64[ns]然后set_index提到索引位置再sort_index()排一次序。這三步做完后面所有操作才有意義。排序這一步特別容易被跳過因?yàn)榇蠖鄶?shù)采集數(shù)據(jù)天然是順序?qū)懭氲目雌饋聿挥门?。但只要中間有過補(bǔ)數(shù)、合并、多源拼接順序就可能被打亂而resample、rolling、shift全都是順序敏感的——順序錯(cuò)了結(jié)果不會報(bào)錯(cuò)只會靜默算錯(cuò)這是最難查的一類問題。1.2 頻率語義freq 到底約束了什么freq這個(gè)參數(shù)經(jīng)常被誤解成數(shù)據(jù)實(shí)際的間隔其實(shí)它表達(dá)的是時(shí)間軸上的柵格規(guī)格。舉個(gè)例子一張表里記錄的是設(shè)備觸發(fā)事件的時(shí)間戳間隔完全不規(guī)則你可以給它設(shè)freqNone默認(rèn)也可以強(qiáng)行設(shè)成1min。設(shè)成1min之后Pandas 會認(rèn)為這條時(shí)間軸是按分鐘對齊的asfreq(1min)就會把不在整分鐘上的點(diǎn)丟掉或者對齊行為完全不同。所以freq是一個(gè)聲明不是一個(gè)檢測——你聲明了什么Pandas 就按什么處理聲明錯(cuò)了它也不會提醒你。這個(gè)設(shè)計(jì)取舍背后其實(shí)很合理自動推斷頻率在數(shù)據(jù)有噪聲時(shí)極不可靠與其猜錯(cuò)不如讓使用者顯式聲明。代價(jià)就是我們必須自己確認(rèn)數(shù)據(jù)的真實(shí)粒度。我常用的檢查手段是把索引轉(zhuǎn)成 Series 求差分然后看眾數(shù)import pandas as pd gap df.index.to_series().diff().value_counts().head(5) print(gap)輸出的前幾名基本就反映了真實(shí)粒度。如果第一名是0 days 00:01:00且占比九成以上那freq1min就是安全的如果前幾名分散得很厲害說明數(shù)據(jù)有大量缺失或者本身就是事件流這時(shí)候強(qiáng)行設(shè)freq只會給自己埋雷不如保持None用resample的時(shí)候再顯式指定目標(biāo)頻率。這個(gè)習(xí)慣幫我省過很多次排查時(shí)間——頻率聲明錯(cuò)誤導(dǎo)致的問題往往要等到下游聚合結(jié)果明顯不合理才被發(fā)現(xiàn)。1.3 幾種常見方案的橫向?qū)Ρ葧r(shí)間序列的建模方式不止一種選錯(cuò)了后面全是返工。我把實(shí)際項(xiàng)目里用過的幾種方案列個(gè)表方便對照自己的場景挑。方案時(shí)間位置適用場景主要優(yōu)勢主要代價(jià)普通列 手動分組普通列一次性報(bào)表、低頻分析無需學(xué)習(xí)成本無法用 resample/時(shí)間窗口 rollingDatetimeIndex resample索引固定頻率聚合、降采樣語義清晰、代碼短要求數(shù)據(jù)大致規(guī)整整數(shù)序號 時(shí)間列普通列不規(guī)則事件流、序列模型順序可控、便于對齊時(shí)間語義要自己維護(hù)PeriodIndex索引按月/季等周期統(tǒng)計(jì)周期邊界天然正確跨周期運(yùn)算受限第三行那個(gè)方案值得多說一句。做序列模型比如基于滑動窗口的回歸時(shí)我有時(shí)會故意不用DatetimeIndex而是保留一列整數(shù)seq當(dāng)索引時(shí)間作為普通列掛著。原因是模型訓(xùn)練階段更關(guān)心第 t 步到第 t-1 步的嚴(yán)格先后關(guān)系用整數(shù)序號可以避免時(shí)間空洞帶來的隱式錯(cuò)位特征對齊也更直觀。這不是說DatetimeIndex不好而是說工具要匹配階段——探索分析和特征工程用時(shí)間索引喂模型前轉(zhuǎn)成規(guī)整的二維矩陣。分清楚這個(gè)邊界很多到底該用哪種的糾結(jié)就沒了。2. 時(shí)間索引的建立與清洗臟數(shù)據(jù)的第一道閘2.1 to_datetime 的參數(shù)怎么選才不出事pd.to_datetime是入口函數(shù)也是最容易埋雷的地方。最常見的坑是不指定format讓它自己猜。Pandas 的推斷邏輯在混合格式下會退化成逐行解析速度慢幾十倍不說遇到2024-03-01和01/03/2024混在一起的情況它可能把后者解析成 1 月 3 日——月日顛倒結(jié)果全錯(cuò)而且不報(bào)錯(cuò)。我在一個(gè)多源合并的表上吃過這個(gè)虧兩個(gè)數(shù)據(jù)源一個(gè)用 ISO 格式一個(gè)用斜杠格式合并后時(shí)間線整體錯(cuò)位了半個(gè)月查了兩天才定位到。所以我現(xiàn)在的固定寫法是能確定格式就顯式寫format格式不統(tǒng)一就先按來源拆開分別轉(zhuǎn)轉(zhuǎn)完再合并。import pandas as pd raw pd.DataFrame({ ts: [2024-03-01 08:00:00, 2024-03-01 08:01:00, 2024-03-01 08:02:00], value: [1.2, 1.5, 1.1], }) raw[ts] pd.to_datetime(raw[ts], format%Y-%m-%d %H:%M:%S, errorsraise)errors參數(shù)也值得展開說。默認(rèn)是raise遇到解析不了的值直接拋異常改成coerce會把壞值變成NaT流程能繼續(xù)跑下去。我傾向于在探索階段用raise逼自己把臟數(shù)據(jù)全部找出來只有在已經(jīng)確認(rèn)臟值占比極低、且能接受丟棄的場景下才用coerce。見過不少代碼一上來就errorscoerce結(jié)果整列里有三成解析失敗全變成NaT后續(xù)dropna一刪樣本少了一大截還沒人察覺。另一類坑來自時(shí)間戳里的意外成分比如帶毫秒、帶時(shí)區(qū)偏移、帶中文時(shí)分秒。帶時(shí)區(qū)的字符串轉(zhuǎn)出來是datetime64[ns, tz]和本地時(shí)間的不同列運(yùn)算會報(bào)錯(cuò)需要統(tǒng)一tz_localize或tz_convert??鐣r(shí)區(qū)采集的場景里我的建議是一律先轉(zhuǎn)成 UTC 存著展示和業(yè)務(wù)判斷的時(shí)候再轉(zhuǎn)回本地偏移。這樣算差值、算間隔時(shí)永遠(yuǎn)不會因?yàn)榍袚Q偏移量而出現(xiàn)一小時(shí)誤差也避免了短暫偏移調(diào)整期內(nèi)的重復(fù)或缺失時(shí)間點(diǎn)——這類問題在日志里極難發(fā)現(xiàn)表現(xiàn)就是某個(gè)小時(shí)的樣本數(shù)莫名其妙多出或少掉一批。2.2 set_index、排序與重復(fù)時(shí)間戳的處理轉(zhuǎn)完類型就可以提索引了。這里有個(gè)順序細(xì)節(jié)先set_index再sort_index和先sort_values再set_index結(jié)果一樣但后者更慢因?yàn)閟ort_values走的是普通列排序路徑。直接排序索引效率更高df raw.set_index(ts).sort_index()真實(shí)數(shù)據(jù)里重復(fù)時(shí)間戳非常普遍尤其是多設(shè)備、多渠道寫入同一張表的時(shí)候。重復(fù)索引會讓resample的某些聚合口徑變得微妙也會讓reindex報(bào)錯(cuò)。處理方法要看業(yè)務(wù)含義如果是重復(fù)上報(bào)保留最后一條更合理后寫覆蓋先寫如果是同一時(shí)刻不同維度那就不該合并應(yīng)該加維度列做成MultiIndex。dup_cnt df.index.duplicated().sum() if dup_cnt: df df[~df.index.duplicated(keeplast)]keep取first、last、False三種False是把所有重復(fù)項(xiàng)全刪掉慎用——它會連帶丟掉本來有效的那條。我一般先統(tǒng)計(jì)重復(fù)數(shù)量占比很低千分之幾才直接去重占比高的話說明數(shù)據(jù)源有問題得回頭查采集鏈路不能靠去重掩過去。還有一個(gè)容易被忽略的點(diǎn)MultiIndex下的時(shí)間序列操作。當(dāng)索引是(設(shè)備編號, 時(shí)間)兩層時(shí)resample需要配合level參數(shù)指定在哪一層做df_multi df_multi.resample(1h, levelts).mean()level寫錯(cuò)或者不寫會得到完全不相關(guān)的結(jié)果或直接報(bào)錯(cuò)。這個(gè)用法在處理多序列數(shù)據(jù)多臺設(shè)備、多個(gè)門店時(shí)幾乎是必備的比循環(huán)groupby快一個(gè)量級我做過一次對比二十萬行、200 個(gè)分組resample(level)比groupby().apply()快大約四倍。2.3 補(bǔ)齊時(shí)間軸reindex 的正確打開方式缺失時(shí)間點(diǎn)有兩種處理哲學(xué)一種是沒有就是沒有保持稀疏一種是補(bǔ)齊柵格再填值保持規(guī)整。分析階段我偏向后者因?yàn)檎麠l時(shí)間軸完整之后rolling、diff、shift的語義才準(zhǔn)確。補(bǔ)齊用reindex配合date_range比resample更可控因?yàn)樗粫鋈魏尉酆蟜ull_idx pd.date_range( startdf.index.min(), enddf.index.max(), freq1min, namets, ) df_full df.reindex(full_idx)namets這個(gè)參數(shù)別漏不寫的話新索引沒名字后面reset_index會得到index這個(gè)列名接下游容易對不上。補(bǔ)出來的空位是NaN怎么填取決于數(shù)據(jù)性質(zhì)測量值可以前向填充ffill或線性插值計(jì)數(shù)類指標(biāo)應(yīng)該填 0比率類指標(biāo)最好別亂填寧可標(biāo)成缺失讓模型自己處理。我見過把缺失的比率直接ffill二十多個(gè)點(diǎn)的做法等于人為制造了一段平坦的假數(shù)據(jù)模型學(xué)到的就是這個(gè)假規(guī)律評估階段看起來還行實(shí)際預(yù)測時(shí)就會在同樣的位置給出可疑的平穩(wěn)輸出。注意ffill一定要設(shè)limit否則長時(shí)間斷流會被一個(gè)值填滿整段看起來像真的連續(xù)觀測。我的習(xí)慣是limit3最多補(bǔ)三個(gè)點(diǎn)超出的保持NaN交給下游丟棄或單獨(dú)標(biāo)記。3. 重采樣與頻率轉(zhuǎn)換降采樣和升采樣的實(shí)操細(xì)節(jié)3.1 resample 的聚合字典與命名規(guī)范降采樣高頻轉(zhuǎn)低頻最常用的就是resample?;A(chǔ)寫法很簡單但真正用起來聚合方式往往不是一個(gè)函數(shù)能打發(fā)的——平均值、最大值、樣本數(shù)、缺失率一次要算好幾個(gè)指標(biāo)。這時(shí)候用命名聚合Pandas 0.25 之后支持比傳字典更清晰daily df.resample(D).agg( val_mean(value, mean), val_max(value, max), val_min(value, min), sample_cnt(value, count), missing_cnt(value, lambda s: s.isna().sum()), )(列名, 函數(shù))這種元組寫法直接產(chǎn)出扁平列名比agg({value: [mean,max]})出來的多級列名好處理得多。多級列名后續(xù)要droplevel或者手動拼名字很容易出錯(cuò)尤其是下游要按列名取特征的時(shí)候。這一點(diǎn)我在給模型準(zhǔn)備特征表時(shí)深有體會——多級列名導(dǎo)成 CSV 再讀回來列名會變成(value, mean)這樣的元組字符串再想取某列就非常難受。所以從聚合那一步就把名字定干凈后面省事。3.2 窗口邊界closed 和 label 到底怎么影響結(jié)果resample里最容易算錯(cuò)的就是窗口邊界。默認(rèn)closedleft、labelleft意思是左閉右開、標(biāo)簽用左端點(diǎn)。舉個(gè)具體例子resample(5min)在08:00到08:05之間默認(rèn)口徑包含08:00:00到08:04:59的數(shù)據(jù)時(shí)間標(biāo)簽記為08:00。這個(gè)默認(rèn)值符合大多數(shù)人的直覺但當(dāng)你要和另一套系統(tǒng)對齊時(shí)就必須顯式確認(rèn)——對方是左閉右開還是左開右閉標(biāo)簽打在區(qū)間起點(diǎn)還是終點(diǎn)差一點(diǎn)就是整體偏移。left_closed df.resample(5min, closedleft, labelleft).mean() right_closed df.resample(5min, closedright, labelright).mean()這兩行結(jié)果看起來只差一個(gè)時(shí)間標(biāo)簽但實(shí)際數(shù)值分布完全不同因?yàn)槁涞矫總€(gè)桶里的原始點(diǎn)不一樣。我在一次對賬里就是因?yàn)檫@個(gè)差了一整個(gè)時(shí)間桶上游按右閉算、我按左閉算兩邊的日匯總在跨天時(shí)刻差了整整五分鐘的數(shù)據(jù)量級不大但對不上賬就是問題。還有一個(gè)參數(shù)origin在按天、按周聚合時(shí)很關(guān)鍵。默認(rèn)originstart_day也就是按自然日切如果要按從某個(gè)時(shí)間點(diǎn)開始的 24 小時(shí)切就得傳originstart或具體時(shí)間戳。做班次統(tǒng)計(jì)、按批次時(shí)長聚合的場景這個(gè)參數(shù)直接決定結(jié)果對不對。3.3 asfreq 和 resample 的差別別混著用這兩個(gè)函數(shù)經(jīng)常被當(dāng)成等價(jià)物其實(shí)定位完全不同。resample是分組聚合必須給一個(gè)聚合方式或者默認(rèn)取均值asfreq是重采樣到新柵格只做取樣不聚合多出來的點(diǎn)直接丟空出來的位置給NaN。做升采樣低頻轉(zhuǎn)高頻的時(shí)候我?guī)缀踔挥胊sfreq因?yàn)樯蓸颖緛淼恼Z義就是放大柵格、保留原值、填空缺用resample反而會引入不必要的聚合邏輯。up df.asfreq(30s) up[value] up[value].interpolate(methodtime)interpolate(methodtime)這個(gè)寫法值得單獨(dú)說。普通的interpolate()是按位置線性插值methodtime是按時(shí)間距離加權(quán)。數(shù)據(jù)間隔不均勻的時(shí)候兩者差別明顯比如08:00值是 1、08:04值是 5中間08:01那個(gè)點(diǎn)按位置插值給 2等距假設(shè)按時(shí)間插值同樣給 2看起來一樣但如果中間點(diǎn)是08:03按位置給 3按時(shí)間給 4。顯然按時(shí)間更符合物理意義。不規(guī)則采集的數(shù)據(jù)做插值一定要加methodtime否則時(shí)間間隔的信息白丟了。3.4 一個(gè)完整的分層聚合實(shí)戰(zhàn)把上面這些串起來走一遍從分鐘級原始數(shù)據(jù)到日級特征表的完整流程。假設(shè)手頭是某設(shè)備采集項(xiàng)目導(dǎo)出的一份記錄字段是時(shí)間和讀數(shù)存在亂序、少量重復(fù)、部分時(shí)段斷流。import numpy as np import pandas as pd # 1) 解析與索引 df (raw .assign(tslambda d: pd.to_datetime(d[ts], format%Y-%m-%d %H:%M:%S)) .set_index(ts) .sort_index()) # 2) 去重 df df[~df.index.duplicated(keeplast)] # 3) 補(bǔ)齊分鐘柵格 full_idx pd.date_range(df.index.min(), df.index.max(), freq1min, namets) df df.reindex(full_idx) # 4) 短缺口前向填充長缺口保留 NaN df[value] df[value].ffill(limit3) # 5) 日級聚合 daily df.resample(D).agg( val_mean(value, mean), val_std(value, std), val_max(value, max), sample_cnt(value, count), missing_cnt(value, lambda s: int(s.isna().sum())), ) # 6) 派生指標(biāo) daily[coverage] daily[sample_cnt] / 1440 daily[range] daily[val_max] - daily[val_min]這里第 6 步的coverage覆蓋率是我每次都會加的一列。它等于有效樣本數(shù)除以理論樣本數(shù)直接反映當(dāng)天數(shù)據(jù)質(zhì)量。覆蓋率低于某個(gè)閾值的日期后面建模時(shí)我會單獨(dú)標(biāo)記甚至剔除——用覆蓋率只有三成的天算出來的日均值噪聲比信號大得多混進(jìn)訓(xùn)練集只會拉低模型表現(xiàn)。這個(gè)指標(biāo)沒有任何技術(shù)難度但很多人的特征表里就是沒有導(dǎo)致他們永遠(yuǎn)不知道自己的日均值里有多少天是殘缺的。4. 滾動窗口與滯后特征機(jī)器學(xué)習(xí)前置的核心武器4.1 rolling 的窗口類型與 min_periods 陷阱rolling有兩種窗口定義方式整數(shù)窗口按行數(shù)和時(shí)間窗口按時(shí)間跨度。按行數(shù)寫rolling(7)就是前 7 行前提是數(shù)據(jù)已經(jīng)按固定頻率補(bǔ)齊否則7 行可能對應(yīng)三天也可能對應(yīng)七小時(shí)語義完全不同。時(shí)間窗口寫rolling(7D)才是字面意思上的過去七天Pandas 內(nèi)部按時(shí)間戳判斷不看行數(shù)。做業(yè)務(wù)特征我強(qiáng)烈建議用時(shí)間窗口因?yàn)闃I(yè)務(wù)口徑通常按自然時(shí)間定義最近七天而不是最近七條記錄。df[ma_7d] df[value].rolling(7D, min_periods1).mean() df[std_7d] df[value].rolling(7D, min_periods3).std()min_periods這個(gè)參數(shù)是個(gè)大坑。默認(rèn)值等于窗口長度意味著前六個(gè)點(diǎn)的滾動均值全是NaN——數(shù)據(jù)頭部直接損失。設(shè)成min_periods1能讓頭部也算出值但早期的值是兩三個(gè)點(diǎn)算出來的方差極大和后面的值不在一個(gè)尺度上。我的處理方式是折中設(shè)min_periods為窗口長度的一半左右早期那一段直接在下游截掉不用。這樣既不會因?yàn)轭^部NaN導(dǎo)致整行被dropna刪掉也避免了用兩三個(gè)點(diǎn)冒充七天均值。窗口的center參數(shù)也要留意默認(rèn)False表示窗口右端對齊當(dāng)前點(diǎn)只用歷史設(shè)True會讓窗口居中等于用了未來數(shù)據(jù)。做特征工程時(shí)center必須是False一旦設(shè)成True你的滾動均值里就包含了未來信息離線指標(biāo)會虛高。這個(gè)參數(shù)在畫圖平滑曲線時(shí)很好用在建模特征里是禁用項(xiàng)兩種場景要分開記別寫混。4.2 expanding 與 ewm長記憶特征的兩條路線rolling是固定窗口expanding是從開頭累積到當(dāng)前點(diǎn)窗口長度一直變大。適合刻畫累計(jì)表現(xiàn)和歷史全量統(tǒng)計(jì)df[cum_mean] df[value].expanding(min_periods10).mean() df[cum_max] df[value].expanding(min_periods10).max()ewm是指數(shù)加權(quán)越近的點(diǎn)權(quán)重越大數(shù)學(xué)上等價(jià)于一個(gè)無限長但權(quán)重衰減的窗口。做有明顯趨勢和突變的指標(biāo)比如流量、活躍度ewm通常比簡單滾動均值跟得更緊滯后更小。關(guān)鍵是span和alpha的換算關(guān)系alpha 2 / (span 1)span7對應(yīng)alpha0.25。我一般直接用span因?yàn)樗投嗌偬斓闹庇X對應(yīng)得更直接。df[ewm_7] df[value].ewm(span7, adjustFalse, min_periods3).mean()adjustFalse這個(gè)參數(shù)務(wù)必加上。默認(rèn)True時(shí)早期結(jié)果會做歸一化修正數(shù)值形態(tài)和False有明顯差別而且在數(shù)據(jù)頭部差異最大。做特征時(shí)統(tǒng)一用False因?yàn)樗倪f推形式更接近在線更新的語義也便于你在流式計(jì)算里復(fù)現(xiàn)同樣的值。如果訓(xùn)練時(shí)用了默認(rèn)值、推理時(shí)自己手寫遞推公式兩邊必然對不上這類線上線下不一致的問題排查起來極其折磨。4.3 shift / diff / pct_change滯后特征的正確姿勢滯后特征是時(shí)間序列建模的主力三個(gè)函數(shù)各管一段shift平移、diff差分、pct_change變化率。用法簡單但有兩個(gè)細(xì)節(jié)必須講清楚。第一個(gè)是shift的方向。shift(1)是把數(shù)據(jù)往下推一行也就是當(dāng)前行拿到的是上一行的值——這才是用歷史預(yù)測現(xiàn)在的正確構(gòu)造。shift(-1)是把未來值拉到當(dāng)前行這是標(biāo)簽構(gòu)造用的當(dāng)前特征對應(yīng)下期目標(biāo)絕對不能出現(xiàn)在特征里。我在代碼審查時(shí)見過把shift(-1)當(dāng)特征寫進(jìn)流水線的那基本等于作弊。第二個(gè)是pct_change的除零和負(fù)值。當(dāng)上期值為 0 時(shí)變化率是inf當(dāng)上期值為負(fù)時(shí)變化率的符號會翻過來語義完全變味。穩(wěn)妥做法是先檢查分母分布必要時(shí)改用diff或者加一個(gè)極小偏移df[diff_1] df[value].diff(1) df[lag_1] df[value].shift(1) safe_base df[value].shift(1).where(lambda s: s.abs() 1e-9) df[pct_1] (df[value] - safe_base) / safe_base用where把接近 0 的分母替換成NaN比直接replace(0, np.nan)更安全因?yàn)楹笳咧惶幚砭_的 0處理不了1e-12這種實(shí)際上等效于 0 的值。除出來的inf一旦進(jìn)了模型標(biāo)準(zhǔn)化會被直接帶偏整列特征失效。4.4 一套可直接套用的特征構(gòu)造流水線把上面的零件組裝成一個(gè)函數(shù)這是我在項(xiàng)目里反復(fù)用的骨架。核心原則只有一條所有用到歷史統(tǒng)計(jì)量的特征都要先在原始序列上shift(1)再計(jì)算否則當(dāng)前點(diǎn)的值會進(jìn)到自己的特征里。def build_ts_features(df, targetvalue, lags(1, 2, 3), windows(7, 14)): out df.copy() base out[target] # 滯后特征 for k in lags: out[flag_{k}] base.shift(k) # 滾動統(tǒng)計(jì)先 shift 再 roll防泄漏 for w in windows: shifted base.shift(1) out[froll_mean_{w}] shifted.rolling(w, min_periodsmax(2, w // 2)).mean() out[froll_std_{w}] shifted.rolling(w, min_periodsmax(2, w // 2)).std() out[froll_max_{w}] shifted.rolling(w, min_periodsmax(2, w // 2)).max() # 差分與變化率 out[diff_1] base.diff(1) safe base.shift(1).where(lambda s: s.abs() 1e-9) out[pct_1] (base - safe) / safe # 時(shí)間特征 idx out.index out[hour] idx.hour out[weekday] idx.weekday out[is_weekend] (idx.weekday 5).astype(int) # 周期性編碼 out[hour_sin] np.sin(2 * np.pi * idx.hour / 24) out[hour_cos] np.cos(2 * np.pi * idx.hour / 24) return outshift(1)再rolling這個(gè)組合是整段代碼的靈魂。很多人寫特征時(shí)只對lag做了shift滾動統(tǒng)計(jì)直接在原序列上算結(jié)果第 t 行的roll_mean_7里包含了第 t 行的真實(shí)值——模型只要盯著這個(gè)特征就能看到答案離線評估自然漂亮。這個(gè)錯(cuò)誤的隱蔽性在于單看代碼base.rolling(7).mean()完全合理根本不像有 bug。唯一的防法是養(yǎng)成條件反射——看到滾動統(tǒng)計(jì)先問一句這個(gè)窗口的右端點(diǎn)包不包含當(dāng)前時(shí)刻。時(shí)間特征的周期性編碼也值得說一下。hour直接當(dāng)數(shù)值喂進(jìn)去模型會認(rèn)為 23 點(diǎn)和 0 點(diǎn)相差 23實(shí)際它們只差 1。用sin/cos做環(huán)形編碼把 24 小時(shí)映射到單位圓上距離關(guān)系就正確了。這個(gè)技巧對星期、月份同樣適用代價(jià)是多了幾列特征收益是模型不用再自己學(xué)這個(gè)映射關(guān)系小樣本下提升挺明顯。4.5 切分與防泄漏最后一道關(guān)卡特征表造好之后切訓(xùn)練集和測試集這一步必須按時(shí)間切不能隨機(jī)切。隨機(jī)切會讓測試集的時(shí)間點(diǎn)散落在訓(xùn)練集內(nèi)部模型實(shí)際是在插值而不是外推評估結(jié)果虛高。正確做法是按時(shí)間點(diǎn)截?cái)鄐plit_point int(len(feature_df) * 0.8) train feature_df.iloc[:split_point] test feature_df.iloc[split_point:]如果要做多折驗(yàn)證別用默認(rèn)的 K 折用時(shí)間序列專用的滾動切分保證每折的驗(yàn)證集都在訓(xùn)練集之后。還有一個(gè)細(xì)節(jié)標(biāo)準(zhǔn)化、歸一化這類操作統(tǒng)計(jì)量只能用訓(xùn)練集算然后應(yīng)用到測試集。很多人在整張表上fit完再切均值方差里已經(jīng)包含了測試集信息這是典型的隱性泄漏。我習(xí)慣在流水線里把fit嚴(yán)格限定在訓(xùn)練切片上寧可多寫兩行也不圖省事。提示造完特征先用一句feature_df.isna().mean().sort_values(ascendingFalse).head()看一眼各列缺失率。頭部那幾行被shift挖空是正常的如果有中間段落的列缺失率異常高多半是原始時(shí)間軸沒補(bǔ)齊或者聚合口徑寫錯(cuò)了別急著往下走。5. 常見問題與排查實(shí)錄5.1 問題速查表下面這張表是我這幾年遇到頻率最高的一批問題按癥狀—原因—處理三列整理遇到類似現(xiàn)象可以直接對號入座。癥狀大概率原因處理方式resample 報(bào)TypeError索引不是 DatetimeIndex檢查set_index后有沒有to_datetime聚合結(jié)果比原始數(shù)據(jù)少很多時(shí)間列解析失敗變NaT后被丟用errorsraise重跑定位壞值日匯總和手工核對差一截closed/label口徑不一致顯式指定兩個(gè)參數(shù)并與上游對齊rolling 頭部全NaNmin_periods默認(rèn)等于窗口長度降到窗口長度一半頭部截?cái)鄏olling 中間出現(xiàn)大段NaN時(shí)間軸有空洞時(shí)間窗口跨不過去先reindex補(bǔ)齊再滾動pct_change出inf上期為 0分母where掉近零值模型離線指標(biāo)好得反常特征含未來信息排查shift(-1)、centerTrue、未 shift 的 rolling推理結(jié)果與訓(xùn)練分布不符ewm的adjust不一致統(tǒng)一adjustFalse合并后時(shí)間線整體偏移多源時(shí)間格式不統(tǒng)一分源解析后再合并統(tǒng)一時(shí)區(qū)5.2 幾個(gè)只有踩過才知道的細(xì)節(jié)第一個(gè)是resample對空桶的處理。如果某個(gè)時(shí)間窗口內(nèi)一個(gè)樣本都沒有聚合結(jié)果里這一行會存在但全是NaNcount會是 0。這在做特征時(shí)很危險(xiǎn)——如果你用count當(dāng)樣本量特征模型會看到一堆 0如果用mean當(dāng)特征那是一堆NaN。我的做法是單獨(dú)保留count列作為質(zhì)量指標(biāo)其他統(tǒng)計(jì)量遇到NaN直接保留不填讓下游根據(jù)count決定這條樣本用不用。一刀切fillna(0)是最糟的選擇會把沒有數(shù)據(jù)偽裝成數(shù)值為零。第二個(gè)是Grouper和groupby的配合。當(dāng)你要按周聚合、但周的定義不是自然周比如從周一開始算resample(W)可能不符合預(yù)期pd.Grouper(freqW-MON, closedleft, labelleft)更靈活。另外多列分組時(shí)Grouper可以只對時(shí)間列生效其他列正常分組weekly df.groupby([ pd.Grouper(freqW-MON, closedleft, labelleft), device_id, ]).agg(val_mean(value, mean))這個(gè)寫法比先resample再unstack干凈得多尤其是在分組維度多的時(shí)候。第三個(gè)是性能。resample().agg()在千萬行級別會明顯變慢我實(shí)測過幾種寫法用命名聚合比傳字典快用內(nèi)置聚合函數(shù)比lambda快很多l(xiāng)ambda里的s.isna().sum()這類操作會退化成逐組 Python 調(diào)用。如果數(shù)據(jù)量大把自定義邏輯挪到聚合之后用向量化算能省掉一大半時(shí)間。另外一個(gè)思路是先降采樣到粗粒度再算比如日級特征不需要從分鐘級逐點(diǎn)算可以先聚合到小時(shí)再往上滾誤差在可接受范圍內(nèi)而速度提升明顯。第四個(gè)是時(shí)間序列的對齊問題多序列合并時(shí)尤其明顯。兩張表的采樣時(shí)刻不完全一致df1 df2會產(chǎn)生大量NaN因?yàn)?Pandas 按索引精確對齊。這時(shí)候用resample先統(tǒng)一到同一柵格或者用merge_asof做近似匹配。merge_asof要求兩邊都按時(shí)間排序direction參數(shù)控制取最近的過去還是最近的未來做傳感器數(shù)據(jù)與事件打標(biāo)對齊時(shí)特別好用比reindexffill更精確因?yàn)樗梢赃x擇最近鄰而不是單純的前向。最后分享一個(gè)我自己養(yǎng)成的習(xí)慣任何一次時(shí)間序列處理開頭先打印三行——索引類型、索引是否單調(diào)遞增、時(shí)間跨度。這三行幾乎能提前暴露八成的潛在問題。print(type(df.index).__name__) print(df.index.is_monotonic_increasing) print(df.index.min(), -, df.index.max(), | rows:, len(df))看起來是廢話但我確實(shí)靠這三行抓到過好幾次數(shù)據(jù)只導(dǎo)入了半天的低級錯(cuò)誤——文件截?cái)唷⒉樵儣l件漏了時(shí)間上限這類問題不會報(bào)錯(cuò)只會讓你在幾小時(shí)后對著一堆反常的聚合結(jié)果發(fā)懵?;ㄈ腌姶蛴”然ㄈr(shí)排查劃算得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久9爱经典视频| 桃色人妻在线视频| s片在线观看| 欧美日韩国产高清在线一二三区 | 黑人中出21连凳花野真衣| 亚洲九九九九| 99www.bibizy香蕉资源国产一区二区三区高清 | 91精品大奶人妻| 啊啊啊 在线| 欧美成人性爱视频大全| 国产馆| 九九色色| 午夜一级免费毛片| 秘书高跟黑色丝袜国产91在线| 国产小u女在线观看| 噜噜瑟| 国产999精品久久久久久| 97欧美日韩| 1024亚洲中文字幕久在线看片你懂的| 大香蕉久久| 91精品成人| 日本色色色色色视频| 久久久久久人体| 麻豆天美电影一区二区| 性爱Av免费| 凹凸视频在线一区二区| 色播综合| 日本一级性爱| 天天日B狠狠操| 人妻丰满熟妇一区二区三| 91熟女视频网| 后入内射蜜桃臀| 免费A V在线播放| 日本操大逼| 无码二级三级| 制服诱惑亚洲一区二区三区在线观看| 亚洲精品视频二区| 久久伊人网视频一区二区三区| 99精品视频在线观看免费| 久久大黄片| 中文字幕免费看| 色哟哟的毛片| 67914亚洲精品| 野狼激情网| 国产suv精品一区二区四| 人妻丝袜无 码视频专区| 久操网无码在线| 色综合av综合久久| 免费的黄片有限公司| 97色97干| 欧美国产欧美在线观看| 丝袜AV一二三区| 天天弄天天操| 天综合网| 日本999精品| 综合激情97 | 小情侣高清国产在线视频| 国产亚洲精品A在线观看下载| 欧美日韩中文视频播放| 国产日韩美女小穴视频网站不卡| 综合网亚洲在线| 91精品人妻一区二区三区蜜桃| 激情视频一二三| 欧美在线色| 久久精品国产亚洲粉嫩| 亚洲欧美国产精品久久久久久久| 香蕉精品二区二区| 男女啪啪啪18禁网站| 亚洲综合色图欧美| 日本成a人v网站在线观看| 国产精品久久久久婷婷二区次| 亚洲九九九| 超碰在线欧美性爱激情| 亚洲乱色熟女一区| 国产无马av| 久久99视频| 香蕉在线一区二区三区| 午夜精品99久久久久传媒| 丁香五月影院| 台湾佬中文娱乐网久久久久久久久久com | 亚洲无码免费看| 加勒比久久综合网高清| 亚洲 欧美 中文 日韩超碰 | 久久久久久久性爱| 亚洲AV无线| 东京热亚洲一区二区| 99RE在线视频精品,这里只有精品| 打av高清| 日日躁夜夜躁狠狠躁超爽| 日本人妻中文字幕| 天美传媒av 在线| 欧美日本不卡在线| 免费看日本操逼视频| 欧美色图天堂网m| 亚州性色| 婷婷亚洲天堂| 亚洲成人精品久久久| 国产91丝袜 在线播放| 久久久久久久亚洲Av无码| 人妻激情偷乱视频一区二区三区 | 都市激情人妻一区二区青青操视频| 国产精品不卡一区二区三区| 超碰97人妻| 亚洲一区二区中文字幕| 亚洲成人精品久久久| 久久久偷拍| 333kkkk·亚洲com久久| 亚洲国产中文字幕| 白丝av| 啪啪91| 骚逼一区二区| 久久国产逼| 五月丁香在线| 亚州性色| 一区二区偷拍拍视频| 婷婷人妻激情| 婷婷五月成人| 国产精品一区二区三| 伊人久久婷婷| 91丝袜美女视频| 97色在线| 综合网欧美| 色5月婷婷| 久久久一区二区| 噜噜噜在线视频| 熟女一区二区| 伦激情人妻另类人妻| 国产九九久久久精品| 91综合网站| 天美精品av| 亚洲毛片基地专区| 嗯嗯嗯啊啊啊操的我好爽| 国产精品不卡av免费在线观看| 蜜臀少妇一区二区| 黄色成人网久久久久久| 色五月激情网| 日韩一级欧美一级国产一级台湾| 九九久久首页| 国产一区二区在线播放量| 亚洲男人的天堂一区二区| 国产成人在线观看网址| 熟女色图在线| 国产区性爱在线视频秋霞豆 | 国产精品点击进入在线影院高清| 97免费在线视频在线观看| 亚州欧美色图| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 噜噜噜噜天天狠狠| 男生女生啊啊啊啊| 国产黄色av大片网站| 无马一区二区| AV丝袜少妇| 岛国视频免费在线观看| 久操免费观看| 成人欧美日超碰| 天天精品| 国产传媒午夜理伦精品| 色哟哟精品1精品2| 狠综合网| 操逼国产免费| 精品在线蜜臀| 九久9精品| 色色色999| 99999精品| 国模久久在线| 99自拍B亚洲 | 精品无码少妇| 亚洲区限制级| 欧美高潮在线| av资源在线播放天堂| 99在线精品视频| 日本一片一区| 91日韩在线| 亚洲国产成人7777| 蜜桃网熟妇| 熟女在线视频| 一本久道久久综合狠狠爱| 欧美大香蕉久| 欧美色图20P| 狠狠躁天天躁日日躁| 亚洲激情网一二三四区| 97久久视频| 午夜精品视频777| 加勒比综合九九99视频在线播放| 精品人妻伦一二三区久久| 久久产精品一区二区三区电影| 激情黄色五月天| 亚洲宅男天堂| 久久超碰爱| 黄色小视频日本txt| 国产精品无码成人精品| 大香蕉线| 日韩99999| 99re6国产精品99re| 日韩欧美午夜一区二区| 亚州综合在线| 农村少妇久久久久久久| 免费99精品国产自在在线| 嗯嗯啊啊用力视频免费| 超碰人人乐97| 国产精品一区人妻精品阁在线| 黄色视频特级毛片| 国产一区二区a毛片| 国产精品白丝在线播放| 日本人妻中文字幕精品| 国产无码一二三区| 国产精品久久久久久 百度| 日本操逼视频不卡直接放| 色视频蜜乳| 久久久亚洲熟妇熟女| 9久久精品| 清纯唯美综合亚洲| 色色97爱| 中文字幕丰满子伦无码专区在线视频最新 | 91c色| 日本 色 导航| 综合操逼| 插入综合网| 亚洲91av| 精品9999| 亚洲本色精品一区二区久久| 少妇熟女1区2区3区| 性猛交| 日本欧美中文字幕| 日本羞羞的视频在线播放| 亚洲性爱成人| 欧美一级久久久久久久大片动画| 亚洲性爱无码乱伦av| 亚洲欧美日韩精品久久久一区二区| 日韩欧美午夜视频在线| 丁香激情五月| 欧美有码亚洲中文字幕一区二区三区四区 | 今日头条成人一区二区三区四虎精品| 97频视在线| 色九九久九九| 婷婷在线视频在线观看| 国产中文字幕曰本毛片| 爽爽淫人网| 天天干天天日天天射黄色片| 岛国不卡超碰护士AV在线播放| 日韩欧美蜜桃精品久久中文字幕久久| 1204av韩国| 久操av在线| 特色a在线上| 一本色道久久天天射天天干| av资源在线播放天堂| 99欧美| 中国小夫妻勾搭露脸淫荡对白| 校园春色家庭伦理欧美激情| 视频不卡中文字幕| 日韩激情中文字幕有码| 久久手机好看网站| 一区e区三| 日韩欧美加勒比| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 神马久久网| 亚州欧美在线| 欧美 日韩 亚洲 春色| 亚洲丝袜二区| 伊人久久亚洲色欲综合网站 | 99热精品在线在线| 骚女高跟AV在线| 东北熟女91| 懂色中文一区二区三区| 男人天堂2019亚洲| 男人的天堂日韩| 精品人妻一区二区三区在| 92午夜免费福利视频| 日韩紧密久久| 超碰色图| 99日精品欧美国产| 亚码激情| 欧美人妖内射| 国产综合操逼高清| 欧美一级专区免费大片| 国产精品日本无码A片| 不卡免费av在线播放| 丰满精品人妻少妇久久字幕| 欧美大片91| 蜜桃无码AV一区二区| 狠狠亚洲| 无遮挡一级毛片视频免费的| 男人下部插入女人下部| 久热最新在线杭州| 久热9| 久久视频,这里只有精品| 天天干天天舔| 97丝袜亚洲在线播放| 国产精品久久久久无码Av网曝门| 久妇网| 精品一区二区三区18| 国产亚洲禁久一区二区 | 国产精品黑人一区二区三区| 国产精品肉丝自拍| 日本孕妇一区二区视频操逼免费看| 91Chinese在线| 夜夜无码| 91久久久久免| 中日韩免费看男女操逼大全| 综合干干干av久久久综合网| 69av一区二区三区| 国厂麻豆77q4| 日韩不卡毛片Av免费高清| 亚洲色悠悠久久88| 无色无码| 99re28在线观看| 婷婷久草| 大香蕉狠狠爱| 色噜噜国产在线| 欧美 精品国产制服第一页| 熟妇人妻一区二区| 国产精品色片一区二区| 偷拍亚洲视频一区二区三区四区| 在线啊v一区| 91老司机在线| 97公开久久| 欧美强奸乱能| JuliaAnn丝袜熟女系列| 亚洲码和欧洲精品激情系列| 欧美黄色大片在线观看 | 青青草成人视频在线观看二区| 中文人妻av高清一区| 99操99| 成人免费性爱视视| 国产熟码AV| 色色婷婷丁香| 亚洲欧美色图小说| 青青青草原| 99999久久久久9国产精品| 国产精品国产亚洲区艳妇糸列| 国产一区麻豆免费观看| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美色图99| 婷婷综合五月天| 欧美成人A√在线一区二区| 在线免费试看60秒| 国产精品无码在线| 国产成人在线观看网址| 伦理日韩国产久久| 精品妇女一区二区三区| 在线v中文字幕一区二区三区 | 亚洲av噜噜噜噜噜噜| 欧美日韩亚洲电影| 天天看综合网| 亚洲二区精品在线观看 | 99精品在线观看| 日韩性爱1级片视频| 色天天野狼综合社区| 天天综合AV| 亚洲第一成人影院色播| 91丨豆花丨熟女| 男人亚洲天堂| 天美传媒精品久久视频| 肉丝无码中文高清| 少妇500双飞99| 色爱综合网| 天天弄天天操| 视频国产成人精品日本亚洲18| 97久久国产亚洲精品超碰热| 成人老鸭窝人人在线视频| 亚洲天堂 视频你懂的| 亚洲欧美日韩制服另类| 天美传媒婬乱在| 日韩欧美中文字亚洲慕| 乱欲性色| 久久鲁夜| 台湾肥佬网一区二区三区| 亚洲91极品| 久久精品国产72国产精品福利| 国内亚洲高清无码| 性夜影院爽黄A爽免费动漫| 蜜臀99久久精品久久久久久| 欧美色道啊| 久草毛片电影怡| 狠狠狠一区二区三区| 激情五月丁香五月| 五月丁香| 黄污污污污| 婷婷爱五月| 九九色影院| 久久肏大逼| www黄片免费看com| 国产精品一区二区黄片| 亚洲超碰在线| 天天干天天拍| 精品人人| 精品久久久久黄少妇| 情侣开房子拍 日韩无码 女的很漂亮| 五月激情综合网| 精品久热| 偷拍 亚洲| 厕所偷拍在线| 在线视频五十市| 亚洲区限制级| 久男人久久| 日日骚av| 东京热天堂网| 操逼无码操逼| 99性爱在线观看| 亚洲操逼无码| 成人AV素股で擦久久| 日韩内射视频| 日韩电影天堂视频二区三区| 在线色资源| 一区二区视频在看| 精品国模无码| 国产精品无码av在线| 中国一区二区亚洲人妻| 九九碰九九爱97| 18精品一区| 亚洲 欧美 另类 日韩 人妻一区 | 欧美人与动性人交a| 热久久国产| 亚欧Av| 一二三四日本视频高清| 亚洲AV不卡在线观看尤物| 青青草日韩免费观看高清在线| 俺去啦自拍| 超碰91在线| 欧美激情性爱视频网站| 欧美v亚洲v日韩v最新在线二区| 日韩成人综合网| 黄色二级片网站| 97se综合| 五月婷亚洲精品天堂| 日逼视频日本| 亚洲国产精品久久久久婷婷青年| 国产第二页| 91网站18| 9久热| 成人热久久精品| 欧美熟妇精品黑人巨大91| 秋霞一级鲁丝片A片| 秋霞无码av鲁丝片一区| 7月婷婷综合| 九九热午夜欧亚国产视频| 精品久久久久久中文字幕视频免费| 一级二级三级黑人无码| 97网址www| 日本天堂在线播放| 久久首页| 国产精品肉丝自拍| 东京太热男人的天堂久久久| 干日本人少妇午夜寂寞影院| 国产久久久9999| 9美女超碰在线免费观看| 先锋激情∨在线视频播放| 欧美亚洲日韩人妻在线观看| 国产后入清纯| 91精品女厕偷拍视频| 亚洲伊人久久精品狠狠在线| 欧美人妻制服| 五月丁香六月激情综合| 亚欧美综合| 国产黄片精品在线| 国产乱码精品久久久久久| 1769成人国产精品视频| 国产av尤物| 超碰色大香蕉| 色婷婷五月综合激情中文字幕| 91爱做| 一级性爱视频免费观看 | 大色综合| 丝袜六区| 色激情综合网站| 在线黄页看毛片| 国产9熟妇视频网站| 国产一级做a爰大片免费久久| 亚洲 欧美 另类 日韩 人妻一区 | 神马久久久久久久久久| 懂色av色欲av蜜臀av| 午夜精品久久久99| 最近2018中文字幕在线高清第一页| 韩国一区二区精品亚洲| 91久久久亚洲| 四虎国产成人精品免费一女五男| 一起草欧美| 国产乱弄免费在线视频。| 欧美人人曰人人操人人射射| 久久伊人青青草| 日本三级一区二区 在线| 超碰这里只有精品| 另类小色呦| 日韩91网| 久久秀这里有精品| 午夜乱轮操逼视频免费看| 欧美性爱一区二区三区四区| ..日韩av毛片精品久久久| 亚拍在线| 日韩另类| 久久AV无码AV| 神马久久69| 欧美大香蕉专区网| 久久久久白虎| 久久熟妇五十路一区| 日本东京热加勒比久久| 后入合集| 97超碰天天| 國產尤物AV尤物在線觀看| 蜜桃臀av一区二区| 嗯嗯嗯啊啊啊操的我好爽| av在线不卡一区二区三区| 9ⅰ久久久天天| 丝袜美腿诱惑亚洲欧美视频在线观看 | 国模91| 亚洲宅男天堂| 亚洲精品性爱片| 四虎精品永久在线观看| 4141514逼喷水三级片| 你想操日本小逼吗| 777超碰| 91久久堂| 午夜精品久久久久久久男人的天堂| 久久成年片色大黄全免费网站| 精品亚州18| 婷婷亚洲色| 日日操免费视频| 91在线一起| AV天堂电影网| 97人妻碰碰中文无码久热丝袜| 国产探花日韩援交| 好爽视频在线观看视频| 午夜精品久久久99热蜜桃的功能特点| 日韩情色视频| 桃色五月天| 国产探花精品在线| 欧美日韩大香蕉| 国产精品另类一区大香蕉| 日韩AV色图| 五月丁香婷婷色| 99色热国产视频精品| 婷婷涩嫩草鲁丝久久午夜精品| 久久九操在线观看| 欧美在线l亚洲| 东北黄色电影| 久久激情视频| 天天插天天操| 蜜乳AV网址| 啪啪视频亚洲第一| 国产精品久久久久久亚洲色欲| 精品美女少妇一区二区| 后入式五六区| 超碰一区二区| 夜精品久无码| 亚洲激情天堂网| 天天摸夜夜摸| 无码一区二区三区四区五区六区七区八区九区十区视频 | 大香蕉乱伦视频网| 天天干人妇| 国产精品蜜乳AV| 午夜视频好爽啊| 久久中文字幕一区不卡| 操逼逼一区视频| 国产欧美日本亚洲精品| 粉嫩av平台| 日本久久女同性恋视频| 中文乱码字字幕在线第5页| 一起草视频在线| 亚洲色人阁| 久久啊啊| 秋霞Av理论一级在线| 亚洲男人天堂AV| 精品午夜福利| 精品人妻一二三| 日韩av无码网站| 精品人妻一区二区三区四区石在线| 国产强奸乱伦无码视频| 性爱视频免费网址| 强奸乱伦亚洲第一页| 黄片com.| 综合色色网| 丁香六月婷婷久久综合| www.97在线| 国产AV人人 夜夜人人澡| 99国产精品久久久久久久成人热| 欧色性第一页| 亚洲天堂久| 99re黄| 亚洲欧美日韩免费观看| AV和黑人在线播放| 偷窥自拍A片| 五月婷婷六月色| 久久综合乱子伦国产免费| 在线黄色污污网站| 老司机福利社视频在线观看| 久久久蜜桃臀无码视频| 黄色av网站在线播放| 日本一区二区成人在线| 婷婷色综合| 美腿丝袜偷拍亚洲欧美| 国产精品午夜精品| 九九AV| www.91逼逼.com| 99热这里只有精| 色综合加勒比四四季| 国产精品69久久久久久久 | 日韩精品三区四区| 亚洲高清在线se| 欧美一二三| 啪啪免费| 91老司机在线视频免费观看| 日本高清熟女久久一区| 91老熟女视频| 国产精品探花在线| 闷骚老熟女15P| 91日韩网站| 日本三级A片网站com| 99色在线| 亚洲人久久久网| 精品国产乱码久久久久久网站入口| 蜜乳AV.COM| 玖玖超碰熟| 蜜桃臀av一区二区| 特级毛片特黄久久免费看| 亚洲日韩视频二区| 2000亚洲男人天堂| 黄色av一区二区在线| 伊人少妇久久久| 闷骚老熟女15P| 粉嫩AV一区夜夜嗨| 粉嫩AV输入| 天天操天天谢| 91热| 亚洲成人ab| 免费国产电影一区二区| 超碰色男人操熟女| 91一起操| 欧美午夜精品久久久久久3D| 玖玖97综合| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 在线五区| …中文字幕亚洲乱,97人妻无码费视… | 密臀成人视频久久久| 龙兴卡官方查询| 99久久久| 再深点灬舒服灬太大了添视频| 欧美国产伊人久久久久| 色噜噜综合在线| 日韩亚洲欧美中文字幕| 1禁看欧美黄片免费看| 欧美96在线|欧| 啊啊啊啊免费视频| 人人模人人看| 大香蕉宅男伊人| 自拍偷拍国产欧美日韩韩| 亚洲图片日本AⅤ欧美在线| 蜜臀th| 国产精品96久久久久久| 精品成人av一区二区三区在线| 久久大香蕉手机高清| 97jingpin| 97资源视频| 日日夜夜狠狠| 啊啊啊啊啊啊啊在线| 操逼无码操逼| 婷婷激情五月综合| 神马久久久久久久久| 一级性爱啪啪视频| 三级片大波波| 亚洲开心网| 天天干美少妇一区| 青草精品视频-日本久久久久网站| 欧美日韩另类在线播放| 亚洲AV资源| 内射老妇BBWX0C0CK| 激情丁香五月| 玖玖久久久| 青青草天天亲夜夜操网| 亚洲综合大片| 国产操偷| 九草九九九| 日本 欧美 国产一区| 久男人久久| 玖玖综合.com| WWW操逼| 欧美精品91| 新久久AV| 精品美女少妇一区二区| 色综合久| 日韩熟女无码| 青娱乐手机日韩在线视频| 国产亚洲日韩在线三区黑人| 十八禁一区二区无码观看| 国产 热久久久久国产精品| 久久久一区二区| 五月丁香大香蕉| 国产黄色剧情影片麻豆免费播放| 婷婷情色五月天| 人人插人人摸人人| 国产精品高潮久久久无码| 哑洲在线| 97国伦国色| 国产热RE99久久6国产精品首| 天天干天天日天天射黄色片| 萌白酱自拍视频| 四虎影视国产精品| 日韩三级在线观看mp4| 手机在线播放国产福利| 国产精品视屏| 亚洲另类色综合网站| 最新欧美色网| 在线播放成人网站| 国产一区自拍欧美日韩| 四虎影视欧美| 99re综合伊人| 天美精品一区二区三区四区在线观看| 婷婷九月| 亚洲精品人妻吞精av | 屁股久久久久久| 久久爱超碰网| 中文字幕视频2区| 全球成人中文在线| 全球成人中文在线| 岛国色情视频在线观看| 久久 国产 无码| 男女猛烈无遮掩视频免费软件| 老鸭窝成人免费毛片视频| 97操B| 激情在线青青操| 亚洲一区二区中文字幕| 清纯唯美综合亚洲| 亚州欧美综合| 亚洲欧美变态| 日本一二三免费久久| 欧美黑人精品一区二区| 无码在线亚洲| 日本网色| 人人摸人人干| 精品妇女一区二区三区| 啊啊啊啊啊啊啊国| 精品一区二区三区最新| 中文字幕在线观看网页| 亚洲熟女乱综合一区二区三区| 亚洲AV资源| 亚洲精品一区二区免费在线观看| 嗯嗯啊啊视频一区二区三区| 天天澡天天爽日日av| 人人澡人人澡人人| 97在线日韩中文字幕| 99999精品| 久久双插| 睡产熟女乱伦| 亚洲精品视频二区| 超碰碰激情97+久| 91四海无码日韩欧美| 国产成人五月天丁香花| 岛国福利在线精品播放| 麻豆啪啪啪视频| 熟妇艹鸡八| 天天摸天天操视频| 九九视频黄色片| 99免费视频| AV丝袜少妇| 熟妇色99| 夜嗨影院| 熟啊v色欧美热| 亚洲人妻久久久| 欧美日韩午夜精品一区二区三区| 色婷婷五月综合| 亚洲国成人情色好看电影| www欧美91| 国产一区二区a毛片| 日韩97视频!在线| 青女偷拍网| 日本一级性爱| 久久中文字幕女同性恋一区| 被男人添B超爽视频| 青青久操| 亚洲无码国产精品久久| 2025亚洲男人天堂| 啊啊啊好大好深| 超碰成人国产| 蜜桃臀一区二区aV| 人人看人人爰人人操| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 日韩人人精品| 96久久精品一二三区色欲| 蜜桃狠狠色伊人亚洲综合 | 开心五月天激情网| 亚洲男人综合| 啊啊啊用力在线观看| 亚洲熟女人妻中文字幕一区二区| wwwcaobibi| 偷拍新久久| 九月丁香婷婷| 亚洲天天操| 国内黄色精品| 最新日日夜夜天天干干| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 天天综合网日韩7799| 干婷婷综合网| 中文字幕版| 中文字幕精品一区二| 人妻 中文 日韩| 久久性爱免费送| 亚欧精品久久久久久久久久久| 96超碰网| 97超碰热线| 国产精品午夜高潮呻吟久久av| 久久岛国| 中国的操老妇女| 伊人成人中文字幕久久网| 波多野结衣AV无码一区| 中文字幕精品亚洲熟女| 好爽,再快点啊哈嗯嗯嗯嗯| 91在线超高颜值国产| 亚洲男人电影天堂| 欧洲色综合| 青青青艹在线视频| 日韩美脚一区二区网站| 无码视频黄色网战| 岛国黄片网站| 97视频网站| 天天摸天天操视频| 欧美在线啊啊啊 | 久插综合| 精品久久久无码| 日韩人妻一区二区精品| 91人妻最真实刺激绿帽| 欧美色九九| 日韩精品系列| 亚州综合色图| 精品无码久久久久| 精品十三区| 你草精品在线视频| 97日视频| 天天操人人操骚逼网站| 亚洲城人男人的天堂| 欧美熟妇视频 | 亚洲国产精品成人久久蜜臀| 久久精品操| 91性网| 91色欧美| 玖玖久久久| 国产精品乱码久久| 成人久久久| 精品无码秘 人妻一区二区| 亚州一区二区| 一区二区三区国产在线播放 | 亚欧精品久久久久久久久久久| 91国产精品在线看| 校园春色综合| 五十路熟女工口 | 国产超碰在线一区| 五十路熟女,国产欧美精品区一区二区三区| 麻豆 亚洲 97| 97国产精品在线观看| 91熟女视频网| 97欧美综合| 亚洲欧洲精品视频发布| 亚洲影视综合网| 老女人碰碰在线碰碰视频| 欧美综合在线第一页| 国产色产精品在线观看| 乱伦a片视频| 97看操| 操高情无码| 六月丁香啪啪| 99天天超碰| 2020中文字幕在线| 日韩色香| 尤物网址| 懂色AV一区二区三区| 99爱爱| 91肉丝| 乱伦熟女区| 亚州欧美一区| 日韩熟女三十乱伦| 日本岛国黄色网址| AV色五月天| 久久精品久久久久久久久| 五月丁香激情综合网| 色色青青久久| 三级AV入口| 亚洲色图20p| 亚洲综合网91| 丁香五月天激情| 超碰碰小说97| 中文字幕精品一区二区精| 日韩精品人妻系列无码天堂| 91精品丝袜久久久久久| 欧亚在线视频| 亚洲欧美日韩中文久久自慰| 天天干天天燥| 热天堂一区二区| www亚洲欧美| 久久九九网| 青青青在线高清视频在线一二三四区 | 女同性恋久久| 亚洲欲| 欧美亚洲另类在线蜜桃| 加勒比色综合| 精品一区二区成人动漫| 久久国产精品视频| 黑丝内射一区二区三区| 亚洲色宗合| 嗯嗯啊啊好疼| 强奸乱伦中文字幕AV| 91熟女丨老女人| 国产一国产一级毛片古装| 草久久久| 日本精品不卡一二三区| 亚洲成人在线乱码色午夜| 99色视频| 操屄日韩| 亚洲日韩黑丝| 天天综合~91入口| 亚洲AV噜噜狠狠网址蜜桃动漫| 综合97久久| 蜜桃色色网站视频三区| 欧美性爱免费短视频| 精品女同一区| 九九九九日本| 99色色网| www亚洲免费| 天美91| 99re这里只有精品2| 精品国产网站| 人妻丝袜无 码视频专区| 大香蕉黄色一级片免费看| 野狼福利社区| 蜜臀99久久精品久久久久久| 最新中文字幕av| 成人五月香网在线| 国产做?爰片久久毛片?片美国| jizz啪啪| 久久精品国产AV一区二区三区| 南澳成人一级片在线播放| 久久久九九九九| 东北女人的毛片| 亚洲色图a| 欧美熟妇乱码在线一区| 操久久久久久| 激情开心五月天| 99热这里是精品| 国产精品一二三免费网站| 色婷婷综合网| 免费一级欧美片片线观看| 日逼国产| 日本一区二区不卡精品| 狠狠激情综合狠狠操中文字幕| 草草影院最新网址| 黄色电影观看久久9| 成人三一级一片aaa| 精品人体无圣光凹凸| 日韩av不卡在线看| 成人福利视频网| 男女一级A片大黄,一进一出| 激情五月天丁香| 精品少妇一区二区三区免费观看| 国产11页| 超硑97精品| 啊啊啊男女| 999精品乱码| 无码直播久久久| 亚洲1区2区三区高清中文字幕| 最新中文字幕在线亚洲| 又黄又爽在线观看视频| 色女网日韩| 综合91网| 懂色av一区二区三区天美传媒| 久久久久久99AV无码免费网站| se01国产在线视频| 99性爱| 亚洲综合性感在线| 97精品一区| 韩美日操逼| 操美女高潮抽搐白浆| 内射白嫩美女| 91无码人妻| www.av家庭乱伦| 五月天激情四射| 亚洲色图自拍| 五月天久久综合网| 中日无幕一二三四区| 中文字幕av片| 玖玖超碰熟| 大乔未久88一区| 免费超碰97久久| 久久嫩草国产成人一区| 天天碰操中国年青熟妇| 久操国产在线| 超碰日韩美妻| 人人操我人人干| 久草福利在线资源站| 观看免费区二区三区二| 亚洲情色五月天 | 一级黄色性爱裸体视频| 蜜乳AV色欲AVAV无码| 99这里有精品| 六月婷婷一区二区三区| 欧美最大综合网| 加勒比海成人视频网| 成人精品水蜜桃久久久久久久| 99蜜月精品久久| 欧美日韩人妻精品一区二区三区| 日本色日夜干| 一区二区偷拍拍视频| 密臀在线一区尤物| 欧美日韩国产在线| 日本一二区不卡| 中文字幕一区 二 区 三 四 五 区日 日 骚| 午夜福利 成人 91| 亚洲成人碰碰| 欧美一级黄色免费专区| 色女综合| 亚洲精品天堂久久A∨51成人漫 | 日日操天天操| 亚洲中文一区二区三区| 欧美熟女激情| 婷婷综合激情| 97在线观看免费视频| 色色色色日本| 日本九九久久99播| 久九九九九九九九热| 精品高清一区二区三区三州| 精品国产乱码久久久久久影片| 亚洲色图第四色| 无码精品久久| 久久五月份| 超碰吊日色| 国产精品久久久久亚洲av| 日本免费一区二| 日韩精品一二三| 女人爽到高潮潮喷18禁网站| 久久国语| 久久久久久69国产一区二区| 久久久精品网| 91爱| 欧美少妇色图| 可以看的av| 麻豆尤物视频网| 日本肏逼视频在线观看| 亚洲伊人久久精品影院| 欧美日韩电影成人在线| 人人摸人人干| 欧美国产精品久久九九| 久久久久成人蜜桃精品| 色97干| 久久国产视频性吧| 99999久久精| 五月天激情视频| 久久这里只| 欧美亚洲第1页| 日韩 国产 欧美自拍| 欧美狠狠弄| 国产v片在线免费观看| 日逼五月天| 精品国产一区二区三区香蕉欧美| 欧美白嫩在线放| 欧美精品一区二区少妇免费A片 | 97超碰色屌| 欧美日韩插逼视频| 亚洲少妇在线影音| 国产成人精品无码久久| 屁股久久久久久久久| 激情啪啪拍91| 99re28在线观看| av优播| 欧美性爱18观看| 亚洲 综合 第一页| 国产女人成人精品视频| 欧美天天干| 国产极品999| 日本免费人成视频播放120秒| 在线中文AV| 在线日韩视频| V A在线| 国产精品一区二区后入| 天天天天天干夜夜夜夜夜操| 精品午夜福利| 91国产大片| 无码 有码 国产18p| 69一区二区| 日韩美女高潮喷水视频| 国模吧 一区二区三区| 操东北女人| 国产精品久久久九九九| 日本3级一区二区免费| 欧美激情激情xxxx欧美专区| 欧美一区二区成人一卡| a在线视频免费观看| 粉嫩av在线| 劲爆欧美人妖三区91| 大香樵伊人网| 精品视频免费在线一区| 水滴偷拍| 污污污8888| 欧美激情综合色综合啪啪五月| 日韩强奸av| 97伦综合| 国产成自自拍在线观看| 五月婷丁香| 精品国产一区二区三区在线播出| 欧美,日韩,中文,另类| 精品无吗久久| 偷拍综合网| 亚洲欧洲精品视频发布| 日日夜夜天天| 91女优在线观看 | 97色插| 精品高清一区二区三区三州| 丝袜视频网国产90| 成人久久无码www| 超碰人人在线| se01国产在线视频| 久久超碰97| 国产日韩中文字幕欧美| 综合网久久| 久久久草成人网站久久久草成人久久久草久久久 | 欧美片第一页| 免费精品AB| 熟妇人妻一区二区三在线| 蜜桃色色网站视频三区| 国产精选三级在线观看| 日韩免费在线视频观看| 在线日韩日本亚洲国产| 9精品久久久久| 亚洲素人网| 操b网站亚洲无码| 美国美女AV在线| 99re在线观看| 国产农村一一级特黄毛片| 综合欧美激情网| 韩三级a视频在线观看| 91色色网站| 亚洲熟女综合一区二区| 91 亚欧| 天堂精品一区| 超碰在线第一页| 亚洲熟久久| 亚州综合AⅤ| 国产丝袜美腿美女麻豆| 国产专区路线| 女人妻一区| 久久99国产综合精品女同| 99色| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 天天干少妇| 激情久久久| 国产综合操逼高清| 国产亚洲精品玖玖玖在线观看| 乱伦一区二区三区‘| 韩国三级一线观看久| 亚洲色图欧美一区二区不卡| 好吊色青靑草| 99热在线播放| 欧美色网| 天天干人人看综合| 性夜影院爽黄A爽免费动漫| 免费操逼91| 999久久久免费精品国产牛牛| 伊人国产成人av网站| 亚洲阿v天堂在线| 欧美,日韩综合久久| 日韩欧美蜜桃精品久久中文字幕久久| 天天操夜夜操| 超碰色图| 91操熟女| 日韩欧美操逼xxx|