日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

porphet论文_时间序列模型Prophet使用详细讲解

發(fā)布時間:2025/3/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 porphet论文_时间序列模型Prophet使用详细讲解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、簡易入門

二、飽和預測

2.1 預測飽和增長

2.2?預測飽和減少

三、趨勢突變點

3.1?Prophet 中的自動監(jiān)測突變點

3.2?調(diào)整趨勢的靈活性

3.3?指定突變點的位置

四、季節(jié)性,假期效果和回歸量

4.1 對假期和特征事件建模

4.2 季節(jié)性的傅里葉級數(shù)

4.3?自定義季節(jié)性因素

4.4?對節(jié)假日和季節(jié)性設(shè)定先驗規(guī)模

4.5?附加的回歸量

五、乘法季節(jié)性

六、預測區(qū)間

6.1 趨勢的不確定性

6.2 季節(jié)的不確定性

七、異常值

八、非日數(shù)據(jù)

8.1 子日數(shù)據(jù)

8.2?有規(guī)則間隔的數(shù)據(jù)

8.3?月數(shù)據(jù)

九、診斷

十、與機器學習算法的對比

一、簡易入門

Prophet 遵循?sklearn?庫建模的應用程序接口。我們創(chuàng)建了一個 Prophet 類的實例,其中使用了“擬合模型”?fit?和“預測”?predict?方法。

Prophet 的輸入量往往是一個包含兩列的數(shù)據(jù)框:ds?和?y?。ds?列必須包含日期(YYYY-MM-DD)或者是具體的時間點(YYYY-MM-DD HH:MM:SS)。?y?列必須是數(shù)值變量,表示我們希望去預測的量。

下面實例中使用的是?佩頓 · 曼寧的維基百科主頁?每日訪問量的時間序列數(shù)據(jù)(2007/12/10 - 2016/01/20)。我們使用 R 中的?Wikipediatrend?包獲取該數(shù)據(jù)集。這個數(shù)據(jù)集具有多季節(jié)周期性、不斷變化的增長率和可以擬合特定日期(例如佩頓 · 曼寧的決賽和超級碗)的情況等 Prophet 適用的性質(zhì),因此可以作為一個不錯的例子。(注:佩頓 · 曼寧為前美式橄欖球四分衛(wèi))

首先,我們導入數(shù)據(jù),該數(shù)據(jù)已經(jīng)做過了log處理(即,做過df['y'] = np.log(df['y'])操作)。

# Python

import pandas as pd

from fbprophet import Prophet

# 讀入數(shù)據(jù)集

df = pd.read_csv('examples/example_wp_log_peyton_manning.csv')

df.head()

通過對一個 Prophet 對象進行實例化來擬合模型,任何影響預測過程的設(shè)置都將在構(gòu)造模型時被指定。接下來,就可以使用?fit?方法代入歷史數(shù)據(jù)集來擬合模型,擬合過程應當花費 1 - 5 秒。

# 擬合模型

m = Prophet()

m.fit(df)

預測過程則需要建立在包含日期?ds?列的數(shù)據(jù)框基礎(chǔ)上。通過使用輔助的方法?Prophet.make_future_dataframe?來將未來的日期擴展指定的天數(shù),得到一個合規(guī)的數(shù)據(jù)框。默認情況下,這樣做會自動包含歷史數(shù)據(jù)的日期,因此我們也可以用來查看模型對于歷史數(shù)據(jù)的擬合效果。

# 構(gòu)建待預測日期數(shù)據(jù)框,periods = 365 代表除歷史數(shù)據(jù)的日期外再往后推 365 天

future = m.make_future_dataframe(periods=365)

future.tail()

predict?方法將會對每一行未來?future?日期得到一個預測值(稱為?yhat?)。如果你傳入了歷史數(shù)據(jù)的日期,它將會提供樣本的模型擬合值。預測?forecast?創(chuàng)建的對象應當是一個新的數(shù)據(jù)框,其中包含一列預測值?yhat?,以及成分的分析和置信區(qū)間。

# 預測數(shù)據(jù)集

forecast = m.predict(future)

forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

通過?Prophet.plot?方法傳入預測得到的數(shù)據(jù)框,可以對預測的效果進行繪圖。

# 展示預測結(jié)果

m.plot(forecast);

如果想查看預測的成分分析,可以使用?Prophet.plot_components?方法。默認情況下,將展示趨勢、時間序列的年度季節(jié)性和周季節(jié)性。如果之前包含了節(jié)假日,也會展示出來。

# 預測的成分分析繪圖,展示預測中的趨勢、周效應和年度效應

m.plot_components(forecast);

注: 一個很核心的問題是我們應該怎么樣理解上圖的3個子圖。通過對forecast這個Dataframe分析我們就可以得到結(jié)論。

我們先看下forecast都有哪些列。

print(forecast.columns)

Index(['ds', 'trend', 'trend_lower', 'trend_upper', 'yhat_lower', 'yhat_upper',

'additive_terms', 'additive_terms_lower', 'additive_terms_upper',

'multiplicative_terms', 'multiplicative_terms_lower',

'multiplicative_terms_upper', 'weekly', 'weekly_lower', 'weekly_upper',

'yearly', 'yearly_lower', 'yearly_upper', 'yhat'],

dtype='object')

通過對數(shù)據(jù)的分析,我們就可以知道:

①圖1是根據(jù)trend畫出來的,圖2是根據(jù)weekly畫出來的,圖3是根據(jù)yearly畫出來的。

②因為是加法模型,有:forecast['additive_terms'] = forecast['weekly'] + forecast['yearly'];有:forecast['yhat']? = forecast['trend'] +??forecast['additive_terms'] 。因此:forecast['yhat']? = forecast['trend'] +forecast['weekly'] + forecast['yearly']。

如果有節(jié)假日因素,那么就會有forecast['yhat']? = forecast['trend'] +forecast['weekly'] + forecast['yearly'] + forecast['holidays']。

在第四部分,我們會講到節(jié)假日因素,對于那些是節(jié)假日的天數(shù),forecast['holidays']才會有值,不是節(jié)假日的天數(shù),forecast['holidays']為0。

③因為是加法模型,'multiplicative_terms', 'multiplicative_terms_lower', 'multiplicative_terms_upper'這3列為空。

因此,基于上面的分析,weekly中的Monday為0.3的意思就是,在trend的基礎(chǔ)上,加0.3;Saturday為-0.3的意思就是,在trend的基礎(chǔ)上,減0.3。因此,這條線的高低也在一定程度上反應了“銷量的趨勢“。

注:許多方法的細節(jié)可以通過help(Prophet) 或者?help(Prophet.fit)?來獲得。

二、飽和預測

2.1 預測飽和增長

默認情況下, Prophet 使用線性模型進行預測。當預測增長情況時,通常會存在可到達的最大極限值,例如:總市場規(guī)模、總?cè)丝跀?shù)等等。這被稱做承載能力(carrying capacity),那么預測時就應當在接近該值時趨于飽和。

Prophet 可使用?logistic 增長?趨勢模型進行預測,同時指定承載能力。下面使用?R 語言的維基百科主頁?訪問量(取對數(shù))的實例來進行說明。

首先,我們導入數(shù)據(jù),該數(shù)據(jù)已經(jīng)做過了log處理(即,做過df['y'] = np.log(df['y'])操作)。

import pandas as pd

from fbprophet import Prophet

df = pd.read_csv('examples/example_wp_log_R.csv')

新建一列?cap?來指定承載能力的大小。本實例中假設(shè)取某個特定的值,通常情況下這個值應當通過市場規(guī)模的數(shù)據(jù)或?qū)I(yè)知識來決定。

df['cap'] = 8.5

值得注意的是數(shù)據(jù)框的每行都必須指定?cap?的值,但并非需要是恒定值。如果市場規(guī)模在不斷地增長,那么?cap?也可以是不斷增長的序列。

如之前教程所述來擬合模型,并且通過一個新增的參數(shù)來指定采用 logistic 增長:

m = Prophet(growth='logistic')

m.fit(df)

如前所述,我們可以創(chuàng)建一個數(shù)據(jù)框來預測未來值,不過這里要指定未來的承載能力。我們將未來的承載能力設(shè)定得和歷史數(shù)據(jù)一樣,并且預測未來 3 年的數(shù)據(jù)。

future = m.make_future_dataframe(periods=1826)

future['cap'] = 8.5

fcst = m.predict(future)

fig = m.plot(fcst)

預測結(jié)果如下圖所示:

2.2?預測飽和減少

logistic增長模型還可以處理飽和最小值,方法與指定最大值的列的方式相同:

# Python

df['y'] = 10 - df['y']

df['cap'] = 6

df['floor'] = 1.5

future['cap'] = 6

future['floor'] = 1.5

m = Prophet(growth='logistic')

m.fit(df)

fcst = m.predict(future)

fig = m.plot(fcst)

結(jié)果如下圖:

三、趨勢突變點

在之前的部分,我們可以發(fā)現(xiàn)真實的時間序列數(shù)據(jù)往往在趨勢中存在一些突變點。默認情況下, Prophet 將自動監(jiān)測到這些點,并對趨勢做適當?shù)卣{(diào)整。不過,要是對趨勢建模時發(fā)生了一些問題,例如:Prophet 不小心忽略了一個趨勢速率的變化或者對歷史數(shù)據(jù)趨勢變化存在過擬合現(xiàn)象。如果我們希望對趨勢的調(diào)整過程做更好地控制的話,那么下面將會介紹幾種可以使用的方法。

3.1?Prophet 中的自動監(jiān)測突變點

Prophet 首先是通過在大量潛在的突變點(變化速率突變)中進行識別來監(jiān)測突變點的。之后對趨勢變化的幅度做稀疏先驗(等同于 L1 正則化)——實際上 Prophet 在建模時會存在很多變化速率突變的點,但只會盡可能少地使用它們。以 第一部分中佩頓 · 曼寧的數(shù)據(jù)為例,默認下, Prophet 會識別出 25 個潛在的突變點(均勻分布在在前 80% 的時間序列數(shù)據(jù)中)。下圖中的豎線指出這些潛在的突變點所在的位置。

雖然存在很多變化速率可能會突變的點,但由于做了稀疏先驗,絕大多數(shù)突變點并不會包含在建模過程中。如下圖所示,通過觀察對每個突變點繪制的速率變化值圖,可以發(fā)現(xiàn)這一點。

潛在突變點的數(shù)量可以通過設(shè)置?n_changepoints?參數(shù)來指定,但最好還是利用調(diào)整正則化過程來修正。

顯著的突變點的位置可以通過以下代碼獲得:

# Python

from fbprophet.plot import add_changepoints_to_plot

fig = m.plot(forecast)

a = add_changepoints_to_plot(fig.gca(), m, forecast)

默認情況下,只有在時間序列的前80%才會推斷出突變點,以便有足夠的長度來預測未來的趨勢,并避免在時間序列的末尾出現(xiàn)過度擬合的波動。這個默認值可以在很多情況下工作,但不是所有情況下都可以,可以使用changepoint_range參數(shù)進行更改。例如,Python中的m = Prophet(changepoint_range=0.9)。這意味著將在時間序列的前90%處尋找潛在的變化點。

3.2?調(diào)整趨勢的靈活性

如果趨勢的變化被過度擬合(即過于靈活)或者擬合不足(即靈活性不夠),可以利用輸入?yún)?shù)?changepoint_prior_scale?來調(diào)整稀疏先驗的程度。默認下,這個參數(shù)被指定為 0.05 。

增加這個值,會導致趨勢擬合得更加靈活。代碼和圖如下所示:

df = pd.read_csv('examples/example_wp_log_peyton_manning.csv')

# 擬合模型

m = Prophet(changepoint_prior_scale=0.5)

m.fit(df)

future = m.make_future_dataframe(periods=365)

forecast = m.predict(future)

fig = m.plot(forecast)

減少這個值,會導致趨勢擬合得靈活性降低。代碼和圖如下所示:

m = Prophet(changepoint_prior_scale=0.001)

m.fit(df)

future = m.make_future_dataframe(periods=365)

forecast = m.predict(future)

m.plot(forecast);

3.3?指定突變點的位置

如果你希望手動指定潛在突變點的位置而不是利用自動的突變點監(jiān)測,可以使用?changepoints?參數(shù)。

代碼和圖如下所示:

m = Prophet(changepoints=['2014-01-01'])

m.fit(df)

future = m.make_future_dataframe(periods=365)

forecast = m.predict(future)

m.plot(forecast);

四、季節(jié)性,假期效果和回歸量

4.1 對假期和特征事件建模

如果需要專門對節(jié)假日或者其它的事件進行建模,你就必須得為此創(chuàng)建一個新的dataframe,其中包含兩列(節(jié)假日?holiday?和日期戳?ds?),每行分別記錄了每個出現(xiàn)的節(jié)假日。這個數(shù)據(jù)框必須包含所有出現(xiàn)的節(jié)假日,不僅是歷史數(shù)據(jù)集中還是待預測的時期中的。如果這些節(jié)假日并沒有在待預測的時期中被注明, Prophet 也會利用歷史數(shù)據(jù)對它們建模,但預測未來時卻不會使用這些模型來預測。

注:也就是說,在待預測的日期里,我們也必須指定所有出現(xiàn)的節(jié)假日。

你可以在這個數(shù)據(jù)框基礎(chǔ)上再新建兩列?lower_window?和?upper_window?,從而將節(jié)假日的時間擴展成一個區(qū)間 [?lower_window?,?upper_window?] 。舉例來說,如果想將平安夜也加入到 “圣誕節(jié)” 里,就設(shè)置?lower_window = -1 , upper_window = 0?;如果想將黑色星期五加入到 “感恩節(jié)” 里,就設(shè)置?lower_window = 0 , upper_window = 1?。

下面我們創(chuàng)建一個數(shù)據(jù)框,其中包含了所有佩頓 · 曼寧參加過的決賽日期:

playoffs = pd.DataFrame({

'holiday': 'playoff',

'ds': pd.to_datetime(['2008-01-13', '2009-01-03', '2010-01-16',

'2010-01-24', '2010-02-07', '2011-01-08',

'2013-01-12', '2014-01-12', '2014-01-19',

'2014-02-02', '2015-01-11', '2016-01-17',

'2016-01-24', '2016-02-07']),

'lower_window': 0,

'upper_window': 1,

})

superbowls = pd.DataFrame({

'holiday': 'superbowl',

'ds': pd.to_datetime(['2010-02-07', '2014-02-02', '2016-02-07']),

'lower_window': 0,

'upper_window': 1,

})

holidays = pd.concat((playoffs, superbowls))

上述代碼中,我們將超級碗的日期既記錄在了決賽的日期數(shù)據(jù)框中,也記錄在了超級碗的日期數(shù)據(jù)框中。這就會造成超級碗日期的效應會在決賽日期的作用下疊加兩次。

一旦這個數(shù)據(jù)框創(chuàng)建好了,就可以通過傳入?holidays?參數(shù)使得在預測時考慮上節(jié)假日效應。這里我們?nèi)砸缘谝徊糠种信孱D · 曼寧的數(shù)據(jù)為例:

df = pd.read_csv('examples/example_wp_log_peyton_manning.csv')

m = Prophet(holidays=holidays)

m.fit(df)

future = m.make_future_dataframe(periods=365)

forecast = m.predict(future)

可通過?forecast?數(shù)據(jù)框,來展示節(jié)假日效應:

# 看一下假期的最后10行數(shù)據(jù)

forecast[(forecast['playoff'] + forecast['superbowl']).abs() > 0][

['ds', 'playoff', 'superbowl']][-10:]

在成分分析的圖中,如下所示,也可以看到節(jié)假日效應。我們可以發(fā)現(xiàn),在決賽日期附近有一個穿透,而在超級碗日期時穿透則更為明顯。

fig = m.plot_components(forecast)

可以使用?plot_forecast_component(從fbprophet.plot導入)來畫出獨立的節(jié)假日的成分。類似如下代碼:

from fbprophet.plot import plot_forecast_component

m.plot_forecast_component(forecast, 'superbowl')

4.2 季節(jié)性的傅里葉級數(shù)

季節(jié)性是用部分傅里葉和估計的。有關(guān)完整的細節(jié),請參閱論文,以及維基百科上的這個圖,以說明部分傅里葉和如何近似于一個線性周期信號。部分和(order)中的項數(shù)是一個參數(shù),它決定了季節(jié)性的變化有多快。為了說明這一點,?我們?nèi)运坪跤玫谝徊糠种信孱D · 曼寧的數(shù)據(jù)。每年季節(jié)性的默認傅立葉級數(shù)是10,這就產(chǎn)生了這樣的擬合:

# Python

from fbprophet.plot import plot_yearly

m = Prophet().fit(df)

a = plot_yearly(m)

默認值10通常是合適的,但是當季節(jié)性需要適應更高頻率的變化時,它們可以增加,并且通常不那么平滑。在實例化模型時,可以為每個內(nèi)置季節(jié)性指定傅立葉級數(shù),這里增加到20:

from fbprophet.plot import plot_yearly

m = Prophet(yearly_seasonality=20).fit(df)

a = plot_yearly(m)

可以看到,曲線更加的多變了。增加傅立葉項的數(shù)量可以使季節(jié)性適應更快的變化周期,但也可能導致過度擬合:N個傅立葉項對應于用于建模周期的2N個變量。

4.3?自定義季節(jié)性因素

如果時間序列超過兩個周期,Prophet將默認適合每周和每年的季節(jié)性。對于子日(sub-daily )時間序列,它也將適合每日的季節(jié)性。在Python中,可以使用add_seasality方法添加其它季節(jié)性(如每月、每季、每小時)。

這個函數(shù)的輸入是一個名字,季節(jié)性的周期,以及季節(jié)性的傅里葉order。作為參考,默認情況下,Prophet為周季節(jié)性設(shè)定的傅立葉order為3,為年季節(jié)性設(shè)定的為10。add_seasality的一個可選輸入是該季節(jié)性組件的先驗規(guī)模。

作為一個例子,我們?nèi)允褂门孱D · 曼寧的數(shù)據(jù),但是用每月的季節(jié)性替換每周的季節(jié)性。每月的季節(jié)性將出現(xiàn)在組件圖中:

m = Prophet(weekly_seasonality=False)

m.add_seasonality(name='monthly', period=30.5, fourier_order=5)

forecast = m.fit(df).predict(future)

fig = m.plot_components(forecast)

4.4?對節(jié)假日和季節(jié)性設(shè)定先驗規(guī)模

如果發(fā)現(xiàn)節(jié)假日效應被過度擬合了,通過設(shè)置參數(shù)?holidays_prior_scale?可以調(diào)整它們的先驗規(guī)模來使之平滑,默認下該值取 10 。

減少這個參數(shù)會降低假期效果:

m = Prophet(holidays=holidays, holidays_prior_scale=0.05).fit(df)

forecast = m.predict(future)

forecast[(forecast['playoff'] + forecast['superbowl']).abs() > 0][

['ds', 'playoff', 'superbowl']][-10:]

代碼輸出結(jié)果如下所示:

和之前相比,節(jié)假日效應的規(guī)模被減弱了,特別是對觀測值較少的超級碗而言。類似的,還有一個?seasonality_prior_scale?參數(shù)可以用來調(diào)整模型對于季節(jié)性的擬合程度。

可以通過在節(jié)假日的dataframe中包含一個列prior_scale來單獨設(shè)置先驗規(guī)模。獨立的季節(jié)性的先驗規(guī)模可以作為add_seasonality的參數(shù)傳遞。例如,可以使用以下方法設(shè)置每周季節(jié)性的先驗規(guī)模:

m = Prophet()

m.add_seasonality(

name='weekly', period=7, fourier_order=3, prior_scale=0.1)

4.5?附加的回歸量

可以使用add_regressor方法將附加的回歸量添加到模型的線性部分。包含回歸值的列需要同時出現(xiàn)在擬合數(shù)據(jù)格式(fit)和預測數(shù)據(jù)格式(predict)中。例如,我們可以在NFL賽季的周日添加附加的效果。在成分圖上,這種效果會出現(xiàn)在“extra_regre_”圖中:

# 判斷是否是NFL賽季的周日

def nfl_sunday(ds):

date = pd.to_datetime(ds)

if date.weekday() == 6 and (date.month > 8 or date.month < 2):

return 1

else:

return 0

df['nfl_sunday'] = df['ds'].apply(nfl_sunday)

m = Prophet()

m.add_regressor('nfl_sunday')

m.fit(df)

future['nfl_sunday'] = future['ds'].apply(nfl_sunday)

forecast = m.predict(future)

fig = m.plot_components(forecast)

NFL周日也可以使用之前描述的“節(jié)假日”的接口,通過創(chuàng)建一個過去和未來NFL周日的list。add_regressor函數(shù)為定義附加的線性回歸函數(shù)提供了一個更通用的接口,特別是它不要求回歸函數(shù)是二進制指示器。

add_regressor函數(shù)具有可選的參數(shù),用于指定先驗規(guī)模(默認情況下使用節(jié)假日先驗規(guī)模),和指定是否標準化回歸量。help(Prophet.add_regressor)可以查看相關(guān)參數(shù)。

附加的回歸量必須要知道歷史和未來的日期。因此,它要么是已知未來值(比如nfl_sunday),要么是其他地方已經(jīng)單獨預測出的結(jié)果。如果回歸量在整個歷史中都是不變的,則Prophet會引發(fā)一個錯誤,因為沒有任何東西可以fit它。

附加的回歸量被放在模型的線性分量中,所以依賴于附加的回歸量時間序列作為底層模型的加法或乘法因子。

五、乘法季節(jié)性

默認情況下,Prophet能夠滿足附加的季節(jié)性,這意味著季節(jié)性的影響是加到趨勢中得到了最后的預報(yhat)。航空旅客數(shù)量的時間序列是一個附加的季節(jié)性不起作用的例子:

df = pd.read_csv('../examples/example_air_passengers.csv')

m = Prophet()

m.fit(df)

future = m.make_future_dataframe(50, freq='MS')

forecast = m.predict(future)

fig = m.plot(forecast)

這個時間序列有一個明顯的年度周期,但預測中的季節(jié)性在時間序列開始時太大,在結(jié)束時又太小。在這個時間序列中,季節(jié)性并不是Prophet所假定的是一個恒定的加性因子,而是隨著趨勢在增長。這就是乘法季節(jié)性(multiplicative seasonality)。

Prophet可以通過設(shè)置seasonality_mode='multiplicative'來建模乘法季節(jié)性:

m = Prophet(seasonality_mode='multiplicative')

m.fit(df)

forecast = m.predict(future)

fig = m.plot(forecast)

看一下乘法的成分圖:

fig = m.plot_components(forecast)

與第一部分對成分圖分析類似,我們這里對乘法模型的成分圖進行一個分析:

①圖1是根據(jù)trend畫出來的,圖2是根據(jù)yearly畫出來的。

②因為是乘法模型,有:forecast['multiplicative_terms'] = forecast['yearly'];因此:forecast['yhat']? = forecast['trend'] * (1+forecast['multiplicative_terms'])。

使用seasonality_mode='multiplicative',節(jié)假日也將被建模為乘法效果。

③因為是乘法模型,'additive_terms', 'additive_terms_lower', 'additive_terms_upper'這3列為0。

默認情況下,任何添加的季節(jié)性或額外的回歸量都可以使用seasality_mode設(shè)置為加法或者是乘法。但假如在添加季節(jié)性或回歸量時,可以通過指定mode=' addiative '或mode=' ative'作為參數(shù)來覆蓋之前的設(shè)定。

例如,這個模塊將內(nèi)置的季節(jié)性設(shè)置為乘法,但使用一個附加的季度季節(jié)性來覆蓋原本的乘法,這時候季度季節(jié)性就是加法了。

# Python

m = Prophet(seasonality_mode='multiplicative')

m.add_seasonality('quarterly', period=91.25, fourier_order=8, mode='additive')

額外的加法的季度季節(jié)性將出現(xiàn)在成分圖的單獨的面板上。

這個時候是時間序列的混合模型:forecast['yhat'] =?forecast['trend'] ?* (1+forecast['multiplicative_terms']) + forecast['additive_terms']。

六、預測區(qū)間

默認情況下, Prophet 的返回結(jié)果中會包括預測值?yhat?的預測區(qū)間。當然,預測區(qū)間的估計需建立在一些重要的假設(shè)前提下。

在預測時,不確定性主要來源于三個部分:趨勢中的不確定性、季節(jié)效應估計中的不確定性和觀測值的噪聲影響。

6.1 趨勢的不確定性

預測中,不確定性最大的來源就在于未來趨勢改變的不確定性。在之前的時間序列實例中,我們可以發(fā)現(xiàn)歷史數(shù)據(jù)具有明顯的趨勢性。 Prophet 能夠監(jiān)測并去擬合它,但是我們期望得到的趨勢改變究竟會如何走向呢?或許這是無解的,因此我們盡可能地做出最合理的推斷,假定 “未來將會和歷史具有相似的趨勢” 。尤其重要的是,我們假定未來趨勢的平均變動頻率和幅度和我們觀測到的歷史值是一樣的,從而預測趨勢的變化并通過計算,最終得到預測區(qū)間。

這種衡量不確定性的方法具有以下性質(zhì):變化速率靈活性更大時(通過增大參數(shù)?changepoint_prior_scale?的值),預測的不確定性也會隨之增大。原因在于如果將歷史數(shù)據(jù)中更多的變化速率加入了模型,也就代表我們認為未來也會變化得更多,就會使得預測區(qū)間成為反映過擬合的標志。

預測區(qū)間的寬度(默認下,是 80% )可以通過設(shè)置?interval_width?參數(shù)來控制:

m = Prophet(interval_width=0.95).fit(df)

future = m.make_future_dataframe(periods=365)

forecast = m.predict(future)

由于預測區(qū)間估計時假定未來將會和過去保持一樣的變化頻率和幅度,而這個假定可能并不正確,所以預測區(qū)間的估計不可能完全準確。

6.2 季節(jié)的不確定性

默認情況下, Prophet 只會返回趨勢中的不確定性和觀測值噪聲的影響。你必須使用貝葉斯取樣的方法來得到季節(jié)效應的不確定性,可通過設(shè)置?mcmc.samples?參數(shù)(默認下取 0 )來實現(xiàn)。下面使用佩頓 · 曼寧的數(shù)據(jù)為例:

m = Prophet(mcmc_samples=500).fit(df)

future = m.make_future_dataframe(periods=365)

forecast = m.predict(future)

# 報錯:UnboundLocalError: local variable 'pool' referenced before assignment

上述代碼將最大后驗估計( MAP )取代為馬爾科夫蒙特卡洛取樣 ( MCMC ),并且將計算時間從 10 秒延長到 10 分鐘。

如果做了全取樣,就能通過繪圖看到季節(jié)效應的不確定性了:

m.plot_components(forecast);

可以使用m.predictive_samples(future)方法在Python中訪問原始的后驗預測樣本。

在PyStan有一些針對Windows的上游問題,這使得MCMC采樣非常緩慢。在Windows中,MCMC采樣的最佳選擇是在Linux VM中使用R或Python。

因此,我的上述代碼會出錯,季節(jié)的不確定性在我windows的python中跑不動,暫時忽略,了解即可。

七、異常值

異常值主要通過兩種方式影響 Prophet 預測結(jié)果。下面我們使用之前使用過的 R 語言維基百科主頁對數(shù)訪問量的數(shù)據(jù)來建模預測,只不過使用存在時間間隔并不完整的數(shù)據(jù):

df = pd.read_csv('examples/example_wp_log_R_outliers1.csv')

m = Prophet()

m.fit(df)

future = m.make_future_dataframe(periods=1096)

forecast = m.predict(future)

m.plot(forecast);

如上輸出圖所示,趨勢預測看似合理,預測區(qū)間的估計卻過于廣泛。 Prophet 雖能夠處理歷史數(shù)據(jù)中的異常值,但僅僅是將它們與趨勢的變化擬合在一起,認為未來也會有類似的趨勢變化。

處理異常值最好的方法是移除它們,而 Prophet 是能夠處理缺失數(shù)據(jù)的。如果在歷史數(shù)據(jù)中某行的值為空(?NA?),但是在待預測日期數(shù)據(jù)框?future?中仍保留這個日期,那么 Prophet 依舊可以給出該行的預測值。

# 將2010年一年的數(shù)據(jù)設(shè)為缺失

df.loc[(df['ds'] > '2010-01-01') & (df['ds'] < '2011-01-01'), 'y'] = None

model = Prophet().fit(df)

model.plot(model.predict(future));

上述這個實例雖然影響了不確定性的估計,卻沒有影響到主要的預測值?yhat?。但是,現(xiàn)實往往并非如此,接下來,在上述數(shù)據(jù)集基礎(chǔ)上加入新的異常值后再建模預測:

df = pd.read_csv('examples/example_wp_log_R_outliers2.csv')

m = Prophet()

m.fit(df)

future = m.make_future_dataframe(periods=1096)

forecast = m.predict(future)

m.plot(forecast);

這里 2015年 6 月存在一些異常值破壞了季節(jié)效應的估計,因此未來的預測也會永久地受到這個影響。最好的解決方法就是移除這些異常值:

# 將2015年前半年的數(shù)據(jù)設(shè)為缺失

df.loc[(df['ds'] > '2015-06-01') & (df['ds'] < '2015-06-30'), 'y'] = None

m = Prophet().fit(df)

m.plot(m.predict(future));

八、非日數(shù)據(jù)

8.1 子日數(shù)據(jù)

Prophet可以通過在ds列中傳遞一個帶有時間戳的dataframe來對時間序列進行子日(Sub-daily)觀測。時間戳的格式應該是YYYY-MM-DD - HH:MM:SS。當使用子日數(shù)據(jù)時,日季節(jié)性將自動匹配。在這里,我們用5分鐘的分辨率數(shù)據(jù)集(約塞米蒂的每日溫度)對Prophet進行數(shù)據(jù)匹配:

df = pd.read_csv('examples/example_yosemite_temps.csv')

m = Prophet(changepoint_prior_scale=0.01).fit(df)

future = m.make_future_dataframe(periods=300, freq='H')

fcst = m.predict(future)

fig = m.plot(fcst)

成分圖中的日季節(jié)性:

fig = m.plot_components(fcst)

8.2?有規(guī)則間隔的數(shù)據(jù)

假設(shè)上面的數(shù)據(jù)集只有每天早上6點之前的觀測值:

df2 = df.copy()

df2['ds'] = pd.to_datetime(df2['ds'])

# 只保留每天早上6點之前的數(shù)據(jù)

df2 = df2[df2['ds'].dt.hour < 6]

m = Prophet().fit(df2)

future = m.make_future_dataframe(periods=300, freq='H')

fcst = m.predict(future)

fig = m.plot(fcst)

這個預測看起來很差,未來的波動比歷史上看到的要大得多。這里的問題是,我們將每天的循環(huán)安排在一個時間序列中,這個時間序列中只有一天的一部分數(shù)據(jù)(12a到6a)。因此,每天的季節(jié)性在一天剩下的時間里是不受約束的,估計也不準確。解決方案是只對有歷史數(shù)據(jù)的時間窗進行預測。這里,這意味著限制未來dataframe的時間(從12a到6a):

future2 = future.copy()

future2 = future2[future2['ds'].dt.hour < 6]

fcst = m.predict(future2)

fig = m.plot(fcst)

同樣的原理也適用于數(shù)據(jù)中有規(guī)則間隔的其他數(shù)據(jù)集。例如,如果歷史只包含工作日,那么應該只對工作日進行預測,因為不會很好地估計每周的季節(jié)性。

8.3?月數(shù)據(jù)

可以使用Prophet來匹配每月的數(shù)據(jù)。然而,Prophet 的基本模型是連續(xù)時間的,這意味著如果將模型與每月的數(shù)據(jù)相匹配,然后要求每天的預測,我們會得到奇怪的結(jié)果。

下面使用美國零售業(yè)銷售量數(shù)據(jù)來預測未來 10 年的情況:

df = pd.read_csv('examples/example_retail_sales.csv')

m = Prophet().fit(df)

future = m.make_future_dataframe(periods=3652)

fcst = m.predict(future)

m.plot(fcst);

預測結(jié)果看起來非常雜亂,原因正是在于這個特殊的數(shù)據(jù)集使用的是月數(shù)據(jù)。當我們擬合年度效應時,只有每個月第一天的數(shù)據(jù),而且對于其他天的周期效應是不可測且過擬合的。當你使用 Prophet 擬合月度數(shù)據(jù)時,可以通過在?make_future_dataframe?中傳入頻率參數(shù)只做月度的預測。

future = m.make_future_dataframe(periods=120, freq='M')

fcst = m.predict(future)

m.plot(fcst);

九、診斷

Prophet包含時間序列交叉驗證功能,以測量使用歷史數(shù)據(jù)的預測誤差。這是通過在歷史記錄中選擇截止點來完成的,對于每一個都只使用該截止點之前的數(shù)據(jù)來擬合模型。然后,我們可以將預測值與實際值進行比較。這張圖展示了對Peyton Manning數(shù)據(jù)集的模擬歷史預測,該模型適用于5年的初始歷史,并在1年的時間范圍內(nèi)進行了預測。

源論文中進一步描述了模擬的歷史預測。

這個交叉驗證過程可以使用cross_validation函數(shù)自動完成一系列歷史截斷。我們指定預測水平(horizon),然后選擇初始訓練期(initial)的大小和截斷之間的間隔(period)。默認情況下,初始訓練期設(shè)置為horizon的三倍,每半個horizon就有一個截斷。

注:這里需要解釋下horizon,initial和period的意義:initial代表了一開始的時間是多少,period代表每隔多長時間設(shè)置一個cutoff,horizon代表每次從cutoff往后預測多少天。

cross_validation的輸出是一個dataframe,在每個模擬預測日期和每個截斷日期都有真實值y和樣本預測值yhat。特別地,對在cutoff 和cutoff + horizon之間的每一個觀測點都進行了預測。然后,這個dataframe可以用來度量yhat和y的錯誤。

在這里,我們做交叉驗證來評估預測horizon在365天的性能,從第一次截止時730天的訓練數(shù)據(jù)開始,然后每180天進行一次預測。在這個8年的時間序列中,這相當于11個總預測。

注:Peyton Manning數(shù)據(jù)一共大約8年多(2007/12/10 - 2016/01/20)的數(shù)據(jù)。

根據(jù)上面對horizon,initial和period的解釋:容易得到為什么是11個總預測。因為最后一個也要預測365天,所有最后一個cutoff在2015-01-20,從2007-12-19數(shù)730天是2010-02-15,則在2010-02-15到2015-01-20共有1800天,對應著10個cutoff,最后1個cutoff在2015-01-20,因此共11個cutoff。

from fbprophet.diagnostics import cross_validation

df_cv = cross_validation(m, initial='730 days', period='180 days', horizon = '365 days')

df_cv.head()

performance_metrics作為離截止點(預測的未來距離)的函數(shù),可用于計算關(guān)于預測性能的一些有用統(tǒng)計數(shù)據(jù)(如與y相比時yhat、yhat_lower和yhat_upper)。計算得到的統(tǒng)計信息包括均方誤差(mean squared error, MSE)、均方根誤差(root mean squared error, RMSE)、平均絕對誤差(mean absolute error, MAE)、平均絕對誤差(mean absolute percent error, MAPE)以及yhat_lower和yhat_upper估計的覆蓋率。這些都是在df_cv中通過horizon (ds - cutoff)排序后預測的滾動窗口中計算出來的。默認情況下,每個窗口都會包含10%的預測,但是可以通過rolling_window參數(shù)來更改。

from fbprophet.diagnostics import performance_metrics

df_p = performance_metrics(df_cv)

df_p.head()

交叉驗證性能指標可以用plot_cross_validation_metric可視化,這里顯示的是MAPE。點表示df_cv中每個預測的絕對誤差百分比。藍線顯示的是MAPE,均值被取到滾動窗口的圓點。我們可以看到,對于一個月后的預測,誤差在5%左右,而對于一年之后的預測,誤差會增加到11%左右。

# Python

from fbprophet.plot import plot_cross_validation_metric

fig = plot_cross_validation_metric(df_cv, metric='mape')

圖中滾動窗口的大小可以通過可選參數(shù)rolling_window更改,該參數(shù)指定在每個滾動窗口中使用的預測比例。默認值為0.1,即每個窗口中包含的df_cv的10%行;增大值得話將導致圖中平均曲線更平滑。

初始周期應該足夠長,以捕獲模型的所有特性,特別是季節(jié)性和額外的回歸變量:對年的季節(jié)性至少保證一年,對周的季節(jié)性至少保證一周,等等。

十、與機器學習算法的對比

與先進的機器學習算法如LGBM相比,Prophet作為一個時間序列的工具,優(yōu)點就是不需要特征工程就可以得到趨勢,季節(jié)因素和節(jié)假日因素,但是這同時也是它的缺點之一,它無法利用更多的信息,如在預測商品的銷量時,無法利用商品的信息,門店的信息,促銷的信息等。

因此,尋找一種融合的方法是一個迫切的需求。

————————————————

版權(quán)聲明:本文為CSDN博主「anshuai_aw1」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/anshuai_aw1/article/details/83412058

總結(jié)

以上是生活随笔為你收集整理的porphet论文_时间序列模型Prophet使用详细讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

天天干天天射天天爽 | 91丨九色丨国产在线 | 亚洲日本韩国一区二区 | 中文字幕一区二区三区在线播放 | 国产精品女视频 | 99精品欧美一区二区三区黑人哦 | av观看久久久 | 99热在线免费观看 | 免费看久久久 | 欧美午夜精品久久久久 | 亚洲精品视频国产 | 亚洲精品88欧美一区二区 | 成人av免费电影 | 手机成人av | 91在线超碰 | 亚洲va天堂va欧美ⅴa在线 | 高清中文字幕 | av一级在线| 天天干天天操天天做 | 国产精品久久久久久久久久久久午夜 | 欧美黄网站 | 在线观看国产麻豆 | 亚洲欧美日韩国产精品一区午夜 | 国产日韩在线播放 | 97福利社 | 免费三级在线 | 日色在线视频 | 91精品一区二区三区蜜臀 | 日韩欧美精品在线 | 不卡国产在线 | 国产精品自在线拍国产 | 免费h在线观看 | 麻豆视频入口 | 免费看成人a | 日韩一区二区三区在线观看 | 欧美 国产 视频 | 91看片成人| 日韩大片在线免费观看 | 亚洲精品久久久久www | 成人免费网站在线观看 | av高清一区| 久久久久国产成人精品亚洲午夜 | 精品国产成人 | 精品在线免费观看 | 亚洲午夜精 | 欧美大片mv免费 | 精品视频 | 手机色站 | 69国产成人综合久久精品欧美 | 午夜999| 中日韩欧美精彩视频 | 日日夜夜网 | 国产一区二区三区四区在线 | 91免费试看 | 91av影视 | 午夜久久久久久久久久久 | 精品欧美乱码久久久久久 | 日本深夜福利视频 | 亚洲成人动漫在线观看 | 99色视频 | 欧美午夜精品久久久久久浪潮 | 久久热亚洲 | 国产精品69久久久久 | 国产一级片播放 | 九色91av| 日韩精品三区四区 | 香蕉精品视频在线观看 | 日本三级在线观看中文字 | 欧美一区日韩精品 | 五月婷丁香网 | 中文字幕在线播放第一页 | 美女在线观看av | 日韩精品一区二区三区免费观看视频 | 免费黄色一区 | 黄色软件在线观看视频 | www.av在线播放| 一级黄色片在线观看 | 日日操天天操狠狠操 | 久久久免费 | 六月丁香久久 | 婷婷色网 | 欧美日韩性视频在线 | a国产精品| 国产高清视频免费 | 91私密视频| 国产麻豆精品一区二区 | 久久国产视屏 | 日韩伦理一区二区三区av在线 | 亚洲精品视频在线播放 | 中文字幕成人一区 | 蜜桃视频日本 | 天天草天天干天天射 | 亚洲国产成人精品久久 | 欧美大片www | 久久久福利影院 | 午夜影院三级 | 久久精品首页 | 国产91免费在线 | 久久久久国产一区二区三区 | 成年人在线看片 | 最新不卡av | 色a综合 | 永久免费精品视频 | 久久久久久久久久毛片 | 色多视频在线观看 | 亚洲综合色视频在线观看 | 天天色天天上天天操 | 婷婷丁香激情五月 | 91精品黄色| 成人午夜电影久久影院 | 免费看成年人 | 人人射人人爽 | 国产不卡精品视频 | 毛片视频网址 | 国产视频精品久久 | 免费福利在线 | www.国产毛片 | 99爱国产精品 | 免费网站观看www在线观看 | 国产精品久久久久久久久婷婷 | 精品在线观看一区二区 | 97视频久久久 | 久久99精品国产99久久 | av高清在线观看 | 黄色网址在线播放 | 正在播放国产一区 | 日韩免费电影一区二区三区 | 91av免费观看 | 国产中文字幕国产 | 亚洲精品福利在线观看 | 911在线| 黄色av一级片| 亚洲成人av一区 | 91久草视频 | 波多野结衣资源 | 91av在线国产 | 国产麻豆果冻传媒在线观看 | 国产99一区视频免费 | 精品99在线观看 | 国产精品毛片一区二区在线看 | 色综合久久五月天 | 九九精品在线观看 | 国产 在线 日韩 | 91污在线 | 国产三级av在线 | 99精品久久久久久久久久综合 | 免费在线观看国产精品 | 伊人色**天天综合婷婷 | 91麻豆精品91久久久久同性 | 婷婷六月丁香激情 | 欧美日韩国产精品一区二区三区 | 亚洲午夜久久久久久久久电影网 | 免费av大全 | 亚洲精品国内 | 少妇按摩av | 亚洲欧美日本一区二区三区 | 九九影视理伦片 | 国产一级不卡视频 | 免费网站黄 | 久久精品视频观看 | 福利电影久久 | 天堂网在线视频 | 久久久麻豆视频 | av黄色免费网站 | 99久久久久久国产精品 | 91在线www| 日韩免费高清在线 | 国产精品美女久久久久久久久 | 国产黑丝袜在线 | 狠狠网亚洲精品 | 国产激情久久久 | 久草视频网 | 国产在线观看你懂得 | 在线精品在线 | 免费看片在线观看 | 一级欧美一级日韩 | 在线观看久久 | 久久激情五月激情 | 国产无套视频 | 91在线看黄 | 国产精品久久久久久久久久久不卡 | 在线观看黄色大片 | 黄色免费观看网址 | 国语黄色片 | 国产精品久久久久一区二区三区 | www.久久com| 麻豆成人在线观看 | 色久av| 一级黄色电影网站 | 日本中出在线观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 国内精品免费久久影院 | 在线综合色 | 青青草国产精品视频 | 亚洲欧洲成人精品av97 | av福利在线免费观看 | 337p日本欧洲亚洲大胆裸体艺术 | 国产视频一区在线播放 | 亚洲成色777777在线观看影院 | 国产精品国产三级国产 | 国产精品高潮久久av | 91麻豆国产 | 69欧美视频 | 美女精品在线 | 国产精品免费在线观看视频 | 99热九九这里只有精品10 | 中文字幕在线观看第二页 | 亚洲精品一区二区18漫画 | 欧美淫aaa免费观看 日韩激情免费视频 | 超碰人人在线观看 | 波多野结衣在线视频一区 | 免费观看91视频 | 欧美日韩国产在线精品 | 国产成人a亚洲精品 | 久操中文字幕在线观看 | 国产精品视频大全 | 国产一区二区免费 | 亚洲精品视频中文字幕 | 欧美日韩精品区 | 天天想夜夜操 | 国产淫a | 亚洲jizzjizz日本少妇 | 四虎永久免费在线观看 | 中文字幕一区二区三区在线观看 | 少妇啪啪av入口 | 欧美少妇bbwhd | 黄色大片日本免费大片 | 91香蕉国产在线观看软件 | 成人国产精品久久久春色 | 日本性xxxxx 亚洲精品午夜久久久 | 日日夜夜天天人人 | 激情视频一区 | 久久久精品久久 | 九九免费观看视频 | 91精品视频在线观看免费 | 日韩激情视频在线观看 | 天天色影院| 在线国产一区二区 | 亚洲激情综合网 | 欧美极品在线播放 | 国产精品久久久久久久午夜 | 91少妇精拍在线播放 | 免费视频久久久 | 欧美一级高清片 | 在线观看视频三级 | 久久久精品国产一区二区电影四季 | 18久久久| 国产只有精品 | 特及黄色片 | 婷婷精品国产一区二区三区日韩 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 狠狠狠狠狠狠 | 久久久久久久久久久久99 | 成人av播放 | 中文字幕黄色av | 丁香六月综合网 | 日韩激情精品 | 日日夜夜网 | 免费在线播放视频 | 国产视频在线观看免费 | 国产一级电影免费观看 | 中文字幕在线播放第一页 | 天天爽夜夜爽精品视频婷婷 | 91麻豆精品一区二区三区 | 丁香六月天婷婷 | 亚洲精品国产精品国 | 国产涩涩网站 | 福利网址在线观看 | 青青草国产在线 | 中文国产在线观看 | 午夜av在线电影 | 黄污网站在线观看 | 亚洲激情 在线 | 黄色视屏免费在线观看 | 伊人中文字幕在线 | 亚洲视频大全 | 日本韩国中文字幕 | 91av免费在线观看 | 天天射天天舔天天干 | 摸bbb搡bbb搡bbbb | 极品嫩模被强到高潮呻吟91 | 玖玖国产精品视频 | 日韩在线观看av | 国产精品久久一区二区无卡 | 九九热只有精品 | 午夜性生活| 日韩精品最新在线观看 | 91麻豆免费视频 | 中文字幕一区二区三区久久 | 国产在线视频不卡 | 免费国产一区二区 | 免费精品人在线二线三线 | 亚av在线| 综合色中文 | 天天插天天爱 | 成人免费看视频 | 亚洲免费观看在线视频 | 国产区高清在线 | av三级在线免费观看 | 久久老司机精品视频 | 久久久国产精华液 | 在线电影91| 国产一级二级三级在线观看 | 探花在线观看 | 国产精品久久久久免费 | 日狠狠 | 99精品国产兔费观看久久99 | 天天五月天色 | 美女视频免费精品 | 99精品欧美一区二区 | 中文字幕视频免费观看 | 日韩av一区二区三区四区 | 中文字幕电影在线 | 欧美大片第1页 | 激情综合电影网 | 黄色91在线 | 国产一区免费在线观看 | 亚洲精品小视频 | 久久综合久久综合这里只有精品 | 日韩免费视频一区二区 | 96久久精品 | 日韩在线字幕 | 久久免费福利视频 | 午夜视频在线观看一区二区三区 | 人人爱天天操 | 久久久国产影院 | 在线电影日韩 | 久久免费视频3 | 天天摸天天干天天操天天射 | 亚洲国产精久久久久久久 | 中文字幕亚洲不卡 | 婷婷在线色 | 91chinese在线 | 国产黄色大片免费看 | 国产69久久久 | 久久五月精品 | 特级毛片aaa| 久久久国产视频 | 日韩sese| 日韩午夜电影网 | 97色综合| 国产一区二区精品91 | 美女网站久久 | 久久特级毛片 | 一本一道久久a久久精品蜜桃 | 天天曰天天干 | 97超级碰碰碰碰久久久久 | japanesefreesexvideo高潮 | 久久经典国产视频 | 五月开心激情 | 国产999精品 | 国产小视频你懂的在线 | 国产精品日韩高清 | 亚洲精品免费观看视频 | 亚洲日本va中文字幕 | 人人揉人人揉人人揉人人揉97 | 一本一本久久a久久精品综合小说 | 国产色在线观看 | 国产一级久久久 | 欧美激情片在线观看 | 天天操天天射天天操 | 成年人黄色在线观看 | 亚洲激情av | 91手机视频 | 国产高清日韩欧美 | 在线亚洲欧美日韩 | 五月激情婷婷丁香 | 91黄色小网站 | 欧美性生爱 | 欧美成人影音 | 日本精品视频在线观看 | 国产精品久久久久久久av电影 | 深爱婷婷久久综合 | 亚洲高清免费在线 | 天堂av在线网站 | 色婷婷 亚洲 | 九九爱免费视频在线观看 | 精品女同一区二区三区在线观看 | a天堂免费| 成年人黄色免费网站 | 玖玖视频在线 | 国产又黄又爽又猛视频日本 | 91xav| 免费三级av| 亚洲国产精品999 | 免费av片在线 | 六月激情婷婷 | 国产一级特黄毛片在线毛片 | 国产精品9999久久久久仙踪林 | 99精品国产在热久久 | 午夜视频亚洲 | 91麻豆传媒 | 亚洲精品www | 久久国产经典 | 亚洲少妇久久 | 在线观看av免费 | 国产韩国日本高清视频 | 中文字幕在线观看91 | 日韩素人在线观看 | 国产精品视频999 | 成人在线免费看视频 | 日韩在线高清视频 | 国产午夜精品一区二区三区欧美 | 免费看黄视频 | 麻豆影视在线免费观看 | 夜夜爱av| 1000部国产精品成人观看 | 国产伦精品一区二区三区四区视频 | 久久成人高清 | 97精品一区二区三区 | 免费日韩av电影 | 97免费视频在线播放 | 超碰在线免费97 | 精品国产综合区久久久久久 | 不卡国产视频 | 又黄又刺激的视频 | 免费观看黄 | 中文字幕 国产 一区 | 国产精品久久在线 | 国产精品久久久久久久久久白浆 | 亚洲精品国精品久久99热一 | 亚洲综合色网站 | 午夜久久久影院 | 精品视频免费看 | 亚洲综合网站在线观看 | 国产精品区在线观看 | 91福利在线观看 | 成 人 黄 色 视频 免费观看 | 99日韩精品| 99精品一区二区 | 天天干天天操天天做 | 国产人成免费视频 | 99在线免费观看视频 | 日本婷婷色 | 西西www4444大胆在线 | 97国产在线视频 | 中文字幕刺激在线 | 欧美成人xxxx | 欧美一级片在线免费观看 | 亚洲涩涩涩| 九九热国产视频 | av免费网站观看 | 日本少妇视频 | 久久久久亚洲精品中文字幕 | 2021国产精品视频 | 在线亚洲欧美视频 | 精品久久久久免费极品大片 | 男女靠逼app| 免费视频成人 | 狠狠干干| 午夜精品久久久久久99热明星 | 天天射天天干 | 麻豆网站免费观看 | 麻豆视频在线免费观看 | 国产一级免费av | 亚洲国产网址 | 国产日韩欧美中文 | 国产黄在线 | 久久国产午夜精品理论片最新版本 | 天天操天天干天天爽 | 国产一区私人高清影院 | 免费在线色 | 日韩在线观看一区二区三区 | 日本精品中文字幕 | 国产黄色片在线 | 黄网站色欧美视频 | 欧美日韩一区二区三区在线免费观看 | www最近高清中文国语在线观看 | 成年人在线免费看视频 | 又湿又紧又大又爽a视频国产 | 免费在线观看av不卡 | 欧美日韩一区二区免费在线观看 | 日本中文字幕电影在线免费观看 | 中文字幕国内精品 | 六月婷婷久香在线视频 | 久久久久女教师免费一区 | 免费观看一区二区 | 97成人在线观看 | 久久久一本精品99久久精品 | 最新av网站在线观看 | 天天激情站| 国产精品video爽爽爽爽 | 国产精品不卡一区 | a√天堂资源 | 欧美一区二视频在线免费观看 | 三级黄色片子 | 精品久久久成人 | av大全在线免费观看 | 在线精品视频免费播放 | 天天综合网国产 | 国产一区二区午夜 | 欧美日韩在线精品 | 中文字幕亚洲高清 | 亚洲国产日韩一区 | 日韩免费网址 | 91视频在线免费 | 国内精品视频免费 | 91日韩精品| 国产精品久久久久久久久蜜臀 | 免费a v视频 | 成年人在线电影 | 国产一区在线视频播放 | 欧美日韩免费看 | 欧美中文字幕第一页 | 午夜狠狠干 | 六月丁香激情综合 | 日韩久久精品一区二区 | 成人app在线免费观看 | 曰韩在线 | 欧美激情综合色综合啪啪五月 | 国产亚洲一区二区三区 | 青草视频在线 | 视频在线观看国产 | 深爱激情站 | 国产一区二区三区高清播放 | 久久精品99久久久久久2456 | 91在线视频 | 91精品久久久久久久久 | 色婷婷国产精品一区在线观看 | 国产xx在线 | 久久伦理影院 | 久久人人看 | 九九交易行官网 | 亚洲不卡123| 91在线免费视频 | 国产91精品看黄网站在线观看动漫 | 亚洲精品影视在线观看 | 国产精品热 | 国产码电影 | 久99久久| 国产一级不卡视频 | 日本中文一区二区 | 中文视频一区二区 | 午夜视频播放 | 久久久免费少妇 | 香蕉在线观看视频 | 一区 二区电影免费在线观看 | 国产综合香蕉五月婷在线 | 亚洲一区网站 | 日韩在线高清免费视频 | 免费又黄又爽视频 | 国产一级特黄毛片在线毛片 | 色视频在线免费 | 久久av网 | 日韩av不卡在线观看 | 久久精品这里精品 | 国产精品久久久毛片 | 日韩电影在线观看一区二区 | 天天干,天天操,天天射 | av免费电影在线 | 国产精品日韩欧美一区二区 | 亚洲日本欧美 | 国产成人久久av免费高清密臂 | 国产高清在线免费视频 | 99久久精品一区二区成人 | 曰韩在线| 天天操网站 | 欧洲亚洲激情 | 狠狠操精品| 天天插天天狠 | 亚一亚二国产专区 | 西西4444www大胆无视频 | 深爱激情五月网 | 国产精品久久久久久久久久三级 | 免费在线播放av电影 | 综合国产视频 | 99色 | 色综合久久久久 | 欧美热久久 | 91麻豆精品国产91久久久无限制版 | 久久综合九色九九 | 日韩免费av网址 | 久久精品一区二区三区国产主播 | 欧美激情xxxx性bbbb | 久久免费视频国产 | av日韩中文| 国产成人精品在线播放 | 91试看 | 夜夜骑天天操 | 美女国产精品 | 国产永久免费高清在线观看视频 | 最新中文字幕在线观看视频 | 色夜视频 | 欧美国产日韩一区二区三区 | 日韩欧美在线第一页 | 免费精品国产va自在自线 | 亚洲成人资源网 | 久久综合桃花 | 97视频网站| 久久天堂精品视频 | 午夜美女福利 | 日韩一级黄色大片 | 丝袜精品视频 | 97在线观看视频国产 | 欧美另类高清 videos | 亚洲欧洲成人精品av97 | 玖玖玖国产精品 | 91午夜精品 | 91精品老司机久久一区啪 | 久久免费试看 | 99综合电影在线视频 | 黄网站色 | 九九日韩 | 黄色成人小视频 | 欧美日韩高清一区二区 | 6080yy精品一区二区三区 | 国产福利免费在线观看 | 91精品国产99久久久久久久 | 久久久久成人精品亚洲国产 | 日本不卡一区二区三区在线观看 | 国产一区在线观看免费 | 色视频在线免费观看 | 亚洲传媒在线 | 亚洲一区二区三区四区在线视频 | 91免费的视频在线播放 | 超碰在线个人 | 精品国产福利在线 | 国产精品久久伊人 | 综合婷婷 | 中文字幕频道 | 最新国产福利 | 免费在线观看成年人视频 | 欧美日韩精品免费观看视频 | 欧美日韩精品在线观看视频 | 亚洲少妇天堂 | 这里只有精品视频在线观看 | 婷婷久操| 国产一级电影免费观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产在线观看一区 | 91麻豆免费视频 | 又大又硬又黄又爽视频在线观看 | 天天操天天干天天综合网 | 欧美性久久久久久 | 91资源在线观看 | 精品国产诱惑 | 啪一啪在线| 国产亚洲精品久久久久久久久久久久 | 成人国产精品电影 | 欧美午夜剧场 | 国产一级片一区二区三区 | 婷婷在线网 | 中文字幕在线观看免费 | 97视频免费 | 国产精品久久久久免费 | 天天操天天干天天干 | 黄色三级网站在线观看 | 看毛片的网址 | 99精品热视频只有精品10 | 免费观看91视频 | 午夜精品99久久免费 | 亚洲丝袜中文 | 国产精品免费视频一区二区 | a级一a一级在线观看 | 国产日韩精品一区二区在线观看播放 | 伊人六月| 久久久久久国产精品999 | 97在线精品视频 | 成人精品视频 | 成人黄色毛片 | 色婷婷久久久 | 亚洲视频久久久久 | 91精品久久久久久综合五月天 | 国产精品一区二区在线 | av在线播放中文字幕 | 色 免费观看 | 国产欧美综合视频 | 成年人黄色免费看 | 月丁香婷婷 | 日韩美女免费线视频 | 丁香午夜| 美女网站在线播放 | 9在线观看免费高清完整版在线观看明 | 色久网| 99久久精品免费看国产一区二区三区 | 国产日韩欧美在线观看 | 国内久久久久久 | 久久久国产一区二区三区四区小说 | 97人人澡人人添人人爽超碰 | 日韩av三区 | 国产欧美日韩视频 | 国产午夜精品福利视频 | 手机色站 | 国产xx视频| 久久99国产精品免费网站 | 1024手机基地在线观看 | www.夜色.com | 久久国产影视 | 懂色av懂色av粉嫩av分享吧 | 最新国产精品亚洲 | a亚洲视频 | 国产高清免费在线播放 | 日韩在线视频不卡 | 成年人免费在线观看网站 | 免费在线观看亚洲视频 | 超碰97在线人人 | 成人av在线亚洲 | 日韩免费电影 | 国产日韩视频在线播放 | 天天插天天爱 | 少妇18xxxx性xxxx片 | 少妇搡bbbb搡bbb搡忠贞 | 色香天天 | 国产日韩欧美精品在线观看 | 精品在线小视频 | 27xxoo无遮挡动态视频 | 一区二区三区日韩视频在线观看 | av免费在线观看网站 | 天天干天天干天天干天天干天天干天天干 | 亚洲日本va午夜在线电影 | 一二三区在线 | www日韩高清| 丁香五月缴情综合网 | 国产69精品久久久久9999apgf | 免费观看9x视频网站在线观看 | 国产剧情久久 | 亚洲国内精品在线 | 五月婷在线播放 | 97在线视频免费播放 | 在线视频99 | 中国一级片在线 | 久久免费片 | 在线观看v片 | 国产精品久久久久久久免费大片 | 日韩激情视频在线观看 | 一区二区三区av在线 | 免费av片在线 | 久久艹中文字幕 | 91九色最新 | 久久久久国 | 狠狠色丁香婷婷综合 | 日本中文字幕一二区观 | 免费无遮挡动漫网站 | 午夜精品久久久久久久99 | 97国产大学生情侣酒店的特点 | 国产综合精品久久 | 99精品国产一区二区 | 久99久在线视频 | 成年人视频免费在线播放 | 国产电影一区二区三区四区 | 国产精品男女啪啪 | 国产精品女教师 | 日韩二三区 | 91传媒免费在线观看 | 精品国产成人在线影院 | 4p变态网欧美系列 | 岛国av在线免费 | 天天综合操 | 干综合网 | 国产精品第一页在线 | 在线国产能看的 | 国产高清成人在线 | 99精品乱码国产在线观看 | 亚洲黄色区 | 一区二区激情视频 | 精品无人国产偷自产在线 | 99精品久久久久久久久久综合 | 最新国产精品拍自在线播放 | 中文字幕高清视频 | 色综合天天综合 | 久久蜜桃av | 国产高清在线一区 | 一区二区视频播放 | 91入口在线观看 | 午夜av激情| 免费久久99精品国产 | 国产中文字幕视频在线观看 | 日日日干 | 色鬼综合网| 91黄色小视频 | 国产精品高潮呻吟久久久久 | 亚洲成人黄色在线 | 国内精品99 | 婷婷五综合 | 3d黄动漫免费看 | 99视频在线 | 亚洲区另类春色综合小说 | 欧美日韩中文字幕在线视频 | 91热视频在线观看 | 欧美天天干 | 久久精品欧美视频 | 一级片免费观看视频 | 日日摸日日添夜夜爽97 | 日韩精品一区二区三区第95 | 精品国产伦一区二区三区观看说明 | 毛片网站在线观看 | 久久久久久久国产精品视频 | 亚洲精品久久久蜜臀下载官网 | 久久久久久免费网 | 在线观看成人一级片 | 人人草在线视频 | 不卡视频一区二区三区 | 国产精品99久久久久久宅男 | 97人人精品 | 亚洲精品福利视频 | 日本婷婷色 | 四虎影院在线观看av | 国产精品99久久99久久久二8 | 999精品| 国产亚洲精品久久久久久无几年桃 | 国产精品综合久久久久 | 欧美亚洲久久 | 青青河边草手机免费 | 亚洲综合丁香 | 精品99久久久久久 | 香蕉视频网站在线观看 | 色婷婷成人| 亚洲精品高清一区二区三区四区 | 亚洲激情视频在线 | 久久久国产一区 | 久久久久人人 | 在线 国产 亚洲 欧美 | 国产91在线 | 美洲 | 国产码电影 | 在线免费观看的av网站 | 久久久久亚洲精品 | 欧美日韩中 | 天天爽综合网 | 男女激情免费网站 | 婷婷狠狠操 | 久久精品国产一区二区电影 | 91伊人久久大香线蕉蜜芽人口 | av在线播放中文字幕 | 久草视频在线观 | 欧美特一级片 | 国产免费资源 | 国产一区二区三区免费在线 | 日韩在线观看视频免费 | 超碰人人乐 | 永久免费av在线播放 | 欧美一区二区日韩一区二区 | 日韩高清不卡在线 | 久久午夜电影 | 久久精品精品电影网 | 中文字幕av电影下载 | 亚洲一区欧美精品 | 国产精品一区二区久久精品爱微奶 | 精品久久久久久久久久久院品网 | 日韩二区在线 | 成人一区二区三区在线观看 | 精品国产精品久久一区免费式 | 五月婷婷综合激情 | 国产一区二区日本 | 免费在线国产 | 亚洲综合成人婷婷小说 | 国产玖玖视频 | 日韩精品免费在线视频 | 丝袜美女视频网站 | 色人久久| 狠狠狠狠干 | 久久99精品国产99久久 | 综合伊人久久 | 在线观看电影av | 日本三级中文字幕在线观看 | 青青草国产免费 | 久久综合狠狠 | 天天操天天干天天干 | 亚洲九九九在线观看 | 国产人成精品一区二区三 | 亚洲精品美女久久久 | 91麻豆看国产在线紧急地址 | 国产高清成人av | 天天干天天看 | 麻豆一区二区三区视频 | 国色综合 | 色视频成人在线观看免 | 在线天堂8√ | 狠狠躁夜夜a产精品视频 | 精品国产视频在线 | 夜夜躁天天躁很躁波 | 免费看黄色毛片 | 国产成人精品一区二区在线观看 | 中文字幕一区二区三区四区久久 | 亚洲精品理论片 | 天天狠狠| 国产这里只有精品 | 亚洲mv大片欧洲mv大片免费 | 亚洲不卡av一区二区三区 | 日韩一区二区三 | 奇米影视8888 | 成人国产一区 | 亚洲日本欧美在线 | 国产日韩亚洲 | 国产糖心vlog在线观看 | 免费黄色在线播放 | 国外调教视频网站 | 丁香激情视频 | 欧美精品生活片 | 精品福利网站 | 久久精视频 | 久久综合色一综合色88 | 一级特黄aaa大片在线观看 | 欧美电影在线观看 | 草久在线 | 天天五月天色 | 香蕉视频一级 | 日韩中文字幕国产精品 | 国产精品丝袜 | 欧美精品首页 | 国产婷婷| 韩日av一区二区 | 国产精品乱码久久久久久1区2区 | 国产在线精品区 | 欧美日韩一区二区免费在线观看 | 伊人久久电影网 | 狠狠干狠狠操 | 久久香蕉电影网 | 808电影免费观看三年 | 国产精品一区二区免费视频 | 91精品国产综合久久久久久久 | 日韩精品一区二区三区外面 | 91精品国产成| 日韩在线免费不卡 | 国产精品欧美激情在线观看 | 久久久久久久久久网 | 亚洲精品美女久久 | 日韩特黄av | 亚洲精品国产精品国自产观看浪潮 | 99视频在线观看免费 | 日韩欧美精品在线 | 一区二区欧美激情 | 国产香蕉视频在线观看 | 成年人在线观看免费视频 | 99精品视频一区 | 欧美成人精品欧美一级乱 | 久久久久五月天 | 一区二区成人国产精品 | 国产资源av | 国产视频在线观看一区二区 | 日韩美在线观看 | 日韩精品久久久久久中文字幕8 | 在线观看小视频 | 久久艹艹| 综合久久精品 | 日韩久久精品一区二区三区 | 在线观看免费观看在线91 | 色全色在线资源网 | 亚洲一区二区三区四区在线视频 | 97精品国产一二三产区 | 99产精品成人啪免费网站 | 国产精品一区二区62 | 成年人免费在线 | 一本一道久久a久久精品蜜桃 | 激情综合站| 欧美精品久久久久久久亚洲调教 | 一区二区三区国 | 69久久久久久久 | 国产精品精品国产 | 中国一级片在线观看 | 日韩在线视频免费播放 | 正在播放国产91 | 五月婷av| 亚洲好视频| 欧美精品一区二区免费 | 狠狠色狠狠色 | 亚洲激情视频在线观看 | 免费看搞黄视频网站 | 中文字幕免费不卡视频 | 一本之道乱码区 | 国产日韩精品一区二区 | 一区二区三区影院 | 久9在线| 亚洲在线视频免费 | 久草在线欧美 | 国产精品免费一区二区三区在线观看 | 成人免费在线观看电影 | 国产精品美女久久久久久久 | 日韩精品三区四区 | 伊人网综合在线观看 | 色激情在线 | 香蕉视频在线观看免费 | 亚洲2019精品 | 超碰97中文 | 成人免费看黄 | 最近更新中文字幕 | 国产在线观看免费观看 | 欧美 日韩 性 | 午夜精品久久久久久久久久久久久久 | 国产片网站 | 国产一级二级视频 | 激情婷婷色 | 国产午夜三级一区二区三 | 91成人欧美 | 日韩毛片在线免费观看 | 免费a v观看 | 国产精品va最新国产精品视频 | 亚洲成色777777在线观看影院 | 色久网 | 日韩精品视频在线观看网址 | 中文字幕色网站 | 亚洲精品综合欧美二区变态 | 不卡日韩av| 久久精品99国产精品 | 波多野结衣在线播放一区 | 国产精品久久视频 | 在线免费观看国产黄色 | 亚洲精品h | 在线免费亚洲 |