日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

PHP實現(xiàn)簡單線性回歸之數(shù)據(jù)研究工具

瀏覽:222日期:2024-03-10 14:25:11

概念

簡單線性回歸建模背后的基本目標是從成對的 X值和 Y值(即 X和 Y測量值)組成的二維平面中找到最吻合的直線。一旦用 最小方差法找到這條直線,就可以執(zhí)行各種統(tǒng)計測試,以確定這條直線與觀測到的 Y值的偏離量吻合程度。

線性方程( y = mx + b)有兩個參數(shù)必須根據(jù)所提供的 X和 Y數(shù)據(jù)估算出來,它們是斜率( m)和 y 軸截距( b)。一旦估算出這兩個參數(shù),就可以將觀測值輸入線性方程,并觀察方程所生成的 Y預(yù)測值。

要使用最小方差法估算出 m和 b參數(shù),就要找到 m 和 b 的估計值,使它們對于所有的 X值得到的 Y值的觀測值和預(yù)測值最小。觀測值和預(yù)測值之差稱為誤差( y i- (mx i+ b) ),并且,如果對每個誤差值都求平方,然后求這些殘差的和,其結(jié)果是一個被稱為 預(yù)測平方差的數(shù)。使用最小方差法來確定最吻合的直線涉及尋找使預(yù)測方差最小的 m和 b的估計值。

可以用兩種基本方法來找到滿足最小方差法的估計值 m和 b。第一種方法,可以使用數(shù)值搜索過程設(shè)定不同的 m和 b值并對它們求值,最終決定產(chǎn)生最小方差的估計值。第二種方法是使用微積分找到用于估算 m和 b 的方程。我不打算深入討論推導(dǎo)出這些方程所涉及的微積分,但我確實在 SimpleLinearRegression 類中使用了這些分析方程,以找到 m和 b 的最小平方估計值(請參閱 SimpleLinearRegression 類中的 getSlope() 和 getYIntercept 方法)。

即使擁有了可以用來找到 m和 b的最小平方估計值的方程,也并不意味著只要將這些參數(shù)代入線性方程,其結(jié)果就是一條與數(shù)據(jù)良好吻合的直線。這個簡單線性回歸過程中的下一步是確定其余的預(yù)測方差是否可以接受。

可以使用統(tǒng)計決策過程來否決“直線與數(shù)據(jù)吻合”這個備擇假設(shè)。這個過程基于對 T 統(tǒng)計值的計算,使用概率函數(shù)求得隨機大的觀測值的概率。正如第 1 部分所提到的, SimpleLinearRegression 類生成了為數(shù)眾多的匯總值,其中一個重要的匯總值是 T 統(tǒng)計值,它可以用來衡量線性方程與數(shù)據(jù)的吻合程度。如果吻合良好,則 T 統(tǒng)計值往往是一個較大的值;如果 T 值很小,就應(yīng)該用一個缺省模型代替您的線性方程,該模型假定 Y值的平均值是最佳預(yù)測值(因為一組值的平均值通常可以是下一個觀測值的有用的預(yù)測值)。

要測試 T 統(tǒng)計值是否大到可以不用 Y值的平均值作為最佳預(yù)測值,需要計算隨機獲得 T 統(tǒng)計值的概率。如果概率很低,那就可以不采用平均值是最佳預(yù)測值這一無效假設(shè),并且相應(yīng)地可以確信簡單線性模型是與數(shù)據(jù)良好吻合的。(有關(guān)計算 T 統(tǒng)計值概率的更多信息,請參閱第 1 部分。)

回過頭討論統(tǒng)計決策過程。它告訴您何時不采用無效假設(shè),卻沒有告訴您是否接受備擇假設(shè)。在研究環(huán)境中,需要通過理論參數(shù)和統(tǒng)計參數(shù)來建立線性模型備擇假設(shè)。

您將構(gòu)建的數(shù)據(jù)研究工具實現(xiàn)了用于線性模型(T 測試)的統(tǒng)計決策過程,并提供了可以用來構(gòu)造理論和統(tǒng)計參數(shù)的匯總數(shù)據(jù),這些參數(shù)是建立線性模型所需要的。數(shù)據(jù)研究工具可以歸類為決策支持工具,供知識工作者在中小規(guī)模的數(shù)據(jù)集中研究模式。

從學習的角度來看,簡單線性回歸建模值得研究,因為它是理解更高級形式的統(tǒng)計建模的必由之路。例如,簡單線性回歸中的許多核心概念為理解多次回歸(Multiple Regression)、要素分析(Factor Analysis)和時間序列(Time Series)等建立了良好的基礎(chǔ)。

簡單線性回歸還是一種多用途的建模技術(shù)。通過轉(zhuǎn)換原始數(shù)據(jù)(通常用對數(shù)或冪轉(zhuǎn)換),可以用它來為曲線數(shù)據(jù)建模。這些轉(zhuǎn)換可以使數(shù)據(jù)線性化,這樣就可以使用簡單線性回歸來為數(shù)據(jù)建模。所生成的線性模型將被表示為與被轉(zhuǎn)換值相關(guān)的線性公式。

概率函數(shù)

在前一篇文章中,我通過交由 R 來求得概率值,從而避開了用 PHP 實現(xiàn)概率函數(shù)的問題。我對這個解決方案并非完全滿意,因此我開始研究這個問題:開發(fā)基于 PHP 的概率函數(shù)需要些什么。

我開始上網(wǎng)查找信息和代碼。一個兩者兼有的來源是書籍 Numerical Recipes in C 中的概率函數(shù)。我用 PHP 重新實現(xiàn)了一些概率函數(shù)代碼( gammln.c 和 betai.c 函數(shù)),但我對結(jié)果還是不滿意。與其它一些實現(xiàn)相比,其代碼似乎多了些。此外,我還需要反概率函數(shù)。

幸運的是,我偶然發(fā)現(xiàn)了 John Pezzullo 的 Interactive Statistical Calculation。John 關(guān)于 概率分布函數(shù)的網(wǎng)站上有我需要的所有函數(shù),為便于學習,這些函數(shù)已用 JavaScript 實現(xiàn)。

我將 Student T 和 Fisher F 函數(shù)移植到了 PHP。我對 API 作了一點改動,以便符合 Java 命名風格,并將所有函數(shù)嵌入到名為 Distribution 的類中。該實現(xiàn)的一個很棒的功能是 doCommonMath 方法,這個庫中的所有函數(shù)都重用了它。我沒有花費力氣去實現(xiàn)的其它測試(正態(tài)測試和卡方測試)也都使用 doCommonMath 方法。

這次移植的另一個方面也值得注意。通過使用 JavaScript,用戶可以將動態(tài)確定的值賦給實例變量,譬如:

var PiD2 = pi() / 2;

在 PHP 中不能這樣做。只能把簡單的常量值賦給實例變量。希望在 PHP5 中會解決這個缺陷。

請注意 清單 1中的代碼并未定義實例變量 — 這是因為在 JavaScript 版本中,它們是動態(tài)賦予的值。

清單 1. 實現(xiàn)概率函數(shù)

<?php;

// Distribution.php;

// Copyright John Pezullo; // Released under same terms as PHP.; // PHP Port and OO'fying by Paul Meagher;

class Distribution {;

function doCommonMath($q, $i, $j, $b) {; $zz = 1; $z; = $zz; $k; = $i; while($k <= $j) { $zz = $zz * $q * $k / ($k - $b); $z; = $z + $zz; $k; = $k + 2; }; return $z }; function getStudentT($t, $df) {;

$t; = abs($t); $w; = $t; / sqrt($df); $th = atan($w) if ($df == 1) { return 1 - $th / (pi() / 2); }; $sth = sin($th); $cth = cos($th) if( ($df % 2) ==1 ) { return; 1 - ($th + $sth * $cth * $this->doCommonMath($cth * $cth, 2, $df - 3, -1)); / (pi()/2) } else {; return 1 - $sth * $this->doCommonMath($cth * $cth, 1, $df - 3, -1); }; }; function getInverseStudentT($p, $df) { $v =; 0.5; $dv = 0.5; $t; = 0 while($dv > 1e-6) { $t = (1 / $v) - 1; $dv = $dv / 2; if ( $this->getStudentT($t, $df) > $p) { $v = $v - $dv } else { $v = $v + $dv } }; return $t };

function getFisherF($f, $n1, $n2) {; // implemented but not shown;;; };

function getInverseFisherF($p, $n1, $n2) { // implemented but not shown;;; };

}; ?>

輸出方法

既然您已經(jīng)用 PHP 實現(xiàn)了概率函數(shù),那么開發(fā)基于 PHP 的數(shù)據(jù)研究工具剩下的唯一難題就是設(shè)計用于顯示分析結(jié)果的方法。

簡單的解決方案是根據(jù)需要將所有實例變量的值都顯示到屏幕上。在第一篇文章中,當顯示燃耗研究(Burnout Study)的線性方程、 T值和 T 概率時,我就是這么做的。能根據(jù)特定目的而訪問特定值是很有幫助的, SimpleLinearRegression 支持此類用法。

然而,另一種用于輸出結(jié)果的方法是將輸出的各部分系統(tǒng)化地進行分組。如果研究用于回歸分析的主要統(tǒng)計軟件包的輸出,就會發(fā)現(xiàn)它們往往是用同樣的方式對輸出進行分組的。它們往往有 摘要表(Summary Table)、 偏離值分析(Analysis Of Variance)表、 參數(shù)估計值(Parameter Estimate)表和 R 值(R Value)。類似地,我創(chuàng)建了一些輸出方法,名稱如下:

showSummaryTable() showAnalysisOfVariance() showParameterEstimates() showRValues() 我還有一個用于顯示線性預(yù)測公式的方法( getFormula() )。許多統(tǒng)計軟件包不輸出公式,而是希望用戶根據(jù)上述方法的輸出構(gòu)造公式。部分是由于您最后用來對數(shù)據(jù)建模的公式的最終形式可能由于下列原因而與缺省公式不同:

Y軸截距沒有有意義的解釋,或者 輸入值可能是經(jīng)過轉(zhuǎn)換的,而您可能需要取消對它們的轉(zhuǎn)換以獲取最終的解釋。

所有這些方法都假定輸出媒介是網(wǎng)頁。考慮到您有可能希望用非網(wǎng)頁的其它媒介輸出這些匯總值,所以我決定將這些輸出方法包裝在一個繼承了 SimpleLinearRegression 類的類中。 清單 2中的代碼旨在演示輸出類的通用邏輯。為了使通用邏輯更突出,所以除去了實現(xiàn)各種 show方法的代碼。

清單 2. 演示輸出類的通用邏輯

<?php;

// HTML.php;

// Copyright 2003, Paul Meagher; // Distributed under GPL;

include_once 'slr/SimpleLinearRegression.php'

class SimpleLinearRegressionHTML extends SimpleLinearRegression {;

function SimpleLinearRegressionHTML($X, $Y, $conf_int) {; SimpleLinearRegression::SimpleLinearRegression($X, $Y, $conf_int) };

function showTableSummary($x_name, $y_name) { }; function showAnalysisOfVariance() { };

function showParameterEstimates() { };

function showFormula($x_name, $y_name) { };

function showRValues() {}; };

?>;

這個類的構(gòu)造函數(shù)只是 SimpleLinearRegression 類構(gòu)造函數(shù)的包裝器。這意味著如果您想顯示 SimpleLinearRegression 分析的 HTML 輸出,則應(yīng)該實例化 SimpleLinearRegressionHTML 類,而不是直接實例化 SimpleLinearRegression 類。其優(yōu)點是不會有許多未使用的方法充斥 SimpleLinearRegression 類,并且可以更自由地定義用于其它輸出媒介的類(也許會對不同媒介類型實現(xiàn)同一 API)。

圖形輸出

迄今為止,您已經(jīng)實現(xiàn)的輸出方法都以 HTML 格式顯示匯總值。它也適合于用 GIF、JPEG 或 PNG 格式顯示這些數(shù)據(jù)的分布圖(scatter plot)或線圖(line plot)。

與其親自編寫生成線圖和分布圖的代碼,我認為最好使用名為 JpGraph的基于 PHP 的圖形庫。JpGraph 正由 Johan Persson 積極開發(fā),其 項目網(wǎng)站這樣描述它:

無論是對于只有最少代碼的“以快捷但不恰當方式獲得的”圖形,還是對于需要非常細粒度控制的復(fù)雜專業(yè)圖形,JpGraph 都可以使它們的繪制變得簡單。JpGraph 同樣適用于科學和商業(yè)類型的圖形。

JpGraph 分發(fā)版中包含大量可以根據(jù)特定需求進行定制的示例腳本。將 JpGraph 用于數(shù)據(jù)研究工具非常簡單,只需找到功能與我的需求類似的示例腳本,然后對該腳本進行改寫以滿足我的特定需求即可。

清單 3中的腳本是從樣本數(shù)據(jù)研究工具( explore.php)中抽取的,它演示了如何調(diào)用該庫以及如何將來自于 SimpleLinearRegression 分析的數(shù)據(jù)填入 Line 和 Scatter 類。這段代碼中的注釋是 Johan Persson 編寫的(JPGraph 代碼庫的文檔化工作做得很好)。

清單 3. 來自于樣本數(shù)據(jù)研究工具 explore.php 的函數(shù)的詳細內(nèi)容

<?php;

// Snippet extracted from explore.php script;

include ('jpgraph/jpgraph.php') include ('jpgraph/jpgraph_scatter.php') include ('jpgraph/jpgraph_line.php')

// Create the graph; $graph = new Graph(300,200,'auto') $graph->SetScale('linlin')

// Setup title; $graph->title->Set('$title') $graph->img->SetMargin(50,20,20,40);;; $graph->xaxis->SetTitle('$x_name','center') $graph->yaxis->SetTitleMargin(30);;;;; $graph->yaxis->title->Set('$y_name');

$graph->title->SetFont(FF_FONT1,FS_BOLD)

// make sure that the X-axis is always at the; // bottom at the plot and not just at Y=0 which is; // the default position; $graph->xaxis->SetPos('min')

// Create the scatter plot with some nice colors; $sp1 = new ScatterPlot($slr->Y, $slr->X) $sp1->mark->SetType(MARK_FILLEDCIRCLE) $sp1->mark->SetFillColor('red') $sp1->SetColor('blue') $sp1->SetWeight(3) $sp1->mark->SetWidth(4)

// Create the regression line; $lplot = new LinePlot($slr->PredictedY, $slr->X) $lplot->SetWeight(2) $lplot->SetColor('navy')

// Add the pltos to the line; $graph->Add($sp1) $graph->Add($lplot)

// ... and stroke; $graph_name = 'temp/test.png' $graph->Stroke($graph_name) ?>; <img src='http://m.b3g6.com/bcjs/<?php echo $graph_name ?>' vspace='15'>;

?>;

數(shù)據(jù)研究腳本

該數(shù)據(jù)研究工具由單個腳本( explore.php)構(gòu)成,該腳本調(diào)用 SimpleLinearRegressionHTML 類和 JpGraph 庫的方法。

該腳本使用了簡單的處理邏輯。該腳本的第一部分對所提交的表單數(shù)據(jù)執(zhí)行基本驗證。如果這些表單數(shù)據(jù)通過驗證,則執(zhí)行該腳本的第二部分。

該腳本的第二部分所包含的代碼用于分析數(shù)據(jù),并以 HTML 和圖形格式顯示匯總結(jié)果。 清單 4中顯示了 explore.php腳本的基本結(jié)構(gòu):

清單 4. explore.php 的結(jié)構(gòu)

<?php;

// explore.php;

if (!empty($x_values)) {; $X;= explode(',', $x_values) $numX = count($X) };

if (!empty($y_values)) {; $Y;= explode(',', $y_values) $numY = count($Y) };

// display entry data entry form if variables not set;

if ( (empty($title)) OR (empty($x_name)) OR (empty($x_values)) OR (empty($y_name)) OR (empty($conf_int)) OR (empty($y_values)) OR ($numX != $numY) ) {

// Omitted code for displaying entry form; } else {; include_once 'slr/SimpleLinearRegressionHTML.php' $slr = new SimpleLinearRegressionHTML($X, $Y, $conf_int);;;

echo '<h2>$title</h2>' $slr->showTableSummary($x_name, $y_name) echo '<br><br>' $slr->showAnalysisOfVariance();; echo '<br><br>'

$slr->showParameterEstimates($x_name, $y_name); echo '<br>'

$slr->showFormula($x_name, $y_name) echo '<br><br>'

$slr->showRValues($x_name, $y_name) echo '<br>'

include ('jpgraph/jpgraph.php') include ('jpgraph/jpgraph_scatter.php') include ('jpgraph/jpgraph_line.php');; // The code for displaying the graphics is inline in the; // explore.php script.; The code for these two line plots; // finishes off the script:; // Omitted code for displaying scatter plus line plot; // Omitted code for displaying residuals plot; };

?>; 火災(zāi)損失研究為了演示如何使用數(shù)據(jù)研究工具,我將使用來自假想的火災(zāi)損失研究的數(shù)據(jù)。這個研究將主要住宅區(qū)火災(zāi)損失的金額與它們到最近消防站的距離關(guān)聯(lián)起來。例如,出于確定保險費的目的,保險公司會對這種關(guān)系的研究感興趣。該研究的數(shù)據(jù)如 圖 1中的輸入屏幕所示。 圖 1. 顯示研究數(shù)據(jù)的輸入屏幕 PHP實現(xiàn)簡單線性回歸之數(shù)據(jù)研究工具 數(shù)據(jù)被提交之后,會對它進行分析,并顯示這些分析的結(jié)果。第一個顯示的結(jié)果集是 Table Summary,如 圖 2所示。 圖 2. Table Summary 是所顯示的第一個結(jié)果集 Table Summary 以表格形式顯示了輸入數(shù)據(jù)和其它列,這些列指出了對應(yīng)于觀測值 X的預(yù)測值 Y、 Y值的預(yù)測值和觀測值之間的差以及預(yù)測 Y值置信區(qū)間的下限和上限。 圖 3顯示了 Table Summary 之后的三個高級別數(shù)據(jù)匯總表。 圖 3. 顯示了 Table Summary 之后的三個高級別數(shù)據(jù)匯總表 Analysis of Variance表顯示了如何將 Y值的偏離值歸為兩個主要的偏離值來源,由模型解釋的方差(請看 Model 行)和模型不能解釋的方差(請看 Error 行)。較大的 F值意味著該線性模型捕獲了 Y測量值中的大多數(shù)偏離值。這個表在多次回歸環(huán)境中更有用,在那里每個獨立變量都在表中占有一行。 Parameter Estimates表顯示了估算的 Y 軸截距(Intercept)和斜率(Slope)。每行都包括一個 T值以及觀測到極限 T值的概率(請看 Prob > T 列)。斜率的 Prob > T可用于否決線性模型。 如果 T值的概率大于 0.05(或者是類似的小概率),那么您可以否決該無效假設(shè),因為隨機觀測到極限值的可能性很小。否則您就必須使用該無效假設(shè)。 在火災(zāi)損失研究中,隨機獲得大小為 12.57 的 T值的概率小于 0.00000。這意味著對于與該研究中觀測到的 X值區(qū)間相對應(yīng)的 Y值而言,線性模型是有用的預(yù)測器(比 Y值的平均值更好)。 最終報告顯示了相關(guān)性系數(shù)或 R 值。可以用它們來評估線性模型與數(shù)據(jù)的吻合程度。高的 R 值表明吻合良好。 每個匯總報告對有關(guān)線性模型和數(shù)據(jù)之間關(guān)系的各種分析問題提供了答案。請查閱 Hamilton、Neter 或 Pedhauzeur 編寫的教科書,以了解更高級的回歸分析處理。 要顯示的最終報告元素是數(shù)據(jù)的分布圖和線圖,如 圖 4所示。 圖 4. 最終報告元素 — 分布圖和線圖 大多數(shù)人都熟悉線圖(如本系列中的第一幅圖)的說明,因此我將不對此進行注釋,只想說 JPGraph 庫可以產(chǎn)生用于 Web 的高質(zhì)量科學圖表。當您輸入分布或直線數(shù)據(jù)時,它也做得很好。第二幅圖將殘差(觀測的 Y、預(yù)測的 Y)與您預(yù)測的 Y值關(guān)聯(lián)起來。這是 研究性數(shù)據(jù)分析(Exploratory Data Analysis,EDA)的倡導(dǎo)者所使用的圖形示例,用以幫助將分析人員對數(shù)據(jù)中的模式的檢測和理解能力提到最高程度。行家可以使用這幅圖回答關(guān)于下列方面的問題:

可能的非正常值或影響力過度的例子 可能的曲線關(guān)系(使用轉(zhuǎn)換?) 非正態(tài)殘差分布 非常量誤差方差或異方差性

可以輕松地擴展這個數(shù)據(jù)研究工具,以生成更多類型的圖形 — 直方圖、框圖和四分位數(shù)圖 — 這些都是標準的 EDA 工具。數(shù)學庫體系結(jié)構(gòu)對數(shù)學的業(yè)余愛好使我在最近幾個月中保持著對數(shù)學庫的濃厚興趣。此類研究推動我思考如何組織我的代碼庫以及使其預(yù)期在未來能不斷增長。我暫時采用清單 5 中的目錄結(jié)構(gòu):清單 5. 易于增長的目錄結(jié)構(gòu) phpmath/burnout_study.php explore.php fire_study.php navbar.php dist/ Distribution.php fisher.php student.php source.php jpgraph/ etc...slr/SimpleLinearRegression.phpSimpleLinearRegressionHTML.php temp/ 例如,未來有關(guān)多次回歸的工作,將涉及擴展這個庫以包括 matrix目錄,該目錄用來容納執(zhí)行矩陣操作(這是對于更高級形式的回歸分析的需求)的 PHP 代碼。我還將創(chuàng)建一個 mr目錄,以容納實現(xiàn)多次回歸分析輸入方法、邏輯和輸出方法的 PHP 代碼。 請注意這個目錄結(jié)構(gòu)包含一個 temp目錄。必須設(shè)置該目錄的許可權(quán),使 explore.php腳本能夠?qū)⑤敵鰣D寫到該目錄。在嘗試安裝 phpmath_002.tar.gz源代碼時請牢記這一點。此外,請在 JpGraph 項目網(wǎng)站上閱讀安裝 JpGraph 的指示信息(請參閱 參考資料)。 最后提一點,如果采取以下作法,可以將所有軟件類移到 Web 根目錄之外的文檔根目錄:

使某個全局 PHP_MATH 變量有權(quán)訪問非 Web 根目錄位置,并且 確保在所有需要或包括的文件路徑前面加上這個已定義的常量作為前綴。

將來,對 PHP_MATH 變量的設(shè)置將通過一個用于整個 PHP 數(shù)學庫的配置文件來完成。 您學到了什么?在本文中,您了解了如何使用 SimpleLinearRegression 類開發(fā)用于中小規(guī)模的數(shù)據(jù)集的數(shù)據(jù)研究工具。在此過程中,我還開發(fā)了一個供 SimpleLinearRegression 類使用的本機概率函數(shù),并用 HTML 輸出方法和基于 JpGraph 庫的圖形生成代碼擴展該類。 從學習的角度來看,簡單線性回歸建模是值得進一步研究的,因為事實證明,它是理解更高級形式的統(tǒng)計建模的必由之路。在深入學習更高級的技術(shù)(如多次回歸或多變量方差分析)之前,對于簡單線性回歸的透徹理解將使您受益匪淺。即使簡單線性回歸只用一個變量來說明或預(yù)測另一個變量的偏離值,在所有的研究變量之間尋找簡單線性關(guān)系仍然常常是研究性數(shù)據(jù)分析的第一步。僅因為數(shù)據(jù)是多元的并不意味著就必須使用多元工具研究它。實際上,在開始時使用簡單線性回歸這樣的基本工具是著手探究數(shù)據(jù)模式的好方法。

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲啊v在线| 日本韩国欧美超级黄在线观看| 久久99精品久久久野外观看| 欧美不卡高清| 久久国产生活片100| 超碰超碰人人人人精品| 亚洲精品在线二区| 免费污视频在线一区| 日本成人在线一区| 日韩在线精品| 久久精品av麻豆的观看方式| 九九综合在线| 精品亚洲a∨| 午夜亚洲福利| 免费国产自久久久久三四区久久| 国产精品探花在线观看| 午夜在线视频观看日韩17c| 国产美女高潮在线观看| 日本欧美一区| 99国产精品久久久久久久| 你懂的国产精品永久在线| 老司机久久99久久精品播放免费| 日本久久综合| 欧美精品观看| 最新国产精品| 免费国产自久久久久三四区久久| 国产成人精品福利| 欧美日韩亚洲一区| 日韩中文欧美在线| 在线一区视频观看| 高清一区二区| 国产精品a级| 日韩国产欧美视频| 鲁大师成人一区二区三区| 久久久久久久久久久妇女 | 久久精品国产网站| 日本一区二区三区视频在线看| 不卡一区2区| 日韩国产网站| 麻豆视频在线观看免费网站黄| 国产日产精品一区二区三区四区的观看方式| 99国产成+人+综合+亚洲欧美| 久久久久中文| 黄色在线观看www| 精品三区视频| 国产精品videossex| 日韩二区三区四区| 日韩中文字幕区一区有砖一区| 欧美精品一二| 久久精品亚洲欧美日韩精品中文字幕| 精品精品国产三级a∨在线| 久久精品99国产精品日本| 亚洲精品极品| 亚洲欧美网站在线观看| 六月婷婷一区| 中文字幕一区二区三区在线视频| 性一交一乱一区二区洋洋av| 99riav国产精品| 中文亚洲免费| 亚洲一区成人| 国产精品社区| 亚洲综合不卡| 久久久一二三| 久久中文亚洲字幕| 激情婷婷综合| 午夜一级久久| 无码日韩精品一区二区免费| 中文字幕免费一区二区| 蜜桃视频免费观看一区| 免费人成在线不卡| 免费人成在线不卡| 亚洲18在线| 日韩av中文字幕一区| 日韩av一区二区三区四区| 欧美天堂在线| 国产视频一区二区在线播放| 国产精品一国产精品k频道56| 欧美久久精品| 国产劲爆久久| 久久亚洲精精品中文字幕| 精品国产午夜肉伦伦影院 | 国产精品久久久久av蜜臀| 国产精品qvod| 在线看片国产福利你懂的| 久久久久久黄| 国产精品丝袜xxxxxxx| 综合激情一区| 国产精品免费不| 国产成年精品| 成人久久一区| 欧美另类综合| 亚洲一二av| 国产精品亚洲产品| 92国产精品| 2023国产精品久久久精品双| 亚洲欧美日韩国产综合精品二区 | 国内精品伊人| 日韩精品一卡| 亚洲综合二区| 国产精品视频一区二区三区综合| 久久久久97| 特黄特色欧美大片| 久久亚洲影院| 91精品一区| 国产一区丝袜| 免费视频亚洲| 日韩1区2区日韩1区2区| 精品免费在线| 免费精品国产的网站免费观看| 亚洲精品大全| 精品久久91| 亚洲激情av| 欧美日本三区| 久久精品91| 日韩影片在线观看| 久久精品网址| 欧美精品一二| 国产亚洲欧美日韩在线观看一区二区| 老色鬼精品视频在线观看播放| 久久精品影视| 日韩高清一区在线| 日韩国产激情| 一二三区精品| 另类专区亚洲| 亚洲男人在线| 丝袜诱惑一区二区| 影音先锋久久精品| 精品国产一区二| 亚洲一区观看| 电影91久久久| 亚洲一区观看| 国产精品麻豆久久| 免费成人av在线播放| 欧美激情日韩| 宅男噜噜噜66国产日韩在线观看| 免费在线观看一区| 欧美一区=区| 久久久精品国产**网站| 香蕉视频成人在线观看| 国产成人精品一区二区三区视频| 免费日韩av片| 伊人网在线播放| 青青草国产精品亚洲专区无| 久久久亚洲一区| 国产精品久久777777毛茸茸| 一区二区自拍| 日韩1区在线| 日韩va欧美va亚洲va久久| 久久精品国语| 精品一区视频| 日本成人手机在线| 99视频精品免费观看| 精品无人区麻豆乱码久久久| 蜜桃久久精品一区二区| 成人日韩精品| 久久爱www成人| 亚洲一区二区日韩| 99久久婷婷| 国内不卡的一区二区三区中文字幕| 亚洲不卡视频| 国产一区成人| 影视先锋久久| 成人日韩av| 日韩美女精品| 国产亚洲激情| 亚洲午夜精品久久久久久app| 免费亚洲一区| 日本aⅴ亚洲精品中文乱码| 亚洲免费一区二区| 欧美精品羞羞答答| 麻豆网站免费在线观看| 国产日韩一区二区三区在线播放| 在线亚洲免费| 99久久亚洲精品蜜臀| 久久久久久久欧美精品| 久久精品国产福利| 日韩高清在线一区| 日韩中文字幕麻豆| 午夜久久美女| 国产99精品| se01亚洲视频| 欧美激情视频一区二区三区在线播放| 综合一区在线| 亚洲永久精品唐人导航网址| 日韩一级精品| 欧美国产91| 亚洲精品.com| 欧美激情另类| 国产精品麻豆久久| 国产精品成久久久久| 欧美国产专区| 国产精品黄网站| 国产精品免费99久久久| 国产日韩欧美一区| 欧美日韩国产一区二区在线观看| 日韩高清二区| 亚洲欧洲美洲国产香蕉| 免费在线视频一区| 亚洲欧洲专区| 日韩av字幕|