精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

超完整!11 種經典時間序列預測方法!

人工智能 機器學習
本文我們深入探討如何使用機器學習方法對 Python 的時間序列問題進行分類和預測。我們將深入研究一套經典的時間序列預測方法,您可以在探索機器學習方法之前測試這些方法。

本文我們深入探討如何使用機器學習方法對 Python 的時間序列問題進行分類和預測。我們將深入研究一套經典的時間序列預測方法,您可以在探索機器學習方法之前測試這些方法。

雖然傳統方法強調線性關系,但它們在許多情況下都是熟練且有效的。只要數據準備充分,技術設置好就會很好。

一、 概述

本文演示了 11 種不同的經典時間序列預測方法,以及時間序列方法的對比及實踐教程。

  1.  自回歸 (AR)
  2.  移動平均線 (MA)
  3. 自回歸移動平均線 (ARMA)
  4. 自回歸綜合移動平均線 (ARIMA)
  5. 季節性自回歸綜合移動平均線 (SARIMA)
  6. 具有外生回歸的季節性自回歸積分移動平均值 (SARIMAX)
  7. 向量自回歸 (VAR)
  8. 向量自回歸移動平均 (VARMA)
  9. 具有外生回歸的向量自回歸移動平均值 (VARMAX)
  10. 簡單指數平滑 (SES)
  11. Holt Winter 指數平滑 (HWES)

每種方法都以一致的方式呈現,包括:

  • 描述。對該技術的簡短而精確的描述。
  • Python 代碼。一個簡短的工作示例,用于在 Python 中擬合模型并進行預測。
  • 更多信息。API 和算法的參考。

對于提供的每個代碼示例,我們使用一個基本的說明性數據集。我們理解它可能并不總是適合重點方法,因此我們建議您用您的數據替換人為的數據集,以測試該方法。

請記住:定制每種方法都需要針對您的具體問題進行調整。在許多情況下,我已經在博客上提供了如何配置甚至網格搜索參數的示例,請嘗試搜索功能。

如果本指南被證明是有益的,請在下面的評論部分分享您的想法。

自回歸 (AR)

自回歸 (AR) 方法使用先前觀測值的線性組合來預測序列中的后續值。

模型的符號涉及將模型 p 的順序指定為 AR 函數的參數,例如 AR(p)。例如,AR(1) 是一個一階自回歸模型。

該方法最適合缺乏趨勢和季節性分量的單變量時間序列。

Python 代碼


# AR example
from statsmodels.tsa.ar_model import AutoReg
from random import random
# contrived dataset
data = [x + random() for x in range(1, 100)]
# fit model
model = AutoReg(data, lags=1)
model_fit = model.fit()
# make prediction
yhat = model_fit.predict(len(data), len(data))
print(yhat)

移動平均線 (MA)

移動平均 (MA) 方法模型將序列中的下一步預測為先前時間步長中平均過程殘余誤差的線性函數。

需要注意的是,移動平均線模型不同于計算時間序列的移動平均線。

模型的符號涉及將模型 q 的順序指定為 MA 函數的參數,例如 MA(q)。例如,MA(1) 是一個一階移動平均模型。

該方法適用于沒有趨勢和季節分量的單變量時間序列。

我們可以使用 ARIMA 類來創建 MA 模型并設置零階 AR 模型。我們必須在 order 參數中指定 MA 模型的順序。

Python 代碼

我們可以使用 ARIMA 類來創建 MA 模型并設置零階 AR 模型。我們必須在 order 參數中指定 MA 模型的順序。

# MA example

from statsmodels.tsa.arima.model import ARIMA

from random import random

# contrived dataset

data = [x + random() for x in range(1, 100)]

# fit model

model = ARIMA(data, order=(0, 0, 1))

model_fit = model.fit()

# make prediction

yhat = model_fit.predict(len(data), len(data))

print(yhat)

自回歸移動平均線 (ARMA)

自回歸移動平均 (ARMA) 方法模型基于過去觀測值和過去殘差的線性組合來預測序列中的下一步。

該方法結合了自回歸 (AR) 和移動平均 (MA) 模型。

為了表示模型,符號涉及將 AR(p) 和 MA(q) 模型的順序指定為 ARMA 函數的參數,例如 ARMA(p, q)。ARIMA 模型可用于開發 AR 或 MA 模型。

該方法適用于沒有趨勢和季節分量的單變量時間序列。

Python 代碼


# ARMA example

from statsmodels.tsa.arima.model import ARIMA

from random import random

# contrived dataset

data = [random() for x in range(1, 100)]

# fit model

model = ARIMA(data, order=(2, 0, 1))

model_fit = model.fit()

# make prediction

yhat = model_fit.predict(len(data), len(data))

print(yhat)

更多信息

  • 維基百科上的自回歸-移動平均模型

自回歸綜合移動平均線 (ARIMA)

自回歸綜合移動平均 (ARIMA) 方法模型將序列中的下一步預測為先前時間步長的差分觀測值和殘差誤差的線性函數。

該方法集成了自回歸 (AR) 和移動平均 (MA) 模型的原理以及序列的差分預處理步驟,使序列靜止,稱為積分 (I)。

模型的符號涉及將 AR(p)、I(d) 和 MA(q) 模型的順序指定為 ARIMA 函數的參數,例如 ARIMA(p, d, q)。ARIMA 模型還可用于開發 AR、MA 和 ARMA 模型。

ARIMA 方法最適合表現出趨勢但缺乏季節性變化的單變量時間序列。

Python 代碼

# ARIMA example

from statsmodels.tsa.arima.model import ARIMA

from random import random

# contrived dataset

data = [x + random() for x in range(1, 100)]

# fit model

model = ARIMA(data, order=(1, 1, 1))

model_fit = model.fit()

# make prediction

yhat = model_fit.predict(len(data), len(data), typ='levels')

print(yhat)

更多信息

  • 維基百科上的自回歸綜合移動平均線

季節性自回歸綜合移動平均線 (SARIMA)

季節性自回歸綜合移動平均 (SARIMA) 方法基于差異觀測值、誤差、差異季節性觀測值和先前時間步長的季節性誤差的線性混合,對序列中的下一步進行建模。

SARIMA 增強了 ARIMA 模型,使其能夠在季節性水平上執行相同的自回歸、差分和移動平均建模。

該模型的符號涉及指定 AR(p)、I(d) 和 MA(q) 模型的順序作為 ARIMA 函數的參數,以及季節性水平的 AR(P)、I(D)、MA(Q) 和 m 參數,例如 SARIMA(p, d, q)(P, D, Q)m,其中“m”是每個季節(季節周期)的時間步長數。SARIMA 模型可用于開發 AR、MA、ARMA 和 ARIMA 模型。

該方法適用于具有趨勢和/或季節性分量的單變量時間序列。

Python 代碼


# SARIMA example

from statsmodels.tsa.statespace.sarimax import SARIMAX

from random import random

# contrived dataset

data = [x + random() for x in range(1, 100)]

# fit model

model = SARIMAX(data, order=(1, 1, 1), seasonal_order=(0, 0, 0, 0))

model_fit = model.fit(disp=False)

# make prediction

yhat = model_fit.predict(len(data), len(data))

print(yhat)

更多信息

  • statsmodels.tsa.statespace.sarimax.SARIMAX API 接口
  • statsmodels.tsa.statespace.sarimax.SARIMAXResults API
  • 維基百科上的自回歸綜合移動平均線

具有外生回歸的季節性自回歸積分移動平均值 (SARIMAX)

具有外生回歸的季節性自回歸綜合移動平均值 (SARIMAX) 是 SARIMA 模型的擴展,其中還包括外生變量的建模。

外生變量也稱為協變量,可以將其視為具有與原始序列相同的時間步長的觀測值的并行輸入序列。初級序列可以稱為內源性數據,以將其與外源序列進行對比。外生變量的觀測值在每個時間步直接包含在模型中,并且以與主要內生序列相同的方式建模(例如,作為 AR、MA 等過程)。

SARIMAX 方法還可用于對具有外生變量(如 ARX、MAX、ARMAX 和 ARIMAX)的歸入模型進行建模。

該方法適用于具有趨勢和/或季節成分以及外生變量的單變量時間序列。

Python 代碼

# SARIMAX example

from statsmodels.tsa.statespace.sarimax import SARIMAX

from random import random

# contrived dataset

data1 = [x + random() for x in range(1, 100)]

data2 = [x + random() for x in range(101, 200)]

# fit model

model = SARIMAX(data1, exog=data2, order=(1, 1, 1), seasonal_order=(0, 0, 0, 0))

model_fit = model.fit(disp=False)

# make prediction

exog2 = [200 + random()]

yhat = model_fit.predict(len(data1), len(data1), exog=[exog2])

print(yhat)

更多信息

  • statsmodels.tsa.statespace.sarimax.SARIMAX API 接口
  • statsmodels.tsa.statespace.sarimax.SARIMAXResults API
  • 維基百科上的自回歸綜合移動平均線

向量自回歸 (VAR)

向量自回歸 (VAR) 方法使用 AR 模型方法對每個時間序列中的下一步進行建模。從本質上講,它擴展了 AR 模型以迎合多個并行時間序列,例如多變量時間序列。

模型的符號涉及將 AR(p) 模型的順序指定為 VAR 函數的參數,例如 VAR(p)。

該方法適用于沒有趨勢和季節分量的多變量時間序列。

Python 代碼

from statsmodels.tsa.vector_ar.var_model import VAR
from random import random
# contrived dataset with dependency
data = list()
for i in range(100):
    v1 = i + random()
    v2 = v1 + random()
    row = [v1, v2]
    data.append(row)
# fit model
model = VAR(data)
model_fit = model.fit()
# make prediction
yhat = model_fit.forecast(model_fit.y, steps=1)
print(yhat)

更多信息

  • statsmodels.tsa.vector_ar.var_model。VAR API
  • statsmodels.tsa.vector_ar.var_model。VARResults API
  • 維基百科上的向量自回歸

向量自回歸移動平均 (VARMA)

向量自回歸移動平均 (VARMA) 方法利用 ARMA 模型方法對多個時間序列中即將到來的值進行建模。它是ARMA對多個并行時間序列的推廣,例如多變量時間序列。

模型的符號涉及將 AR(p) 和 MA(q) 模型的順序指定為 VARMA 函數的參數,例如 VARMA(p, q)。VARMA 模型還可用于開發 VAR 或 VMA 模型。

該方法適用于沒有趨勢和季節分量的多變量時間序列。

Python 代碼

更多信息

  • statsmodels.tsa.statespace.varmax.VARMAX 接口
  • statsmodels.tsa.statespace.varmax.VARMAXResults
  • 維基百科上的向量自回歸

具有外生回歸的向量自回歸移動平均值 (VARMAX)

具有外生回歸的向量自回歸移動平均值 (VARMAX) 擴展了 VARMA 模型的功能,其中還包括外生變量的建模。它是 ARMAX 方法的多變量版本。

外生變量,也稱為協變量,可以認為是與原始序列的時間步長對齊的并行輸入序列。主要系列被稱為內源性數據,以將其與外源序列進行對比。外生變量的觀測值在每個時間步直接包含在模型中,并且以與主要內生序列相同的方式建模(例如,作為 AR、MA 等過程)。

VARMAX 方法還可用于對具有外生變量(如 VARX 和 VMAX)的歸和模型進行建模。

該方法適用于無趨勢的多變量時間序列和具有外生變量的季節分量。

Python 代碼

# VARMAX example

from statsmodels.tsa.statespace.varmax import VARMAX

from random import random

# contrived dataset with dependency

data = list()

for i in range(100):

    v1 = random()

    v2 = v1 + random()

    row = [v1, v2]

    data.append(row)

data_exog = [x + random() for x in range(100)]

# fit model

model = VARMAX(data, exog=data_exog, order=(1, 1))

model_fit = model.fit(disp=False)

# make prediction

data_exog2 = [[100]]

yhat = model_fit.forecast(exog=data_exog2)

print(yhat)

更多信息

  • statsmodels.tsa.statespace.varmax.VARMAX 接口
  • statsmodels.tsa.statespace.varmax.VARMAXResults
  • 維基百科上的向量自回歸

簡單指數平滑 (SES)

簡單指數平滑 (SES) 方法將下一個時間步長建模為先前時間步長觀測值的指數加權線性函數。

該方法適用于沒有趨勢和季節分量的單變量時間序列。

Python 代碼

# SES example

from statsmodels.tsa.holtwinters import SimpleExpSmoothing

from random import random

# contrived dataset

data = [x + random() for x in range(1, 100)]

# fit model

model = SimpleExpSmoothing(data)

model_fit = model.fit()

# make prediction

yhat = model_fit.predict(len(data), len(data))

print(yhat)

更多信息

  • statsmodels.tsa.holtwinters.SimpleExpSmoothing API 接口
  • statsmodels.tsa.holtwinters.HoltWinters結果 API
  • 維基百科上的指數平滑

Holt Winter 指數平滑 (HWES)

Holt Winter's Exponential Smoothing (HWES) 也稱為三重指數平滑方法,將下一個時間步長建模為先前時間步長觀測值的指數加權線性函數,同時考慮趨勢和季節性。

該方法適用于具有趨勢和/或季節性分量的單變量時間序列。

Python 代碼

# HWES example

from statsmodels.tsa.holtwinters import ExponentialSmoothing

from random import random

# contrived dataset

data = [x + random() for x in range(1, 100)]

# fit model

model = ExponentialSmoothing(data)

model_fit = model.fit()

# make prediction

yhat = model_fit.predict(len(data), len(data))

print(yhat)

二、時間序列方法對比及實踐

在這里,我們將看看時間序列預測的例子,以及如何建立ARMA、ARIMA和SARIMA模型,對比特幣(BTC)的未來價格進行時間序列預測。

讀取和顯示 BTC 時間序列數據

我們將首先使用 Pandas 數據讀取器讀取 BTC 的歷史價格。讓我們在終端中使用一個簡單的 pip 命令來安裝它:

pip install pandas-datareader

讓我們打開一個 Python 腳本,并從 Pandas 庫中導入數據讀取器:

import pandas_datareader.data as web
import datetime

我們還導入 Pandas 庫本身,并放寬對列和行的顯示限制:

import pandas as pd 
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

現在,我們可以導入日期時間庫,這將允許我們定義數據提取的開始和結束日期:

import datetime

現在我們已經掌握了提取比特幣價格時間序列數據所需的一切,讓我們收集數據。

import pandas_datareader as web 

btc = web.get_data_yahoo(['BTC-USD'], start=datetime.datetime(2018, 1, 1), end=datetime.datetime(2020, 12, 2))['Close']

print(btc.head())

我們看到我們的數據框包含許多列。讓我們來看看這些列中的每一個的含義。

  1. 日期:這是我們時間序列中的索引,用于指定與價格關聯的日期。
  2. 收盤價:當天購買BTC的最后價格。
  3. 開盤價:當天購買BTC的第一個價格。
  4. 最高價:當天購買BTC的最高價格。
  5. 最低價:當天購買BTC的最低價格。
  6. 交易量:當天的總交易次數。
  7. 調整收盤價:根據股息和股票分割調整后的收盤價。

我們將使用收盤價作為預測模型。具體來說,我們將使用歷史收盤價 BTC 來預測未來的 BTC 價格。

讓我們將收盤價 BTC 數據寫入 csv 文件。這樣,我們就可以避免使用 Pandas 數據讀取器重復提取數據。

btc.to_csv("btc.csv")

現在,讓我們閱讀 csv 文件并顯示前五行:

btc = pd.read_csv("btc.csv")
print(btc.head())

為了使用統計庫提供的模型,我們需要將日期列設置為數據框索引。我們還應該使用 to_datetime 方法格式化該日期:

btc.index = pd.to_datetime(btc['Date'], format='%Y-%m-%d')

讓我們顯示我們的數據框:

del btc['Date']

讓我們繪制我們的時間序列數據。為此,讓我們導入數據可視化庫 Seaborn 和 Matplotlib:

import matplotlib.pyplot as plt
import seaborn as sns

讓我們使用 Seaborn 格式化可視化:

sns.set()

并使用 Matplotlib 標記 y 軸和 x 軸。我們還將在 x 軸上旋轉日期,以便它們更易于閱讀:

plt.ylabel('BTC Price')
plt.xlabel('Date')
plt.xticks(rotatinotallow=45)

最后,使用 Matplotlib 生成我們的圖:

plt.plot(btc.index, btc['BTC-USD'], )

現在我們可以繼續構建我們的第一個時間序列模型,即自回歸移動平均線。

拆分數據進行訓練和測試

模型構建的一個重要部分是拆分我們的數據以進行訓練和測試,這可確保構建一個可以在訓練數據之外泛化的模型,并且性能和輸出具有統計意義。

我們將拆分數據,使 2020 年 11 月之前的所有內容都作為訓練數據,而 2020 年之后的所有內容都將成為測試數據:

train = btc[btc.index < pd.to_datetime("2020-11-01", format='%Y-%m-%d')]
test = btc[btc.index > pd.to_datetime("2020-11-01", format='%Y-%m-%d')]

plt.plot(train, color = "black")
plt.plot(test, color = "red")
plt.ylabel('BTC Price')
plt.xlabel('Date')
plt.xticks(rotatinotallow=45)
plt.title("Train/Test split for BTC Data")
plt.show()


自回歸移動平均線 (ARMA)

ARMA 中的術語“自回歸”意味著模型使用過去的值來預測未來的值。具體而言,預測值是過去值的加權線性組合。這種類型的回歸方法類似于線性回歸,不同之處在于此處的特征輸入是歷史值。

移動平均是指由白噪聲項的加權線性組合表示的預測,其中白噪聲是隨機信號。這里的想法是,ARMA使用過去值和白噪聲的組合來預測未來的值。自回歸對市場參與者的行為進行建模,例如買賣BTC。白噪聲模型震撼了戰爭、經濟衰退和政治事件等事件。

我們可以使用 SARIMAX 軟件包定義 ARMA 模型:

from statsmodels.tsa.statespace.sarimax import SARIMAX

 讓我們定義我們的輸入:

y = train['BTC-USD']

然后讓我們定義我們的模型。為了定義一個帶有 SARIMAX 類的 ARMA 模型,我們傳入了 (1, 0 ,1) 的階數參數。Alpha 對應于我們預測的顯著性水平。通常,我們選擇 alpha = 0.05。在這里,ARIMA 算法計算預測周圍的上限和下限,因此實際值有 5% 的可能性超出上限和下限。這意味著有 95% 的置信度認為實際值將介于我們預測的上限和下限之間。

ARMAmodel = SARIMAX(y, order = (1, 0, 1))

然后,我們可以擬合我們的模型:

ARMAmodel = ARMAmodel.fit()

生成我們的預測:

y_pred = ARMAmodel.get_forecast(len(test.index))
y_pred_df = y_pred.conf_int(alpha = 0.05) 
y_pred_df["Predictions"] = ARMAmodel.predict(start = y_pred_df.index[0], end = y_pred_df.index[-1])
y_pred_df.index = test.index
y_pred_out = y_pred_df["Predictions"]

并繪制結果:

plt.plot(y_pred_out, color='green', label = 'Predictions')
plt.legend()

我們還可以使用均方根誤差來評估性能:

import numpy as np
from sklearn.metrics import mean_squared_error

arma_rmse = np.sqrt(mean_squared_error(test["BTC-USD"].values, y_pred_df["Predictions"]))
print("RMSE: ",arma_rmse)

RMSE相當高,我們可以在檢查地塊時猜到這一點。不幸的是,當價格實際上漲時,該模型預測價格會下降。同樣,ARMA 的局限性在于它無法用于非平穩時間序列,并且無法捕獲季節性。讓我們看看我們是否可以使用 ARIMA 模型提高性能。

自回歸綜合移動平均線 (ARIMA)

讓我們從統計庫導入 ARIMA 包:

from statsmodels.tsa.arima.model import ARIMA

ARIMA 任務有三個參數。第一個參數對應于滯后(過去的值),第二個參數對應于差分(這就是使非平穩數據平穩的原因),最后一個參數對應于白噪聲(用于模擬沖擊事件)。

讓我們定義一個帶有階參數 (2,2,2) 的 ARIMA 模型:

ARIMAmodel = ARIMA(y, order = (2, 2, 2))
ARIMAmodel = ARIMAmodel.fit()

y_pred = ARIMAmodel.get_forecast(len(test.index))
y_pred_df = y_pred.conf_int(alpha = 0.05) 
y_pred_df["Predictions"] = ARIMAmodel.predict(start = y_pred_df.index[0], end = y_pred_df.index[-1])
y_pred_df.index = test.index
y_pred_out = y_pred_df["Predictions"] 
plt.plot(y_pred_out, color='Yellow', label = 'ARIMA Predictions')
plt.legend()


import numpy as np
from sklearn.metrics import mean_squared_error

arma_rmse = np.sqrt(mean_squared_error(test["BTC-USD"].values, y_pred_df["Predictions"]))
print("RMSE: ",arma_rmse)

我們看到 ARIMA 預測(黃色)位于 ARMA 預測之上。讓我們嘗試將差異參數增加到 ARIMA (2,3,2):

我們看到這有助于捕捉價格上漲的方向。讓我們嘗試使用 ARIMA(5,4,2) 進一步使用參數:

我們的 RMSE 為 793,比 ARMA 好。另一種方法是根據時間特征(如周、月和年)訓練線性回歸模型。這種方法是有限的,因為它不能像 ARIMA 方法那樣捕獲自回歸和移動平均特征。此外,ARIMA 根據去趨勢滯后目標值訓練回歸器,而不是線性回歸等自變量。話雖如此,ARIMA的表現可能會優于在獨立時間變量上訓練的線性回歸模型。

最后,讓我們看看包含季節性的SARIMA是否會進一步提高性能。

季節性 ARIMA (SARIMA)

季節性 ARIMA 捕捉歷史價值、沖擊事件和季節性。我們可以使用 SARIMAX 類定義一個 SARIMA 模型:

SARIMAXmodel = SARIMAX(y, order = (5, 4, 2), seasonal_order=(2,2,2,12))
SARIMAXmodel = SARIMAXmodel.fit()

y_pred = SARIMAXmodel.get_forecast(len(test.index))
y_pred_df = y_pred.conf_int(alpha = 0.05) 
y_pred_df["Predictions"] = SARIMAXmodel.predict(start = y_pred_df.index[0], end = y_pred_df.index[-1])
y_pred_df.index = test.index
y_pred_out = y_pred_df["Predictions"] 
plt.plot(y_pred_out, color='Blue', label = 'SARIMA Predictions')
plt.legend()

在這里,我們的 RMSE 為 966,比 ARIMA 略差。這可能是由于缺乏超參數優化。如果我們對 SARIMA 模型的參數進行調整,我們應該能夠進一步提高性能。

我鼓勵您嘗試使用超參數,看看是否可以構建一個性能優于 ARIMA 的 SARIMA 模型。此外,您可以采用網格搜索等方法通過算法找到每個模型的最佳參數。

總結

在這篇文章中,你發現了一套經典的時間序列預測方法,你可以在時間序列數據集上測試和調整這些方法。這些方法專為各種時序數據集而設計,可用于在各種方案和行業中實現它們。無論您是在處理股票市場趨勢、天氣預報還是銷售預測,這些方法都可以提供有價值的預測。

責任編輯:華軒 來源: 數據分析及應用
相關推薦

2024-10-24 16:46:41

2023-01-24 17:14:59

2024-05-09 16:23:14

2021-12-09 15:37:50

自動駕駛數據人工智能

2024-06-27 16:38:57

2023-02-21 14:58:12

間序列周期數據集

2021-07-01 21:46:30

PythonHot-Winters數據

2021-04-07 10:02:00

XGBoostPython代碼

2023-10-13 15:34:55

時間序列TimesNet

2021-07-02 10:05:45

PythonHot-winters指數平滑

2024-07-18 13:13:58

2025-01-14 13:32:47

2023-07-05 07:21:34

時間序列學習框架模型

2023-07-19 15:28:10

時間序列分析季節性

2023-03-16 18:09:00

機器學習數據集

2022-08-16 09:00:00

機器學習人工智能數據庫

2023-01-30 17:10:23

DeepTime元學習

2017-11-20 11:51:40

KerasLSTM深度學習

2023-03-16 07:27:30

CnosDB數據庫

2024-11-15 15:20:00

模型數據
點贊
收藏

51CTO技術棧公眾號

农村寡妇一区二区三区| 欧美专区在线播放| 在线免费看黄色片| 性欧美1819sex性高清| 国产清纯白嫩初高生在线观看91 | 国产91对白刺激露脸在线观看| 免费福利在线观看| 精品亚洲aⅴ乱码一区二区三区| 色综合色综合网色综合| 亚洲欧美色图视频| 国产色99精品9i| 日韩欧美福利视频| 欧洲xxxxx| 黄色av网站在线看| 成人三级在线视频| 成人自拍性视频| 色一情一乱一伦| 99re6这里只有精品| 欧美一卡二卡三卡四卡| 国产淫片免费看| 国产精品久久久久久福利| 99久久99久久久精品齐齐| 91亚洲精品一区| 无码人妻丰满熟妇区bbbbxxxx| 亚洲网色网站| 色悠悠久久久久| 中国极品少妇videossexhd| **日韩最新| 91福利国产精品| 91国视频在线| 狂野欧美激情性xxxx欧美| 国产精品久久毛片a| 欧美日韩综合久久| 日本波多野结衣在线| 国产米奇在线777精品观看| 国产精品国产自产拍高清av水多 | 精品国产免费久久久久久尖叫| 国产裸体永久免费无遮挡| 美女www一区二区| 国产97在线视频| 久久夜色精品国产噜噜亚洲av| 精品动漫3d一区二区三区免费版| 久久天天躁狠狠躁老女人| 美女100%露胸无遮挡| 日韩高清成人在线| 日韩电影大片中文字幕| 性欧美丰满熟妇xxxx性久久久| 免费观看性欧美大片无片| 在线电影院国产精品| 鲁一鲁一鲁一鲁一av| 午夜精品成人av| 欧美专区日韩专区| 熟妇人妻无乱码中文字幕真矢织江| 蜜桃视频在线网站| 色综合久久中文字幕| 成人黄色av片| 亚洲女同志freevdieo| 精品久久久久久久久久ntr影视| 日韩xxxx视频| 日本午夜大片a在线观看| 欧美性猛交xxxx乱大交极品| 夫妻免费无码v看片| 成人直播视频| 欧美影片第一页| 亚洲色图久久久| 国产一区影院| 日韩欧美国产麻豆| 亚洲一二三四五| 美女一区二区在线观看| 日韩电影中文字幕在线| 一本色道久久综合亚洲精品图片| 综合伊思人在钱三区| 一区二区欧美久久| 永久久久久久久| 国产主播精品| 57pao成人国产永久免费| 国产性生活视频| 久久99久久久欧美国产| 亚洲综合中文字幕在线| 日韩一区二区三区不卡| 久久精品人人做| 中文字幕一区二区三区在线乱码| 欧美xxxx做受欧美88bbw| 欧美日韩亚洲天堂| 欧美美女一级片| 136福利精品导航| 国产视频精品久久久| 在线观看免费黄色网址| 欧美日韩亚洲一区二区三区在线| 97免费视频在线| 这里只有精品9| 国产a精品视频| 欧美一级片免费观看| 快射av在线播放一区| 精品久久中文字幕| 四季av一区二区三区| 日韩大胆成人| 久久成人免费视频| 亚洲无码精品一区二区三区| 国产酒店精品激情| 欧美三级华人主播| 日本色护士高潮视频在线观看| 色一区在线观看| av在线网站免费观看| 自拍偷拍一区| 欧美精品aaa| 中文字幕乱码在线观看| 成人国产精品免费观看视频| 午夜精品短视频| 国产理论在线| 日韩午夜在线观看| 欧洲美熟女乱又伦| 9色国产精品| 亚洲一区二区久久久久久| 麻豆国产在线播放| 亚洲一区二区三区中文字幕| 天天干天天操天天玩| 香蕉久久精品| 午夜精品福利电影| 性一交一乱一精一晶| 国产精品网友自拍| 国产极品美女高潮无套久久久 | 精品久久中出| 日韩专区av| 欧美夫妻性生活| 蜜桃久久精品成人无码av| 99re国产精品| 国产精品日韩一区二区| 最新av在线播放| 欧美日韩二区三区| 一区二区三区伦理片| 亚洲综合丁香| 国产一区不卡在线观看| 四虎影院观看视频在线观看| 91麻豆精品久久久久蜜臀| 日本理论中文字幕| 日韩国产在线一| 欧美日韩精品中文字幕一区二区| 19禁羞羞电影院在线观看| 日韩美女主播在线视频一区二区三区| 男人晚上看的视频| 蜜桃av一区二区三区电影| 日本不卡一区| 国产亚洲一区二区手机在线观看 | 萌白酱视频在线| 日韩av成人高清| 亚洲国产欧美日韩| 国产人妖一区| 久久综合网hezyo| 国产女人18毛片水18精| 亚洲日本一区二区三区| 在线免费看v片| 中文在线日韩| av观看久久| 欧美1—12sexvideos| 精品国产欧美一区二区| 日本网站免费观看| 97se亚洲国产综合自在线观| 日本十八禁视频无遮挡| 中国av一区| 国产一区欧美二区三区| av网站在线免费看推荐| 欧美成人精品福利| 黄色小说在线观看视频| 2024国产精品视频| 日本中文字幕高清| 91亚洲一区| 亚洲最大成人网色| 成人免费图片免费观看| 国产午夜精品免费一区二区三区| 特级西西444www高清大视频| 最近中文字幕一区二区三区| 国产精品91av| 国产一区二区三区的电影 | 成人性生交大片免费看小说| 青草视频在线免费直播| 亚洲国产欧美自拍| 少妇又紧又色又爽又刺激视频| 中文字幕日韩一区| 亚洲性图第一页| 日韩黄色免费网站| 日韩视频一二三| 日韩av中文字幕一区| 国产精品免费在线免费| 一区二区三区伦理| 日韩精品免费一线在线观看| 最近中文字幕在线观看视频| 伊人开心综合网| 美女100%无挡| 国产高清在线精品| 能看的毛片网站| 亚洲精品国产偷自在线观看| 久久av免费一区| 亚洲国产一区二区久久| 国内精品视频久久| 午夜伦全在线观看| 亚洲国产成人久久综合| 成年人晚上看的视频| 一级精品视频在线观看宜春院| 在线小视频你懂的| 粉嫩嫩av羞羞动漫久久久| 在线观看免费成人av| 亚洲欧美在线专区| 日本午夜一区二区三区| 动漫av一区| 成人性生交xxxxx网站| 亚洲欧美电影| 久久久久久av| 美女写真理伦片在线看| 国产午夜精品麻豆| 国模人体一区二区| 777久久久精品| 国产性生活视频| 欧美日韩国产一区二区三区| 夫妻性生活毛片| 国产欧美日韩另类一区| 亚洲永久无码7777kkk| 国产精品一级片在线观看| 91福利国产成人精品播放| 夜夜精品视频| 久久久久99精品成人片| 亚洲乱码免费伦视频| 亚洲精品9999| 欧美人与拘性视交免费看| 国产乱码精品一区二区三区卡| 日本精品视频| 91在线观看免费高清| 国产精品伦一区二区| 国产成人精品久久二区二区| 美女av在线免费看| 国内精品免费午夜毛片| 丁香花在线观看完整版电影| 欧美猛少妇色xxxxx| 黄av在线播放| 久久综合伊人77777| 男女啪啪在线观看| 中文字幕在线亚洲| www黄在线观看| 在线观看日韩av| 国产二区视频在线观看| 亚洲欧美日韩中文在线制服| 婷婷亚洲一区二区三区| 欧美成人欧美edvon| 午夜精品一区二区三| 日韩欧美电影在线| www.蜜臀av.com| 精品欧美一区二区三区精品久久| 超碰在线人人干| 精品国产露脸精彩对白| 人妻中文字幕一区| 精品一区二区三区四区在线| 人人九九精品| 国产午夜精品视频| 伊人免费在线| 欧美成人国产va精品日本一级| 成人黄色网址| 欧美激情一区二区三区在线视频观看 | 国产精品1区二区.| 2018国产精品| av成人动漫在线观看| 日本黄色特级片| 欧美激情在线观看视频免费| 开心激情五月网| 亚洲乱码中文字幕| 国产在线一区视频| 色欧美乱欧美15图片| 在线免费a视频| 欧美一区二区视频在线观看2020| 亚洲精品国产精品乱码不卡| 亚洲国产天堂网精品网站| 免费成人av电影| 另类视频在线观看| caoporn视频在线| 国产脚交av在线一区二区| 久久久久久久性潮| 国产精品对白一区二区三区| 九九综合在线| 亚洲国产精品女人| 亚洲美女少妇无套啪啪呻吟| 热久久精品免费视频| 国产乱码一区二区三区| 噜噜噜在线视频| 国产精品久久久久久久第一福利| 欧美日韩在线国产| 一本色道久久加勒比精品| 一区二区国产欧美| 亚洲国产第一页| 网友自拍视频在线| 97国产在线视频| 国产精品第一国产精品| 成人黄色在线免费观看| 国产成人高清| 黑人巨茎大战欧美白妇| 日韩电影在线一区二区| 日韩成人av影院| 国产精品福利一区| 日韩成人免费在线视频| 欧美精品欧美精品系列| 香蕉国产在线视频| 欧美成人精品一区二区三区| 日本成人三级电影| 成人欧美一区二区三区在线观看| 欧美色图国产精品| 欧美日韩性生活片| 国产在线不卡一卡二卡三卡四卡| 大地资源二中文在线影视观看| 日韩美女视频一区二区| 青青视频在线免费观看| 日韩精品一区二区在线| 素人av在线| 国产不卡精品视男人的天堂| 国产精品白丝av嫩草影院| 在线观看亚洲视频啊啊啊啊| 亚洲欧美久久久| 丝袜熟女一区二区三区| 亚洲欧美另类图片小说| 亚洲网站免费观看| 亚洲欧美中文日韩在线v日本| 国产丝袜在线播放| 亚洲sss综合天堂久久| 久久激情电影| 国产a级片免费观看| 91丝袜美腿高跟国产极品老师| 欧美激情一区二区视频| 欧美福利一区二区| 思思99re6国产在线播放| 国产激情综合五月久久| 妖精视频一区二区三区免费观看| 亚洲 欧美 日韩 国产综合 在线| 成人激情av网| 久草国产在线观看| 日韩一区二区三区观看| www久久日com| 91在线视频成人| 91精品国产福利在线观看麻豆| 自拍偷拍21p| 国产精品久久久久三级| 亚洲自拍偷拍另类| www高清在线视频日韩欧美| 日韩欧美一区二区三区在线观看| 欧美区高清在线| 久久午夜电影| 国产aⅴ激情无码久久久无码| 一本到高清视频免费精品| 看电影就来5566av视频在线播放| 日本一区二区三区在线播放| 欧美人与牛zoz0性行为| 日本爱爱免费视频| 国产精品美女一区二区三区 | 亚洲天堂久久av| 欧美亚洲大片| 亚洲一区二区在线观| 激情久久久久久久久久久久久久久久| 国产午夜精品理论片在线| 欧美精品vⅰdeose4hd| 超碰在线免费公开| 国产激情一区二区三区在线观看| 亚洲第一黄网| 亚洲午夜久久久久久久久红桃 | 欧美一区二区三区图| 免费观看不卡av| 亚洲福利精品视频| 亚洲色图第一区| 免费观看黄色av| 日韩69视频在线观看| 日韩精品欧美激情一区二区| 三级一区二区三区| 亚洲第一成年网| 久草在现在线| 亚洲综合色av| 亚洲深爱激情| 亚洲AV成人无码精电影在线| 欧美mv日韩mv| 香蕉久久免费电影| 好吊色这里只有精品| 成人免费福利片| 做爰无遮挡三级| 欧美另类在线观看| 亚洲另类av| 中文国产在线观看| 欧美日韩精品在线视频| 国产福利电影在线| yy111111少妇影院日韩夜片 | 午夜国产不卡在线观看视频| 美女做暖暖视频免费在线观看全部网址91 | 国产亚洲人成a一在线v站| 香蕉久久一区| www国产精品内射老熟女| 国产精品三级视频| 日韩中文字幕观看| 国产日本欧美在线观看| 日韩一区二区久久| 特一级黄色录像| 亚洲美女av在线| 99re91这里只有精品| 国产九九在线视频| 精品久久久国产精品999| 国产网友自拍视频导航网站在线观看| 国产主播一区二区三区四区| 精品一区二区三区日韩|