謝佳標利用R語言,將游戲數據的價值最大化

      網友投稿 805 2022-05-30

      2017年2月22日,周三晚上8點30分,樂逗游戲的謝佳標老師為大家?guī)砹酥黝}為“如何利用R語言對游戲用戶進行深度挖掘”的交流。謝佳標老師有著九年以上的數據挖掘實戰(zhàn)經驗,同時是一位R語言的資深玩家,多次在中國R語言大會上做主題演講,他現在樂逗游戲負責大數據挖掘及可視化工作。以下是主持人Jacty整理的交流實錄,記錄了謝老師與讀者智慧溝通的精粹。

      問:文中在路徑分析和付費用戶分析中均提到了社會網絡,能否講講關于社會網絡的知識?

      答: 相信看過文章的讀者都發(fā)現,我在文章的路徑分析和付費用戶分析中均提到社會網絡這個圖。

      大家發(fā)現在算法的右下角有一個社會網絡分析的方法,這個是這幾年非常流行的一種可視化方式,圖中這個網絡圖是我們使用networkD3繪制的,可以實現動態(tài)交互地效果。

      我們先簡單了解下社會網絡圖的概念。社會網絡分析(Social Netwrok Analysis,SNA)是在傳統(tǒng)的圖與網絡的理論之上對社會網絡數據進行分析的方法。隨著人類進入了移動互聯(lián)網時代,社會網絡數據成了重要的數據資源。SNA的本質是利用各樣本間的關系來分析整體樣本的群落現象,并分析樣本點在群落形成中的作用以及群落間的關系。

      網絡圖分為無向圖(只研究用戶間是否發(fā)生過溝通)和有向圖(圖中使用箭頭來標識行為的發(fā)起方和接收方):

      左圖和中間的圖就是無向圖,右邊的是有向圖,大家留意右邊這個圖的數據傳遞是有箭頭,箭頭表示發(fā)起方到接收方。我們剛才提到如果繪制交互可視化的社會網絡圖可以利用networkD3包繪制。但是今天給大家介紹另一個擴展包igraph。

      在R中,igraph包是專門用來處理網絡圖的。使用之前先通過install.packages("igraph")下載安裝。igraph包非常容易創(chuàng)建各種常規(guī)圖,其中包括無邊圖(make_empty_graph函數)、星形圖(make_star函數)、環(huán)形圖(make_ring函數)、完全圖(make_full_graph函數)、樹狀圖(make_tree函數)等圖形。不同形狀的社會網絡圖可以用來發(fā)現各節(jié)點間的關系。

      除了以上的方法我們還有另一個簡單的方式繪制不同布局。就是先創(chuàng)建一個graph對象,然后利用plot函數繪制網絡圖,并通過設置layout參數來實現不同布局的效果。

      說了那么多理論的知識。我們接下來繪制幾個簡單的社會網絡圖給大家參考。上次的gitchat分析主題已經介紹了R和包的安裝,我就假設大家已經掌握了這些基本技能。大家只需要運行以下代碼:

      >?library(igraph) >?g?<-graph(c(2,1,3,1,4,1,5,1,6,1,7,1),directed?=?F)?#創(chuàng)建無向圖g >?par(mfrow=c(2,3)) >?plot(g,vertex.size=40,layout=layout_on_grid,main="簡單的網格布局")?#?簡單的網格布局 >?plot(g,vertex.size=40,layout=layout.auto,main="自動布局")?#自動布局 >?plot(g,vertex.size=40,layout=layout_as_star,main="星形布局")?#星形布局 >?plot(g,vertex.size=40,layout=layout.circle,main="環(huán)形布局")?#?環(huán)形布局 >?plot(g,vertex.size=40,layout=layout_randomly,main="隨機布局")?#?隨機布局 >?plot(g,vertex.size=40,layout=layout_as_tree(g),main="樹狀布局")?#樹狀布局 >par(mfrow=c(1,1))

      每一行命令的前面的>是輸入提示符,大家記得拷貝代碼的時候要刪除哦。

      如果你們的計算機還沒有安裝igraph 包,可以直接通過install.packages("igraph")命令進行安裝。

      謝佳標:利用R語言,將游戲數據的價值最大化

      運行完命令后可以得到以下圖形:

      大家可以看到,這邊給大家展示了六種不同的布局。除了plot()函數繪圖之外,還可以使用函數tkplot()與rglplot()來制作交互圖與3D圖。交互圖可通過界面直接設置相應點與邊的顏色、大小等屬性,還可以方便地拖動點來布局。當然,也可以通過設置自帶的layout參數來布局。rglplot()函數源于rgl包,3D作圖可以讓社交網絡關系圖更加清晰。

      大家看這個圖:

      這個圖就是通過tkplot函數繪制出來的,細心的讀者已經發(fā)現,我們可以通過上面的選項選擇布局之類的。

      這個圖就是通過rglplot函數繪制出來的,已經明顯看出是3D效果,可以通過鼠標去旋轉社會網絡圖,從不同視覺進行研究。

      此外,如果大家要只是為了繪制社會網絡圖,這邊給大家推薦一款傻瓜式的軟件Gephi. Gephi是專業(yè)的復雜網絡分析軟件,基于Java開發(fā),使用OpenGL作為可視化引擎。這款軟件對你本機的java版本有要求。需要在本機安裝jre1.7以上版本,才能正常使用Gephi。

      問:在講付費玩家常用分析方法時,提到了LTV預測法,請問什么是LTV?LTV預測又是怎么預測的?

      答: 恩,這個問題問得好,因為在銷售公司都很看重用戶的LTV。那么什么是LTV呢,我們要先了解下這個概念。LTV(Lifetime Value)直譯過來是生命周期價值,用于衡量游戲中用戶在其生命周期內對游戲的平均貢獻值。很多銷售型公司都看重用戶的生命價值周期,研究投入是否在一定時期內獲得回報,就是評估CPA(獲客成本) 與LTV的關系。如果CPA大于LTV,可以認為廣告投入是劃算的。特別是我們游戲公司,用戶的生命周期是有限的,在其有限的生命里評估其價值,才能決定是否需要進行市場廣告投放。那么LTV的計算公式是怎樣的呢?其核心就是用戶生命周期和用戶的付費能力。公式如下:LTV=LT*ARPU,公式中LT指Lift-Time用戶生命周期,ARPU指用戶的人均付費金額。LTV預測主要就是利用已知的LT和ARPU,對未來進行預測。常用LTV預測的步驟如下:

      計算用戶生命周期LT值:LT(n)=R(1)+R(2)+…+R(n) ;//R(1)表示用戶的留存率;

      利用指數函數對未來的留存率進行預測;

      計算出玩家的價值ARPU,由于玩家不同日期的ARPU值可能不同,可以求出一段時間內每日APRU值得平均值,例如取玩家14天的平均ARPU,即ARPU=(ARPU(1)+ARPU(2)+…+ARPU(14))/14;

      計算出玩家的生命周期價值LTV=LTARPU=( R(1)+R(2)+…+R(n))ARPU。

      這個LTV的預測方法是相對來說比較有規(guī)律的,是從業(yè)務總結出來的業(yè)務模型。跟大家經常聽到的模型算法有所區(qū)別??梢姡诵木褪且A測出新增玩家在未來一段時間的每日留存率情況,進而即可計算出玩家的LTV值。

      經研究發(fā)現:一批新增玩家的留存率隨自然時間的增長必然無限趨近于0,用幾何圖形表示就是一條冪減的指數曲線。

      這個圖就是留存率的預測曲線圖,我們可以利用前幾天的留存率對未來一段時間的留存率進行預測??v坐標是留存率,橫坐標是自然時間軸,我們希望求出如下冪指數函數y=a*x^b的a、b值。篇幅有限,這邊直接給出結論,其值可以用以下兩個公式表示,熟悉Excel的同學應該不會陌生:

      a和b的系數就是由以上兩個公式求出。為了照顧不習慣用Excel的讀者,我們對公式稍作解釋,第一個公式里LINEST函數是對已知的坐標集合返回線性回歸方程的參數,也就是取與該坐標集合擬合最好的一條直線,LN自然對數函數。INDEX( LINEST( LN(Known Ys), LN(Known Xs)), 2)是指取這條曲線的Y軸截距(X=0時的函數值),EXP是自然導數函數e。大家如果都留存率預測感興趣 可以自己模擬一些數據演練下。

      如果大家熟悉R語言,用R語言來嘗試這個預測,則步驟將會簡單很多。如果利用R語言求冪函數的a、b值,使用非線性回歸nls函數可以輕松求出a、b值,該函數的主要表達式為nls(formula,start,…),其中formula是非線性回歸模型的表達形式,即y~a*b^x,start是參數初始值。具體實現可以去看看nls函數的幫助文檔。

      問:付費用戶的價值高,體現在直接帶來了收益,但從另外一方面看讓未付費用戶變成付費用戶是不是更有潛在價值呢?

      答: 這個問題是正確的,大家可能聽過一句話,就是20%的用戶創(chuàng)建公司80%的價值。也就是所謂的二八原則。這個在傳統(tǒng)行業(yè)是金句名言,很多企業(yè)也是遵循這個原則去進行用戶維護的。這么做的另一個原因是因為數據分析手段以前沒有那么發(fā)達,還有公司人力有限,才集中服務核心用戶。但是現在在互聯(lián)網時代,我們可以收集用戶的任何行為,包括用戶瀏覽商品的軌跡(電商),我們就可以利用大數據分析技術研究用戶的偏好,對其進行精準推送,這樣使其成為付費用戶的概率很大。這也是從未付費變成付費可能的一個業(yè)務研究方向。那我們游戲用戶來說,我們的付費用戶占比不足10%,所以我們更需要挖掘潛在的付費用戶。

      結合兩位讀者的問題來說,我們可以研究所有玩家的玩游戲行為、玩家基本屬性(包括性別、年齡、終端、區(qū)域)等信息,將用戶進行分群,如果發(fā)現一些未付費用戶與付費用戶分在一類,說明這些的行為相似。也是我們認為的潛在付費用戶,可以對其進行打折活動推送。這樣他們就有可能轉化為付費用戶。

      付費率也是業(yè)務非??粗氐囊粋€指標,我們做數據挖掘的一個重點就是研究潛在付費用戶,提高付費率。

      問:我們在實際工作中,經常會聽到用戶群體,請問這個又需要運用什么算法模型呢?

      答: 用戶分群也就是我們經常說的把相似的用戶聚為一類,然后針對不同的用戶群進行針對性營銷策略,是精細化運營非常重要的一步。那么怎么對用戶進行分群呢?常用的做法可以利用聚類分析實現,聚類分析也是無監(jiān)督模型的一種。聚類分析是一種原理簡單、應用廣泛的數據挖掘技術。顧名思義,聚類分析即是把若干事物按照某種標準歸為幾個類別,其中較為相近的聚為一類,不那么相近的聚于不同類。

      聚類分析在客戶分類、文本分類、基因識別、空間數據處理、衛(wèi)星圖片分析、醫(yī)療圖像自動檢測等領域有著廣泛的應用;而聚類分析本身的研究也是一個蓬勃發(fā)展的領域,數據分析、統(tǒng)計學、機器學習、空間數據庫技術、生物學和市場學也推動了聚類分析研究的進展。聚類分析已經成為數據分析研究中的一個熱點。聚類算法種類繁多,且其中絕大多數可以用R實現。

      K-均值聚類(K-Means)

      K-中心點聚類(K-Medoids)

      密度聚類(Densit-based Spatial Clustering of Application with Noise,DBSCAN)

      層次聚類(系譜聚類 Hierarchical Clustering,HC)

      期望最大化聚類(Expectation Maximization,EM)

      這幾種是常見的聚類分析算法。需要說明的是,這些算法本身無所謂優(yōu)劣,而最終運用于數據的效果卻存在好壞差異,這在很大程度上取決于數據使用者對于算法的選擇是否得當。實際業(yè)務生產中,k-均值聚類和層次聚類運用最廣泛。我們以K-均值聚類為例給大家講解下原理。

      它的思路是以隨機選取的k(預設類別數)個樣本作為起始中心點,將其余樣本歸入相似度最高中心點所在的簇(cluster),再確立當前簇中樣本坐標的均值為新的中心點,依次循環(huán)迭代下去,直至所有樣本所屬類別不再變動。算法的計算過程非常直觀。這邊涉及到計算不同樣本點的距離,在R中可以利用dist函數實現。我們給出示意圖幫助大家理解k-均值聚類的過程:

      大家先查看這幅圖,一共有五張子圖。假設我們想把這十個點分成三類。第一步,就是隨機選擇三個點作為簇中心。第二步,計算其他7個點與這三個簇的距離,選擇聚類最近的簇分在一起,可以看見第二幅圖。然后根據每一類的樣本從新計算簇中心,就是大家看到的第三幅圖。依次下去,達到最優(yōu)后k-均值聚類就會停止。

      R中主要使用4個軟件包—stat、cluster、fpc和mclust。大家如果對聚類分析感興趣可以查看這幾個包。

      問:怎么選擇算法?怎么評估選擇的算法比較優(yōu)呢?

      答: 很多學習數據分析、數據挖掘的童靴都面臨這個困惑。因為很多模型算法都可以實現相同的目的,比如說分類預測的研究 就有很多種算法可以實現。包括線性回歸模型、logitic回歸、knn近鄰、樸素貝葉斯、決策樹、隨機森林、人工神經網絡、支持向量機等等。

      如上面這個圖,這里只是羅列了一些常用的算法模型。像左邊的預測性模型,這些都可以對未來進行預測,我們如果選擇算法呢?如果對不同的算法進行評估,對于分類來說,需要把精力花費在學習問題找到合適的分類器。這時候,考慮到不同算法間的各種差異是很有幫助的。例如,在分類問題中,決策樹因在建模過程中有明確的規(guī)則輸出使得模型通俗易懂,而黑箱操作的神經網絡得到的模型則很難解釋。如果你要設計一個欺詐用戶甄別模型,上述的模型特點就是很重要的選擇模型依據,因為需要發(fā)現欺詐用戶的異常行為模式,即使神經網絡算法能更好地甄別欺詐用戶,但是如果不能解釋清楚這些預測背后的模式,那么再好的預測也是沒有用的。

      這邊有一個從業(yè)務需求方向的角度考慮的:為了確保模型能夠對未知對象進行正確預測,需要對模型性能進行評估,避免模型出現可能存在的過擬合問題。我們可以利用包括caret、rminer和rocr這類算法包來評估模型性能以防止過擬合問題。這幾個包是這幾年R語言中在模型評估方面特別火的。特別是caret包,它有非常豐富的數據處理、數據抽樣、數據建模、模型評估等功能。進一步,對模型性能進行評估還有助于我們得到更優(yōu)、健壯性更好的模型,以便準確地預測未知數據。在數據挖掘過程中,每個模型和算法具有不同的適用場景,但最終評價的結果一定是以業(yè)務價值為導向,而非模型自身的評價指標,所以,在選取模型時,將更多的將采取一些機器學習算法。

      這邊講一個通用的方法:K折交叉驗證。K折交叉驗證技術能夠解決過擬合問題,因此被廣泛應用于分類器性能評估領域。它是一種統(tǒng)計學上將數據樣本切割成較小子集的實用方法,目的是為了得到可靠穩(wěn)定的模型。先在一個子集上做分析, 而其它子集則用來做分析的確認及驗證。初始子集被稱為訓練集,剩余的子集則被稱為驗證集。重復執(zhí)行完n次K折交叉驗證后,就能夠根據n次檢驗的平均正確率實現對模型性能的真實評估。

      K折交叉驗證這邊介紹caret包的train函數。使用caret包的train函數來建模并自動實施10折交叉驗證。設置訓練控制參數,進行重復3次的10折交叉驗證。

      >?library(caret) >?control?<-trainControl(method="repeatedcv",number=10,repeats=3)

      這樣就構建了三個十折交叉驗證。這邊調用rpart函數構建決策樹,尋找最優(yōu)模型。

      >?library(caret) >?control?<-?trainControl(method="repeatedcv",number=10,repeats=3) >?model?<-?train(accept~.,data=car,method="rpart",+trControl=control)plot(model)

      從而得到cp值04633205的模型準確率最高(0.7802949)。此外,混淆矩陣和ROC曲線也是常用來評估模型的預測能力。如果要對分類模型的性能進行評估,我們可以首先基于預測結果和實際分類結果產生一個分類表,然后基于混淆矩陣來獲取諸如模型的精確度、召回率、特異性以及準確率等性能指標。前文我們已經使用了table函數生成混淆矩陣。受試者工作特征曲線(Receiver Operating Characteristic,ROC)是一種常見的二元分類系統(tǒng)性能展示的圖形,在曲線上分別標注了不同切點的真正率以及假正率。ROC曲線來源于信號檢測理論,它顯示了給定模型的靈敏性(Sensitivity)真正率與假正率(False Postive Rate)之間的比較評定。給定一個二元分類問題,我們通過對測試數據集的不同部分所顯示的模型可以正確識別“1”實例的比例與模型將“0”實例錯誤地識別為“1”的比例進行分析,來評定不同模型的準確率。真正率的增加是以假正率的增加為代價的,ROC曲線下面的面積AUC(Area Under Curve)就是比較模型的準確度的指標和依據。面積大的模型對應的模型準確度要高,也就是要擇優(yōu)應用的模型。面積越接近0.5,對應的模型的準確率就越低。這些內容是節(jié)選至我的新書《R語言游戲數據分析與挖掘》。里面詳細介紹了不同算法的選擇和調優(yōu),如果對這塊感興趣的讀者,可以留意下這本書。

      問:您使用R時,在什么平臺上跑,R能處理的數據量如何,R中怎么處理大數據量?

      答: 我一般是在windows上跑,不過有些東西會在linux上跑。大數據量可以結合其他工具,比如說你直接調用數據庫的數據。比如說你可以利用RODBC包實現與市面上流行的ODBC數據庫,直接從數據庫中讀取或者運行sql,只需要將要分析的中間數據傳給R。或者可以利用RHadoop和sparkR與Hadoop和spark結合。也可以利用一些并行包提升運算性能,比如說foreach包。利用foreach和randomForest結合,可以實現并行的隨機森林,這樣可以極大提高性能。所以隨著技術和計算機性能的提升,我覺得這方面不是問題了。

      問:在路徑分析和付費用戶分析中,均提到了關聯(lián)規(guī)則,區(qū)別就是一個是時序關聯(lián)規(guī)則,另一個是apriori算法,能講講這兩者的具體區(qū)別嗎?

      答: 兩者確實不同。是根據研究需求而選擇的。我們先簡單了解下關聯(lián)規(guī)則的基本概念。關聯(lián)規(guī)則是從事務數據庫、關系數據庫和其他信息存儲中的大量數據項集之間發(fā)現有趣的、頻繁出現的模式、關聯(lián)和相關性。更確切地說,關聯(lián)規(guī)則通過量化的數字描述物品甲的出現對物品乙的出現有多大的影響。關聯(lián)規(guī)則模式屬于描述型模式,發(fā)現關聯(lián)規(guī)則的算法屬于無監(jiān)督學習的方法。

      關聯(lián)規(guī)則分析也稱為購物籃分析,最早是為了發(fā)現超市銷售數據庫中不同商品之間的關聯(lián)關系。我們可以將這個分析思路很好地移植到游戲的道具銷售分析中。

      這邊舉一個例子來理解這塊:例如,想研究一款游戲的用戶購買喜好,如“哪組商品可能會在一次購物中同時購買?”或者“某用戶購買了5000金幣的道具,那該用戶在以后一段時間里購買8000金幣的概率有多大?” 我們要研究的就是這些概率(可能性)。常見的關聯(lián)規(guī)則算法有多種:Apriori算法、FP-樹頻集算法和基于劃分的算法等。其中Apriori算法是最常用也是最經典的挖掘頻繁項集的算法。其核心思想是通過連接產生候選項及其支持度然后通過剪枝生成頻繁項集,這里頻繁項集指的是所有支持度大于等于給定最小支持度的項集。該算法的主要思想是找出存在于事務數據集中最大的頻繁項集,再利用得到的最大頻繁項集與預先設定的最小置信度閾值生成強關聯(lián)規(guī)則。

      如這邊運用Apriori算法得到以下兩條規(guī)則:

      大家看這個截圖。我們有幾個概念需要了解的:lhs(左項,也叫前項,條件項),rhs(右項、后項或者結果項)。support是支持度、confidence是置信度、lift是提升度。我們的關聯(lián)規(guī)則要設置最小支持度閾值和最小置信度閾值,符合這些條件的規(guī)則才會生成。另外,請大家仔細看下這兩條規(guī)則。是不是6的左項就是7的右項,6的右項就是7的左項,支持度和提升度也是相同的,對吧。規(guī)則6、規(guī)則7指的都是用戶購買過超值大禮包和新手禮包的支持度是0.0159,提升度是13.19,由此說明apriori算法是不考慮物品購買前后順序的。我們這是考慮了不同物品之間的關聯(lián)規(guī)則,不考慮其購買時間,購買順序。如果需要考慮物品購買順序因素,可以利用arulesSequences包中的cspade函數實現cSPADE算法。

      我們先簡單了解下基于時序關聯(lián)規(guī)則的原理。基于序列的關聯(lián)規(guī)則(Sequence Analysis)又稱序列分析,這種方法是在關聯(lián)規(guī)則分析(Association Analysis)的基礎上,進一步考慮了關聯(lián)物品之間的先后順序,即數據集中的每個序列的條目都是有序排序的,且輸出的結果也是有序的。

      同樣,我們也舉一個例子幫助理解。例如一個用戶在一段時間內,發(fā)生了三次交易,第一次購物為A和B,第二次購物為A和C,第三次為D,故該用戶的序列為<{A,B},{A,C},{D}>,這與<{A,B}{D}{A,C}>是不同的。表示這個完整的信息流稱為序列(sequence),如序列<{A,B},{A,C},{D}>;序列中最小組成單位的集合稱為數據項(item),如{A,B}就是一個數據項;用于標識同一個序列內不同數據項之間的前后順序關系稱為事件(event),通常用時間戳來表示。

      基于序列的關聯(lián)規(guī)則常用的算法為由zaki提出的可以使用各種約束限制的cSPADE算法。在R中,可以使用arulesSequences包中的核心函數cspade實現。其基本表達式為:

      cspade(data,?parameter =?NULL,?control?=?NULL,?tmpdir?=?tempdir())

      其中,data是事務型數據,parameter用于設置各類約束限制。關于這個函數的使用,我們已經在文章中提到了,這邊就不再贅述了大家要記住一點,做關聯(lián)規(guī)則要求得到數據類型是事務型,所以數據處理需要特別細心,特別花時間。

      問:我想問工程實踐的問題:1. 在與傳統(tǒng)數據庫的結合使用中,有什么技巧可以分享(比如如何避免數據在本地跑)?2. 您在使用R編寫數據分析的代碼時,代碼量會很大嗎,如何組織這些工程文件?

      答: 我們工作中一般都是直接連接服務器的數據庫,避免把大數據保存到R內存中。另外,我們編寫的代碼量是非常大的,一般是根據項目來分類管理。

      (以上內容轉自GitChat,版權歸GitChat所有,轉載請聯(lián)系GitChat,微信號:GitChat,原文:《謝佳標:利用R語言,將游戲數據的價值最大化》)

      本文轉載自異步社區(qū)。

      5G游戲 網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:華為網絡配置(OSPF)(華為網絡配置(OSPF))
      下一篇:python學習筆記之爬蟲(五) 進程、線程、協(xié)程 實戰(zhàn) 丨【生長吧!Python】(Python爬蟲筆記)
      相關文章
      亚洲AV无码成人网站在线观看| 亚洲中文字幕无码一区| 亚洲av永久中文无码精品| 亚洲av伊人久久综合密臀性色| 亚洲国产一区二区三区| 亚洲国产精品网站在线播放| 亚洲一级毛片中文字幕| 久久久国产精品亚洲一区| 亚洲日本在线看片| 亚洲高清无在码在线电影不卡| 亚洲精品视频在线| 久久久无码精品亚洲日韩按摩| 亚洲国产人成在线观看69网站 | 亚洲av无码片在线观看| 亚洲精品国产成人中文| 亚洲国产情侣一区二区三区| 亚洲最大视频网站| 亚洲a级片在线观看| 亚洲一区二区三区免费视频| 亚洲狠狠成人综合网| 亚洲欧美日韩中文无线码| 亚洲AV噜噜一区二区三区| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲精品国产suv一区88| 亚洲精品理论电影在线观看| 91嫩草亚洲精品| 亚洲国产成人五月综合网| 亚洲色一色噜一噜噜噜| 亚洲码国产精品高潮在线| 亚洲AV无码国产精品麻豆天美| 亚洲AV无码AV男人的天堂| 伊人久久综在合线亚洲2019| 亚洲婷婷天堂在线综合| 亚洲午夜一区二区三区| 亚洲AV无码AV男人的天堂不卡| 亚洲av无码成人精品区| 亚洲色婷婷综合久久| 亚洲天堂中文资源| 亚洲精品国产精品国自产网站 | 国产亚洲精午夜久久久久久| 亚洲成A人片777777|