99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

D3.js置換檢驗散點圖:讓數據顯著性變得可見

D3.js置換檢驗散點圖:讓數據顯著性變得可見 這次做的項目叫D3.js研發(fā)置換檢驗散點圖。一句話說清楚用D3.js實現一個交互式散點圖散點圖本身展示兩組樣本在兩個維度上的分布同時在圖的下方實時呈現置換檢驗的零分布直方圖和觀測統(tǒng)計量參考線讓兩組數據是否顯著不同這個統(tǒng)計結論不再依靠肉眼猜測而是變成看得見的計算過程。起因是我們小組分析一次細胞實驗數據時出現了分歧。散點圖一畫出來樣本點明顯分成兩團實驗室同學直接說這次藥物處理絕對有效。我盯著圖看了十分鐘總覺得哪里不對——樣本量只有每組18個右上方有幾顆離群點兩團點之間其實還有不少交疊。你問我要不要拍板個結論我是不敢的。肉眼在散點圖上做判斷最容易高估差異的顯著性尤其當樣本量小、分布偏斜、還有離群值的時候。所以我決定做一個工具把散點圖和置換檢驗放進同一個界面里既展示原始數據的形態(tài)又給出基于重抽樣的顯著性判斷。這個項目適合三類人看一是經常畫散點圖但覺得只看圖不夠嚴謹的數據分析人員二是想了解置換檢驗如何落地到前端可視化產品里的開發(fā)者三是在校學生——你們學數理統(tǒng)計時會發(fā)現把檢驗過程用動畫放出來對理解p值這件事幫助極大。1. 散點圖為什么需要顯著性這個維度1.1 肉眼判斷到底錯在哪先回到那個分組對比的經典問題兩組數據畫在一張散點圖上怎么看有沒有差異大多數人看圖的順序是這樣的——先看兩組點的重心有沒有拉開再看兩個顏色云團的重疊面積最后下意識地認為分得越開差異越顯著。但散點圖的信息表達有個天然缺陷它展示的是原始數據點的位置卻完全隱藏了樣本量、分布形狀和抽樣波動這三項信息。舉例來說A、B兩組各20個點均值差2.0但每組內部標準差很大分布呈明顯的右偏。畫出來的散點圖可能看起來很清爽因為高維數據投影到二維平面上之后視覺上會被拉開可是如果你真正跑一個統(tǒng)計檢驗p值可能到0.15。反過來兩組各200個點均值差只有0.3圖上看基本是混在一起的但因為樣本量大p值可能小于0.01。這兩種情況單看散點圖都會得出錯誤結論——第一種高估差異第二種低估差異。人的視覺系統(tǒng)對距離敏感對樣本量和分布形態(tài)不敏感。換句話說散點圖回答的是長什么樣統(tǒng)計檢驗回答的是這種差別有多大概率是隨機造成的。兩者是互補關系不是替代關系。所以我在這張圖里強制加入檢驗結果就是希望看圖的人不要只停留在形狀層面。1.2 為什么是置換檢驗而不是t檢驗要做差異顯著性檢驗最常規(guī)的選擇是Students t檢驗但我在這個項目里特意選用了置換檢驗Permutation Test。兩者都檢驗兩組均值是否相等的原假設但對數據的前置要求完全不同。維度t檢驗置換檢驗前提假設近似正態(tài)、方差齊性無分布假設計算邏輯基于公式計算t統(tǒng)計量與p值通過重復打亂標簽構造零分布樣本量要求小樣本受限于正態(tài)性要求小樣本可以直接做窮舉置換計算成本毫秒級幾乎為零需要數千次重計算結果輸出一個p值零分布直方圖 經驗p值適用場景數據形態(tài)良好、追求效率分布偏斜、離群值明顯、需要可視證據選置換檢驗的原因很實際。我們那批實驗數據分布形態(tài)完全不像正態(tài)右尾特別長還有三個明顯的離群值。t檢驗對離群值高度敏感一個極端點就能顯著改變p值的方向和大小。置換檢驗沒有這個煩惱它的核心假設只有一個——如果分組標簽和觀測值沒有關系那么把標簽隨機打亂后統(tǒng)計量不會系統(tǒng)性地偏向某一邊。這個假設非常寬松幾乎適用于所有實際情況。更重要的原因在可視化上。t檢驗給你一個冷冰冰的p值而置換檢驗天然會產出一條完整的零分布曲線也就是原假設成立時統(tǒng)計量的概率分布。這條曲線本身就是一張圖把它和散點圖放在一起讀者能看到觀測統(tǒng)計量落在零分布的什么位置這個直觀程度是t檢驗沒法給的。1.3 項目的最終形態(tài)整個項目是一個純前端的交互工具數據以JSON或CSV形式加載。界面分為上下兩個區(qū)域上方SVG散點圖橫軸為第一維指標縱軸為第二維指標樣本點按分組著色。下方置換檢驗統(tǒng)計量的直方圖疊加一條豎線標記觀測統(tǒng)計量的位置以及p值文本。交互方面包含運行置換按鈕啟動打亂標簽的動畫并逐步累積直方圖。進度控制動畫速度、置換次數、暫停/繼續(xù)。分組切換左側提供維度選擇器切換散點圖的橫縱軸指標。刷選聯動在散點圖上框選區(qū)域后僅對選中的樣本子集重新做置換檢驗。這套形態(tài)基本覆蓋了我在實際分析里的全部訴求先看圖再檢驗檢驗過程還能講給別人聽。2. 置換檢驗的算法原理與JavaScript實現2.1 打亂標簽的實驗思維置換檢驗的統(tǒng)計學思想可以用一句話概括如果分組沒有真實差異那分組標簽就只是貼上去的記號把它們隨機重貼一遍結果不應該有系統(tǒng)性的變化。這句話展開就是標準流程計算觀測統(tǒng)計量。比如兩組均值差obsStat mean(B組) - mean(A組)。把所有樣本的標簽全部抹掉混合在一起。隨機給每個樣本重新分配標簽保持每組樣本量不變A組n1個B組n2個?;谛聵撕炛匦掠嬎憔挡畹玫揭粋€置換統(tǒng)計量。重復第3、4步N次比如1000次或10000次得到N個置換統(tǒng)計量。統(tǒng)計這N個置換統(tǒng)計量中絕對值不小于abs(obsStat)的比例。這個比例就是經驗p值。用生活化的話講這有點像洗牌實驗口袋里有40顆球20顆紅球20顆藍球每次隨機抽出20顆當成處理組其余當對照組算兩組球的平均重量差。如果原本的差異是真的那么隨機洗出來的差異很難超過真實差異如果能輕易超過說明真實差異可能在隨機波動范圍內。2.2 統(tǒng)計量選哪個均值差、t還是中位數差置換檢驗框架下只要你能定義一個衡量組間差異的數值就可以用于檢驗。但選擇不同統(tǒng)計量檢驗的敏感方向不同統(tǒng)計量特點適合場景均值差對離群值敏感檢測重心偏移數據形態(tài)良好、無強離群值時中位數差穩(wěn)健不受離群值干擾長尾分布、存在離群值t統(tǒng)計量均值差除以合并標準誤自帶標準化除了位置差異還關注離散度差異秩和統(tǒng)計量基于排序非參數化最徹底數據為等級變量、尺度不均時我這批數據最終選的是均值差作為演示統(tǒng)計量因為它的幾何意義最直觀散點圖上兩組點的重心連線投影到某個方向上就是均值差。但我在界面上保留了統(tǒng)計量切換的下拉框方便對比。實際使用中發(fā)現當數據里有明顯離群點的時候均值差和中位數差給出的p值差異能到一個數量級建議探索階段兩個都跑一遍。需要提醒一點統(tǒng)計量必須在置換之前先固定下來。不存在先看一下數據哪個統(tǒng)計量顯著再選哪個的做法那是數據窺探data snooping會讓p值失真。2.3 完整實現一個可嵌入項目的permutation模塊核心代碼我封裝成了一個ES Module方便其他項目中復用。// permutation.js function shuffleArray(arr) { // Fisher-Yates 洗牌 const a arr.slice(); for (let i a.length - 1; i 0; i--) { const j Math.floor(Math.random() * (i 1)); [a[i], a[j]] [a[j], a[i]]; } return a; } function mean(values) { return values.reduce((acc, v) acc v, 0) / values.length; } function calcStat(groupA, groupB, statType meanDiff) { const mA mean(groupA); const mB mean(groupB); if (statType meanDiff) return mA - mB; if (statType medianDiff) { const sortedA [...groupA].sort((x, y) x - y); const sortedB [...groupB].sort((x, y) x - y); const medianA sortedA[Math.floor(sortedA.length / 2)]; const medianB sortedB[Math.floor(sortedB.length / 2)]; return medianA - medianB; } // t 統(tǒng)計量均值差 / 合并標準誤 const pooledSE Math.sqrt( (groupA.length 1 groupB.length 1) ? ((groupA.reduce((s, v) s (v - mA) ** 2, 0) groupB.reduce((s, v) s (v - mB) ** 2, 0)) / (groupA.length groupB.length - 2)) * (1 / groupA.length 1 / groupB.length) : 1 ); return (mA - mB) / pooledSE; } export function permutationTest(values, labels, nPerm 10000, statType meanDiff) { const groupAValues values.filter((_, i) labels[i] 0); const groupBValues values.filter((_, i) labels[i] 1); const obsStat calcStat(groupAValues, groupBValues, statType); const pooled values.slice(); const nA groupAValues.length; const permStats new Float64Array(nPerm); for (let i 0; i nPerm; i) { const shuffled shuffleArray(pooled); const permA shuffled.slice(0, nA); const permB shuffled.slice(nA); permStats[i] calcStat(permA, permB, statType); } let extremeCount 0; for (let i 0; i nPerm; i) { if (Math.abs(permStats[i]) Math.abs(obsStat)) extremeCount; } // 分子分母都 1避免 p 值被低估為 0 const pValue (extremeCount 1) / (nPerm 1); return { obsStat, permStats, pValue }; }這里有兩個細節(jié)必須說明。第一shuffleArray用的是Fisher-Yates洗牌算法時間復雜度O(n)且每個排列的出現概率均勻。直接用Array.prototype.sort(() Math.random() - 0.5)洗牌是新手最常見的錯誤這種寫法產生的排列概率不均勻會導致置換分布產生系統(tǒng)性偏差嚴重時p值會偏移幾個百分點。第二slice(0, nA)這種方式只適用于兩組切分。實際項目里如果有更多組就要改成permutationTest接受組別數并循環(huán)切分別在這塊偷懶。2.4 p值計算的兩個容易被忽略的細節(jié)p值的規(guī)范定義是在原假設下觀測結果或比觀測結果更極端的概率。在置換檢驗里最直接的做法是統(tǒng)計置換統(tǒng)計量絕對值超過觀測統(tǒng)計量絕對值的比例。但這里有兩個陷阱。第一個陷阱是p值為0。如果置換次數是10000次而10000次置換里恰好沒有一次超過觀測值你會算出p0。這并不代表絕對不可能只代表你的置換次數不夠分辨小概率。改進方法統(tǒng)一是加一校正分子加1、分母加1。這樣既避免了p0也保留了觀測數據本身就是一次天然置換的語義——原始標簽是所有打亂方案中的一種觀測統(tǒng)計量必然包含在零分布里所以最小經驗p值應為1/(N1)。第二個陷阱是雙側檢驗與單側檢驗。我在代碼里用的是Math.abs比較這是雙側檢驗適合回答兩組是否有差異。如果業(yè)務問題是處理組是否嚴格高于對照組則應改為單側比較統(tǒng)計permStats[i] obsStat的比例。同一個數據集雙側和單側的p值可能差出一倍寫代碼前務必想清楚要回答哪種問題。3. 從比例尺到圓點D3.js散點圖組件搭建3.1 為什么在這個場景里選D3.js現在可視化圖表庫很多ECharts功能強大、上手快Plotly甚至支持Python調用為什么我固執(zhí)地選了D3.js我的理由只有一條這個項目的核心不只是畫圖而是把統(tǒng)計過程掛在圖形狀態(tài)上。散點圖的每一顆圓點在置換動畫中要反復改變顏色來呈現標簽打亂過程散點圖下方的零分布直方圖要在每次置換計算后動態(tài)新增一根柱子觀測統(tǒng)計量豎線要實時移動。這種數據和圖形元素一一綁定、隨時被業(yè)務邏輯驅動的模式是D3.js的看家本領因為它基于數據綁定data join模型開發(fā)天然支持enter/update/exit生命周期。方案學習成本自定義交互大數據性能數據綁定ECharts低配置項為主復雜交互要寫擴展內置Canvas性能好弱Plotly低有回調機制但靈活度一般中等弱D3.js高完全可控基于DOM/SVG/Canvas取決于寫法強如果只是出圖交給領導看我肯定推薦ECharts但要做一個交互式統(tǒng)計教學/分析工具D3.js的自由度值得多花時間。3.2 從業(yè)務數據到視覺通道的映射散點圖本質上做的是數據到視覺通道的映射。在我這個項目里每條樣本記錄有多個數值字段我預先定義了一個配置對象const channels { x: { field: dose, label: 劑量(μg/mL) }, y: { field: response, label: 響應值 }, color: { field: group, label: 分組 } };D3的關鍵概念是比例尺scale它是數據值域到屏幕像素域的橋梁。橫軸和縱軸分別建立一個線性比例尺顏色則使用序數比例尺const xScale d3.scaleLinear() .domain(d3.extent(data, d d[channels.x.field])) .range([margin.left, width - margin.right]); const yScale d3.scaleLinear() .domain(d3.extent(data, d d[channels.y.field])) .range([height - margin.bottom, margin.top]); const colorScale d3.scaleOrdinal() .domain([0, 1]) .range([#0077bb, #ee7733]); // 藍橙色盲友好這里range([height - margin.bottom, margin.top])是SVG坐標系和數學坐標系方向相反導致的y軸必須從底部映射到頂部新手寫反了會把圖畫成倒置的。顏色選擇方面我沒有用紅綠組合這是考慮到紅綠色盲人群約占總人口8%換成藍橙對比能明顯擴大受眾而且在后臺評審場景下藍橙在黑白打印時的灰度差異也更大。3.3 SVG散點圖的data join核心代碼將數據綁定到圓點元素的核心代碼如下const circles svg.selectAll(circle) .data(data, d d.id) .join( enter enter.append(circle) .attr(r, 5) .attr(cx, d xScale(d[channels.x.field])) .attr(cy, d yScale(d[channels.y.field])) .attr(fill, d colorScale(d[channels.color.field])) .attr(fill-opacity, 0.8), update update .attr(cx, d xScale(d[channels.x.field])) .attr(cy, d yScale(d[channels.y.field])) .attr(fill, d colorScale(d[channels.color.field])), exit exit.remove() );.join()是D3 v6以上版本的統(tǒng)一入口比舊版的enter().append().merge()更簡潔。一個重要的交互細節(jié)是散點圖坐標變化時比如切換維度不建議直接改圓點的cx/cy而是用transition()讓圓點平滑移動這樣讀者能保留這些點在空間上如何重新分布的認知線索circles.transition().duration(400) .attr(cx, d xScale(d[channels.x.field])) .attr(cy, d yScale(d[channels.y.field]));3.4 零分布直方圖的繪制散點圖下方需要放一個零分布直方圖。D3從v7開始提供了d3.bin作為直方圖計算的工具用法如下const bins d3.bin() .domain(xDomainOfPermStats) .thresholds(40)(permStatsArray); svg.selectAll(rect) .data(bins) .join(rect) .attr(x, d xScaleHist(d.x0)) .attr(width, d xScaleHist(d.x1) - xScaleHist(d.x0) - 1) .attr(y, d yScaleHist(d.length)) .attr(height, d yScaleHist(0) - yScaleHist(d.length)) .attr(fill, #cccccc);這里有個工程細節(jié)直方圖的bin數量我固定用40個而不是讓D3自動推導原因是用戶通過滑塊改變置換次數時bin數要保持一致否則直方圖形狀會跳變破壞零分布是穩(wěn)定形狀的直覺。直方圖x軸的范圍也要固定取permStats的全局最小和最大否則每次計算完后范圍漂移觀測統(tǒng)計量豎線的相對位置就無法比較。同時疊加一條觀測統(tǒng)計量的豎線svg.append(line) .attr(x1, xScaleHist(obsStat)) .attr(x2, xScaleHist(obsStat)) .attr(y1, 0) .attr(y2, heightHist) .attr(stroke, #d7191c) .attr(stroke-dasharray, 4,3);紅色虛線很顯眼和藍橙點顏色區(qū)分開即使色盲用戶也能靠線型區(qū)分。4. 動畫設計把標簽打亂過程變成看得見的分布生長4.1 標簽打亂動畫的核心邏輯純算置換檢驗不需要任何動畫。但我的初衷是讓讀者看見零分布的形成過程所以加入了打亂標簽的動畫。動畫的邏輯非常直接每次置換我們只是重新分配了顏色標簽樣本在二維平面上的位置完全不動。這一點千萬要在代碼里保持住——只更新fill屬性不動cx和cy。如果讓點和顏色一起挪動視覺上會誤以為樣本本身在變而真實假設是樣本不變只有標簽在變這個區(qū)別是整個動畫教學價值的核心。動畫狀態(tài)機我分為三態(tài)空閑idle、運行running、暫停paused。核心是一個定時器驅動的循環(huán)let animationTimer null; let frameCount 0; function runAnimation() { if (animationTimer) return; animationTimer d3.interval(() { // 每次 tick 執(zhí)行一次置換計算并更新界面 const permResult performOnePermutation(); updateHistogram(permResult); updateColorLabels(permResult.labels); frameCount; if (frameCount permCount) { animationTimer.stop(); animationTimer null; finishAllPermutations(); } }, speed); }這里的performOnePermutation每次只計算一次置換這樣動畫越積越多直方圖的柱子而不是一次性算完10000次再統(tǒng)一繪制。讀者會看到一個概率分布從無到有地長出來的過程我在教學演示中實測這種累積式動畫比一次性成圖更能讓人理解p值就是極端情況占總置換次數的比例。4.2 配色切換的平滑處理一個視覺效果上的細節(jié)當動畫跑得很快時顏色標簽的閃爍會很刺眼。我加了兩個緩解手段。第一圓點的fill-opacity從0.8降到0.55讓顏色切換的視覺沖擊減輕同時緩解了大量圓點重疊時全是一種顏色的假象。第二每次動畫幀之間不直接修改fill顏色值而是通過CSS過渡circle.perm-point { transition: fill 80ms ease, fill-opacity 80ms ease; }這樣每一幀切換時會有輕微的漸變過程眼睛不容易疲勞。但如果動畫速度超過每秒20幀這種過渡會帶來殘影所以我把過渡時間控制在80ms實際手感比較合適。4.3 刷選聯動局部子集的置換檢驗散點圖還有一個隱藏功能刷選。用D3的brush模塊框選區(qū)域后界面會只保留框選范圍內的樣本點并自動重新計算置換檢驗和零分布。這實際上是在回答一個更深入的問題如果只看這部分樣本組間差異還顯著嗎這個功能在探索性分析里非常有用——往往整體不顯著但某個子區(qū)域內兩組分離明顯這提示可能存在交互效應或亞組差異。刷選的核心實現是監(jiān)聽brush事件const brush d3.brush() .extent([[margin.left, margin.top], [width - margin.right, height - margin.bottom]]) .on(brush end, onBrush); function onBrush(event) { const selection event.selection; const selectedIds new Set(); if (selection) { data.forEach(d { const px xScale(d[channels.x.field]); const py yScale(d[channels.y.field]); const [[x0, y0], [x1, y1]] selection; if (px x0 px x1 py y0 py y1) { selectedIds.add(d.id); } }); } // 用 selectedIds 過濾數據重跑置換檢驗 runPermutationOnSubset(selectedIds); }刷選后未命中的圓點用淺灰色占位顯示、命中區(qū)域保持原色這樣讀者能理解刷選的作用范圍。一個必須做的防御性處理是散點圖的坐標軸經過比例尺換算后有小數誤差我在比較時用了和完成邊界包含判斷這樣刷選邊界上的點不會反復抖動。5. 大樣本與高次數場景下的計算與渲染優(yōu)化5.1 置換次數到底該取多少置換檢驗的p值分辨率由置換次數決定。經驗法則很簡單如果只需要判斷p值是否小于0.051000次置換足夠p值標準誤差約為0.014。如果要穩(wěn)妥地報告p值到兩位小數建議10000次。如果面對的是發(fā)表級嚴謹分析且p值接近臨界值建議50000到100000次。置換次數與p值標準誤的關系滿足公式SE(p) ≈ sqrt(p(1-p)/N)其中N是置換次數。p在0.05附近時N1000對應SE約0.0069N10000對應SE約0.0022。我默認設置的10000次在絕大多數業(yè)務的判斷顯著與否需求上足夠穩(wěn)。從計算量上看10000次置換、每組100個樣本、統(tǒng)計量取均值差在JavaScript主線程里跑大約需要幾百毫秒到1秒。偶爾會覺得卡但總體上能接受。一旦樣本量上升到5000個點、置換次數50000次主線程就會明顯阻塞界面白屏好幾秒。5.2 SVG和Canvas的取舍D3.js既能畫SVG也能畫Canvas。當樣本點超過3000到5000個時SVG的DOM節(jié)點數量會讓瀏覽器的渲染性能直線下降拖拽、刷選、動畫全部變得不流暢。這時我建議把散點圖層切換到Canvas只保留文字標簽和坐標軸走SVG。Canvas實現的散點圖層大致是這個形狀const canvas document.querySelector(#scatter-canvas); const ctx canvas.getContext(2d); function drawScatter(data, xScale, yScale, colorScale) { ctx.clearRect(0, 0, canvas.width, canvas.height); data.forEach(d { ctx.beginPath(); ctx.arc(xScale(d[channels.x.field]), yScale(d[channels.y.field]), pixelR, 0, 2 * Math.PI); ctx.fillStyle colorScale(d[channels.color.field]); ctx.globalAlpha 0.6; ctx.fill(); }); }注意Canvas方案需要自己處理globalAlpha和圖層疊加不涉及enter/update/exit因此對動態(tài)修改顏色的動畫支持反而比SVG更輕量——每次重繪一幀即可。缺點是無法像DOM那樣方便地綁定事件做點選、tooltip如果確實需要在Canvas上做高精度點選一般要用四叉樹索引做快速最近點查詢。5.3 Web Worker把計算從主線程里挪走最徹底的性能方案是把置換檢驗計算放進Web Worker主線程只負責接收結果并繪制。這樣即使置換次數10萬次界面也不會卡死。我封裝了一個worker文件// permutation.worker.js self.onmessage function (e) { const { values, labels, nPerm, statType } e.data; const result permutationTest(values, labels, nPerm, statType); // 結果里可能包含長達 nPerm 的 Float64Array self.postMessage(result, [result.permStats.buffer]); };主線程這樣調用const worker new Worker(permutation.worker.js); worker.onmessage (e) { const { obsStat, permStats, pValue } e.data; updateHistogram(permStats, obsStat, pValue); workerRunning false; }; worker.postMessage({ values: currentValues, labels: currentLabels, nPerm: permCount, statType: currentStatType });這里有個性能關鍵點postMessage傳遞Float64Array時如果數據量很大默認會發(fā)生拷貝。給postMessage傳入transferable列表就是代碼里的第二個參數[result.permStats.buffer]就能把ArrayBuffer的所有權轉交給主線程O(1)完成傳輸而不是O(n)拷貝。這點在高頻次置換動畫里差異非常明顯。需要權衡的是Web Worker里不能訪問DOM所以如果你的實時動畫需要每個置換幀都更新UI就必須改成批處理模式worker每次計算一批比如200次置換后postMessage一次主線程收到一批就更新一次直方圖。這樣UI仍然能流暢更新計算也不阻塞。6. 開發(fā)過程中踩過的坑與最終自檢清單6.1 隨機種子可復現性比看起來重要置換檢驗是隨機算法但分析場景里可復現非常重要。同一份數據這次跑出來p0.038下次跑出來p0.047不管是因為隨機種子還是機器差異都會讓業(yè)務同事質疑結果。我在第一版里直接用Math.random()很快發(fā)現復現性很差。后來引入了帶種子的隨機數生成器用mulberry32實現成本極低function mulberry32(seed) { return function () { seed | 0; seed (seed 0x6D2B79F5) | 0; let t Math.imul(seed ^ (seed 15), 1 | seed); t (t Math.imul(t ^ (t 7), 61 | t)) ^ t; return ((t ^ (t 14)) 0) / 4294967296; }; }把這一函數替換Math.random并把種子暴露在界面上默認值比如20240101任何人重新打開頁面、設置相同種子就能復現完全相同的零分布和p值。這一點在團隊協作和論文復現里價值巨大。6.2 零分布直方圖與散點圖的視覺比例尺沖突我犯過的另一個問題是兩套圖各用各的配色。散點圖用的是藍橙直方圖為了表示零分布用了灰色觀測統(tǒng)計量豎線用了紅色這本身沒問題。問題出在直方圖的x軸范圍早期版本直接取d3.extent(permStats)動態(tài)范圍每次置換次數改變橫軸范圍就跟著飄移豎線位置也就無法和之前的畫面比較。解決辦法是給直方圖設置一個與統(tǒng)計量理論上界匹配的固定domain。當用戶切換統(tǒng)計量時豎線位置變化幅度很大有時會跑到可視范圍之外。我特意保留了這個出界行為而不是自動縮放——豎線出界本身就能傳遞一個信息當前統(tǒng)計量遠遠超出零分布的尋常范圍p值極小。這種保留沖突的做法反而更符合統(tǒng)計直覺。6.3 邊界問題與最終自檢清單最后整理幾個容易被忽略的邊界問題重復值數據中有大量相同值時置換分布的連續(xù)性會退化。均值差會離散化直方圖出現梳狀空隙視覺上很怪。可以在直方圖上疊加核密度平滑曲線或者如實標注數據存在重復值p值為保守估計。方差為零如果某組在某維度上所有值相同均值差依然能算但t統(tǒng)計量會出現除零代碼里對合并標準誤做了分母保護。樣本量差距懸殊A組2個樣本、B組500個樣本時置換檢驗的統(tǒng)計功效會很弱。界面上要顯示兩組樣本量避免用戶對結果過度解讀。多重組別實際數據可能不止兩組我目前只做了兩組對比。擴展思路是兩兩組合做多重檢驗再用Bonferroni或FDR校正這部分后續(xù)再迭代。最終我把這些教訓沉淀成了一份清單每次改完代碼都核對一遍隨機種子是否可復現。置換次數是否滿足p值精度需求。雙側/單側檢驗是否與業(yè)務語義一致。p值是否做了分子分母加一校正。直方圖domain是否穩(wěn)定不隨數據量變化跳變。散點圖顏色是否支持色盲用戶。大數據量時是否切到Canvas或Web Worker。每次交互后動畫狀態(tài)機是否正確復位——尤其防止重復點擊啟動多個定時器。把個人經驗放到最后說一句這類統(tǒng)計可視化項目最花時間的其實不是統(tǒng)計算法也不是D3的API而是如何讓統(tǒng)計邏輯和視覺交互真正咬合。置換檢驗本身是幾十行代碼的事但當你試圖把零分布、觀測統(tǒng)計量、p值這些抽象概念投影到屏幕上讓非統(tǒng)計背景的人也能一眼讀懂時每一個像素的選擇都藏著統(tǒng)計語義。先把統(tǒng)計原理吃透再來談畫圖順序千萬別顛倒。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久9热插入| 婷婷五月视屏| 丁香五月欧美成人| 99碰网站| 六月色色| 99热99在线| 伊人在线视频| 激情综合网五月在线播放| 这里只有精9| 色九月婷婷丁香| 一二线视频 另类| 久久黄色免费视频| 婷婷激情人妻| 大香蕉在线99热| 久久成人天| 99re鈥哸鈥唙| 亚洲麻豆乱码国产2028| www.sd-xiangsu.cpm| 色婷婷女优有码五月亭| 久久HD| 男人天堂99| 丁香六月激情| 欧美va亚洲va| 97超级免费无码| 亚洲天堂热| 色小说五月婷婷| 人妻体体内射精一区二区| 色婷婷91激情小说| 丁香九月综合在线| 免费看欧美成人A片无码| 这里只有免费的精品| 日本高清久| 呦呦v线| 婷婷综合玖玖五月| 天天干天天操天天爽| 99久久九九| 国产人妻人伦精品一区二区| 九九色大香蕉| 大香蕉婷婷五月| 天天做综合| 性生活视频98791| 99激情| 深爱激情69热| 都市激情久久| 丁香五月宝贝激情网| 91超级碰碰碰| 国产夫妻操逼内射视频| 婷色成人| 婷婷五月天堂| 午夜成人综合| 天堂网操| 月色色综合婷婷网| 色欲天天综合| a色色色色色| 成人人操| 九九久久玖玖爱| 日本视频不卡123区| 色五月婷婷亚洲最大| eeuss人妻| 激情综合网激情五月天| 久久久人妻久久久| XXXX岛国| 99re这里只有精品99| 性热视频99精品| 极品少妇XXXX精品少妇偷拍| 丁香网五月天| 色黄啪啪| 丁香五月停停av| 九九久久网| www.六月丁香看AV| 天天综合亚洲综合| 激情综合网亚洲色图| 久久婷婷五月天蜜桃| 热日韩欧美| 色婷婷导航| 影音先锋天天日| 开心五月综合激情综合五月| 天天爽,夜夜爽| 操人妻90p| 五月婷婷色综图片| 婷婷丁香五月天中文字幕| 丁香五月综合高清在线| 婷婷五月天六月| WWW.桔色成人.COM| 91色噜噜狠狠狠狠色综合| 97色久| 五月婷婷,六月丁香| 人人摸人人搞| 婷婷国产成人| 婷婷色片| 欧洲毛片基地c区| 91操操| 亚洲六月色婷婷| 欧美日韩999| 天天噜| 99热99热不卡| 狠狠干无码| 亚洲婷婷丁香| 色色色五月天婷婷| 日韩美一级毛卡片| 3p久久| 玖玖激情网| 成人av在线网址| 日韩在线成人电影| www.超碰在线| 婷婷五月开心中文字幕色| 中文久久久人妻| www.五月天。com| 欧美成人va| 婷婷久久五月天| 久久99热这里只有精品| 亚洲 在线 另类| 激情电影五月婷婷| 国产色色网站网址| 国产激情久久| 丁香婷婷婷五月综合色情| 久久婷婷五月综合色天| 五月天婷婷色播| 精品九九视频| 神马欧美精| 五月丁香激情综合网| 99国产精品白浆在线观看免费| 无码 av电影| 成人一级片| 激情5月天天天| 综合久久影院| 大香蕉九九操| 婷婷丁香午夜综合影视| 久久99网| 91干网站| 亚洲AV成人片无码网站| 玖玖热视频| 九九精品自拍| 成人在线视频一区| 很很干天天干| 日本人妻伦在线中文字幕| 996黄色片| 婷婷成人AV| 精品一二三区视频立| 久久五月天网| 国产AV不卡福利| 婷久看人爽| 色婷婷亚洲| 久久婷婷伊人| 人人操婷婷| 激情小说五月天| 欧美丁香六月激情视频| 天天干天天干天天操| 激情久久综合网| 97久久香草精品视频| 婷婷五月天综合网| 日本少妇AA一级特黄大片| 五月天婷婷色播| 亚洲色99| 丁香婷婷久久激情| 免费碰碰视频久| 婷婷久久免费看| 99色综合| 九九视频免费| 99九九综合久久九九| 国产成人精品一区二三区熟女在线| 婷婷成人av| 丁香五月激情月| 丁香五月av| 碰人人97| 婷色五月天| 97碰碰碰| 99综合视频一体| 成人av中文字幕| 五月丁香婷婷婷激情爱爱| 99色视| 六月丁香五月天| 精品国产a| 伊人婷婷五月天av| 婷婷色基地在线看| 日韩无码专区| 狠狠色综合777| 色婷婷基地 | 激情精品久久| 热婷婷av| 91干视频| 九九热区一区二区三区| 日本黄色在线观看| 久久92| 久操干| 日本久久人人| 五月伊人视频在线看| 九九九激情网| 婷婷射图| 色五月开心五月激情五月| 精品一二三区久久AAA片| 99热777| 偷偷操九九| 天堂网色婷婷| 九九碰九九爱97超碰| WWW五月婷婷| 久久久国产精品黄毛片| 六月婷婷av| 深爱五月综合网| 综合色图婷婷| 久热 91| 这里只有精彩小视频视频网站| 粉嫩AV久久一区二区三区| 国产精品色婷婷AV综合色色| 日韩三级片一区二区| 欧美久久婷婷| 久久这里只有欧美| sS丁香五月婷婷| 丁香av网| 国产欧美日韩综合精品一区二区| 久久亚洲无码| 我要看激情五月天| 性色播| 就爱日五月天| 欧美精品XXXXBBBB| www.91婷婷| 色五月婷婷少妇人妻| 99操网站| 五月天婷婷色色| 99国产视频网| 色 五月俺去也| 热99久| 六月婷婷综合| 五月丁香花婷婷玉莉AV| 97激情五月天| 色丁香五月天射婷婷爱婷婷| 五月激情婷婷国产精品久久久久久| 日韩黄黄| 丁香五月www| 97干在线| 色婷婷五月天偷拍| 99免费视频久久| 欧美A A A A A| 色综合激情| 噜噜噜噜噜在线| 大香伊人婷婷影院| 五月丁香六月停停停| 99热这| 26uuu亚洲欧美日本| 日韩在线观看亚洲| 婷婷色偷拍| 亚洲欧美综合7777色亭亭| 99视频精品在线| 色五月在线观看| 亚洲激情图文小说| 欧美婷婷六月丁香综合色连续高潮抽搐| 亚洲激情五月| 91刘玥视频在线观看| 成人av在线网址| 天天天天天天天操| 淫荡综合网| 干亚洲天堂| 久久视屏这里只有久久| 五月激情五月丁香| 99er免费在线观看| 另类国产综合| 热99热9| 97欧美在线| 久9热插入| 日韩av手机在线观看| 能看的AV| 亚洲字幕AV一区二区三区四区| 丁香婷婷深情五月亚洲| 99热综合| 五月婷婷,六月丁香| 久久丁香五月| 99热在线看片| 99久久婷婷国产综合| 婷婷九月亚洲| 久热免费视频| 综合激情网| 激情视频网址| 久久在这里有精品| 婷婷五月天综合色| 97色色视频| 久狠日av| 色色色热热热| 色色激情网| www.婷婷,com| 狠狠色色| 1000部毛片A片免费观看| 天天干电影| 97色干| 99热99艹在线观看| 伊人久久大香线蕉AV最新午夜| 97操女视频| 丁香五月www| 影音先锋 一区| 99久超碰| 天天干狠狠操| 五月天开心婷婷激情网站| 婷婷色在线播放| 69精品人人人人| 五月婷视频| 九九成人电影婷婷| 久久久999精品| 婷婷第一页| 超碰在线超碰| 六月婷伊人| 天天婷婷色六月| 免费国产视频| 99原创自拍视频在线观看| 超碰啪啪网| 九九人人看| 在线成人网站| 激情五月丁香激情综合网 | 天天爽综合| 五月婷av| 欧美交换配乱吟粗大25P| YW无码| 99久re热视频精品98| 国产亚洲精品AAAAAAA片| 亚洲AV久久久久久久久久久久久久久久| 国产高清视频91九九九久久久| 婷婷欧美激情| 五月婷婷之六月丁香| 婷婷色五月丁香六月欧美啪| 夜夜操狠狠操| 日本99在线视频| 五月婷婷导航| 欧美韩日AAA网站| 少妇综合网| 国产做A爰片毛片A片美国| 五月情涩综合婷婷| 亚洲第精品| 久久久999精品| 91久女| 深夜男女福利刺激影院一区完整| 停停五月丁香| 99免费超碰在线| 婷婷性爱网| 色五月婷婷婷婷| 色色色在线观看| 欧美成人AAA片一区国产精品| 色日本颜射| 色偷偷色婷婷| 五月婷婷丁香五月婷婷丁香| 日韩日比视频在线| 热的无码综合视频| 国产成人精品一区二三区熟女在线| 2015超碰| 久热这里| 中文久久婷婷| 色欧洲| 人人人操 超碰| 99啪啪| 五月丁香婷婷婷激情爱爱| 五月天天丁香婷婷| 99久久99久久综合| 中文无码婷婷| 日韩AV成人电影| 亚洲色图五月丁香五月婷婷| 欧美久久婷婷| m色激情网| 五月丁香综合网| 少妇高潮一区二区三区99欧美| www99热| 欧美日韩婷婷五月天| 九九这里只这里只有精品| 超碰chaompinm| 99人人操人人爱久久久| 九九99热| 五月丁香综合啪啪| 啪啪啪综合网| 色国产五月| 九九热在线视频观看| 亚洲旡码| 99热首页| 开心五月婷婷六月丁香| 思思9久久| 婷婷五月天日逼| 九九av| 丁香婷婷综合精品六月初| 99re热在线视频| 97五月久久丁香婷婷| 丁香婷婷情色五月天| 色五月婷婷天堂| 婷婷五月激情六月| 五月丁香婷婷在线| 开心五月深爱五月| 亚洲激情精品| 五月天基地| 亚洲成人中心| 轮奸综合网| 五月天激情小说| 色婷婷91激情小说| 五月婷婷久久网| 美英法精品无码免费视频| 丁香六月欧美| 99久久婷婷| 久久久思思热| 国产肥白大熟妇BBBB视频| 99热66| 九九sese| www.色色com| 国产97色在线| 亚洲精99| 亚洲综合碰| 99色在线观看视频| 天天综合天天玩夜夜玩天天玩夜夜玩 | 五月婷婷六月丁香综合| 亚洲精品操一操、噜一噜、摸一摸、爽 | 国产肥白大熟妇BBBB视频| 天天擼久久擼在线| 久婷婷| 日本久久网| 天天成人丁香美女AV| 亚洲成Av人片乱码色第1集| 色婷婷六月天| 色六月视频| 97人妻碰碰碰久久| 国产欧美日韩综合精品一区二区| 久久久这里有精品| 欧美成人热| 亚州第一黄网| 开心五月婷婷激情| 精品人妻在线| 五月婷婷花| 国产精品日日躁夜夜躁| 婷婷综合性爱网| 97碰碰在线看视频免费| 丁香婷婷视频一区二区| 深爱婷婷基地| 99热狠狠操| 夜夜穞天天穞狠狠穞AV美女按摩| 色综合五月| 五月丁香色色综合| 99精品人人| 亚洲无AV在线中文字幕| 99操久久| 色婷婷五月天激情在线观看| 青青福利网| 97人人射| 婷婷五月色图| 日韩 mm 不卡| 68热超碰在线| 亚洲精品V天堂中文字幕| 大香蕉婷婷五月| 五月天激情视频网站| www.五月天婷婷.com| 97色色综合| 色综色网| 日本一级黄色片。| 成人做爰A片免费看视频| 丁香六月婷婷综合| 国产激情在线| 亚洲第一综合| 亚洲视频99| www.热99热| 欧美又粗又大一区二区在线观看| 激情六月丁香| 久操福利| 99性视频| 99热啪啪| 超碰91在线| 五月丁香综合影院| 久久久久久久久99精品| 亚洲综合草草| 日韩在线视频中文字幕| 五月丁香婷婷在线| 婷婷激情五月| 久这里只有精品99| 深情六月婷婷综合久久| 婷婷在线五月天观看| 丁香五月天导航| 色综合久久天天综合网| 超碰成人免费| 天天综合色丁香| 综合亚洲六月婷婷在线| 五月丁香怕啪啪| 综合激情五月四射婷婷| 国产成人VA| 激情图片婷婷| 99国产性感视频| 色色网站免费观看| 国产午夜一区二区三区| 丁香六月婷婷| 欧美激情综合色综合啪啪五月| 丁香婷五月天开心六月| 色情五月丁香| 久草热8精品视频在线观看| 五月天丁香| 91 影音先锋| 日韩人妻在线播放| 五月婷婷综合社区| 热中文字幕| 成人色五月天婷婷| 国产熟女日日骚五月丁香爱| 无人精品在线视频| 激情丁香婷婷| 99国产精品久久久久久久久久久| 偷拍九九热| 97操碰免费视频| 午夜婷婷久久 | 91婷婷| 9精品久久999| 五月五月婷婷| 99热r| 五月婷婷开心色伊人| 亚洲精品性色| 五月天停婷基地| 成人婷婷| 国产精品久久欧美久久一区| 一级黄色操B| 五月丁香色婷婷久久| 香蕉综合在线| 久久婷婷五月天激情| www.99视频| 久久久91| 最新无码专区| 亚洲综合久| 丁香八月综合激情| 91啪啪网| 超碰婷婷色| 99操| 99免费偷拍视频| 六月婷婷之青青草| z色五月播播久久| 99ri在线视频| 色婷插| 成人av播放| 99aese| 91狠狠色色丁香婷婷综合久久| 深爱激情五月天| 97成人在线视频| 他改变了拜占庭| 天天操天天日天天操| 97av在线视频| 久99精品视频| 亚洲色欲AAAAAA| 五月丁香色| 两性婷婷丁香五月| 99爱免费在线观看| 久久婷婷成人| 黄页免费一级视频懂色| 色情五月天se| 丁香五月香蕉| 激情综合国产| 99爱在线精品视频免费观看| 精品人妻伦九区久久AAA片| 久久最新色| 欧美VA在线观看| 天天射影院| 五月婷婷导航| 五月天 无码| 无码激情AAAAA片-区区| 久久99这里只有精品| 91热视频色网站| 色图亚洲91| 狠狠狠婷婷五月综合| 婷婷五月天激情网| 9热久久| 激情五月婷婷在线| 五月婷婷六月激情| 日日射天天射| 中国无码av| 婷婷另类开心| 五月婷婷影院| 久久综合激情五月天| 婷婷情色五月天| 很很色丁香久久停停| 99热这里只有精品无码| 天天射天天插天天干| 播五月婷婷开心| 狠狠色婷婷777| 丁香久久五月婷综合| 丁香六月情| 婷婷免费视频| 丁香五月伊人| 亚洲色图五月丁香| 色婷婷久久综合| www.99热在线观看| 超碰在线免费| 青青.com| 色99视频| 这里只有精品99www| 99re在线播放| 久久婷婷五月激情网站| 在线观看日韩12345区| 五月丁香婷中文| 成人中文网| 99色播| 五月婷婷丁香日韩在线| 婷婷六月激情综合| 五月丁香黄色| 色情五月婷婷| 五月丁香在线精品| 美女被肏网站在线看| 99热无码首页| 人人人操| 久久久人妻| 婷婷色天香| WWW.桔色成人.COM入口| 美国少妇性做爰| 欧美亚洲操逼| 欧美婷婷丁香五月| 亚洲激情AV| 五月丁香网av| 影音先锋五月天婷婷丁香在线观看| 六月丁AV| 丁香五月天大香蕉啪啪| 婷婷 色 丁香 夜| 99噜噜| 人人操五月天| 天天情色综合网| 91|九色|动漫| 中文av网| 少妇人妻综合色6699| 黑人熟妇一区二区三区| 精品人妻伦九区久久AAA片| www.五月丁香av| 十区AV| 色99视频| 色色色.COM| 91丁香婷婷综合久久欧美| 色五月五月婷婷| 性色欲情 网站| 丁香,开心成人,久久| 丝袜激情网| 九九草热在线观看| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 99视频内射三四| 人人视频色| 91玖玖| 99精品丁香五月| www.99热视频| 五月天婷婷中文字幕在线播放| AV动漫不卡无码免费| 97人人草| 天天综合五月| 亚洲行行色色| 日本99热| 久99精品视频| 精品亚洲国产成AV人片传媒| 激情综合五月| 欧美丁香五月夫妻天| 狠狠香婷婷五月| 1024亚洲| 久久您您综合网| 一起草av| 人人色性网| 五月婷婷色播| bukadeavzaixian| 欧美交换配乱吟粗大25P| 97久人人| 日本三级第一页| 婷婷俺去也| 五月婷婷六月丁香| 69色色视频| 亚洲欧洲色色| 五月婷婷色| 婷婷五月色情| 亚洲av另类在线观看| 婷婷五月色| 成人在线网址| 棕合影院色色| 亚洲第一综合| 婷婷五月丁香综合激情| 色五月婷婷久久大| 99热99免费| 777久久综合视频| 五月婷婷无码| 99自拍视频在线观看| 色噜久| 九月丁香婷婷网| 性无码专区无码| 五月天综合久久| 婷婷射丁香| 91青娱乐青青草| 五月天综合色| 激情图片五月天| 欧美色爱五月天| 5月丁香六月婷婷| 婷婷狠狠五月综合| 丁香五月在线视频黑人| 婷婷五月天六月综合| 欧美天天综合网站上去吧| 激情综合播播| 加勒比色色| 密乳视频| 婷婷色情五月| 99乱视频| 涩涩五月天| www.日韩国产| 五月天丁香网| 色五月婷婷综合| 99久在线精品99re8| 五月婷婷综合视频| 亚洲V国产V欧美V久久久久久| 成人综合网站| 丁香婷婷九月在线| 亚洲成人综合网在线免费观看| 五月丁香狠狠爱婷婷综合| 久久99精品久| 永久免费一区二区三区| 日韩成人AV在线| 五月丁香美女视频| 丁香五月aV| 开心五月激情婷婷| 五月 成人 婷婷| 久久九九爽| 色色色色色色网站| 国产FREESEXVIDEOS性中国| 成人国产欧美大片一区| 五月色情婷婷| 综合激情在线视频| 狠狠 婷婷| 日日爽天天| 色婷久九| 无码AV免费精品一区二区三区| 亚洲中文AV| 亚洲成人另类| 夜夜人妻五月天| 五月丁香久久丝袜啪啪| 婷婷色五月激情强奸四射| 成年人丁香五月| 国产高清av黄色看片| 九九色院| 丁香伊人综合| 久碰婷婷视频| 国产亚洲精品久久久久久久久动漫| 久久丁香九| 99精品视频免费在线播放| 五月丁香狠狠地噜噜噜噜| 激情六月天| 午夜天堂一区人妻| 青青草轻轻操| 99re思思热这里| 激情五月婷黄版| 精品一二三区视频立| 黄色AAAAA| 大香蕉综合在线| 九九99偷拍视频| 欧美激情丁香五月| 丁香六月欧美| 在线看的免费网站| 99黄色性生活| 99九九视频| 成人做爰A片免费看视频| 婷婷九色| 亚洲精品五月| 婷婷五月天综合在线| bukadeavzaixian| 丁香婷婷免费| 色色99| 亚洲无码激情| 伊人久久丁香婷婷六月五月综合| 五月天婷婷基地| 超碰无码318604| 玖操97| 丁香六月啪| 狠狠色五月| 色五XX| 婷婷五月天伊人| 免费亚洲婷婷中文字幕| 99热只有这里有精品| 影音先锋男人女人| 丁香六月 婷婷六月| 黄色片区子| 在线看黄色| 五月天激情视频网站| 国产毛片精品一区二区色欲黄A片| 伊人婷婷大香蕉| 亚洲中文乱字字幕在线永久| 丁香花社区av| 2023天天日夜夜爽| 99精品成人无码A片观看金桔| 亚洲AV免费在线| 丁香五月天.com| 六月丁香激情| 噜噜视频| 色99无码| 色久丁香五| 激情淫乱男女| 激情五月天电影| 9色资源在线| 久热a| 99丁香婷婷综合网| 色婷婷狠狠色| 超碰免费成人网站| 国产精品色色色色| 另类五月激情| 色五月天在线| av网站免费在线| 婷婷丁香五月天亚洲| 综合AV网| 亚洲色婷婷视频| 亚洲啪啪自拍| 丁香六月久久| 99热免费精品| 伊人五月天在线| 丁香午月AV中文字幕| 午夜丁香婷婷| 激情综合网,婷婷五月天| 亚洲精品V天堂中文字幕| 六月伊人婷婷| 五月婷婷丁香日韩在线| 99热日韩| 97碰操| 日日夜夜干| 91超碰在线观看| 日本天天色| 天天日狠狠| 五月天社区婷婷| 综合色激情| www,com,五月色色| 色婷婷av在线观看| 天天插天天很| 丁香伊人五月色婷婷五十路| 九九人人精品| 日日夜夜狠狠婷婷色| 三人荫蒂添的好舒服A片| 久久机热这里只有 | 亚洲激情网| 久久激情视频| 热99只有里视频| 五月丁香在线观看99| 日本欧美在线| 99热99精品在线观看| 99人人干人人操| 91狠狠色丁香| 婷婷六月色丁香视频在线观看| 97久久婷婷色| 美欧日韩国产成人在战| 五月婷婷色播视频| 丁香五月伊人| 网色99| 久久五月天激情视频| 丁香香蕉婷婷| 九九热在线视频| 婷婷五月天电影区小说区| 日本一级特黄大片AAAAA级| 亚洲午夜av| 无码人妻一区| 五月丁香爱婷婷深深| 亚洲中文字幕翔田千里| 婷婷五月天奸女| 成人网丁香五月| 天天操中文字幕| 日本eVa一区=区视频| 99九九热在线观看| 午夜婷婷六月天| 婷婷亚洲天堂| 久久婷婷五| 狠狠干综合| 五月婷婷丁香啪啪| 亚洲噜色| 亚洲色五月| 任你搞在线观看视频| 久久九色| 久久伦乱| 婷婷.com| 色色网站观看| 99在线精品视频| 午夜成人av在线| 来吧亚洲综合网| 五月丁香六月| 亚洲AV成人无码久久精品老人法拉利| 丁香久久久| 久草嫩草在线观看| 天天综合色| 99九九在线精品热动漫| 另类图片婷婷五月天| 九九热这里只有精品556| 99色久| 天天日色情| 六月丁香网| 欧美操人| 婷婷五月激情的图片| 色爱终和网| 天天日夜夜B久久| 大香蕉综合在线| 中文字幕无码成人电影| 97啪在线观看视频| 国产成人精品一区二区三区视频| 色婷婷狠狠18禁| 色五月婷婷网| 日日夜夜天天综合| 激情小说之五月| 五月婷婷视频啪啪美女| 丁香五月天激情网址| 综合久久五月天| 99久久五月天| 国产AV网页| 五月婷婷久草| 熟女强人妻一区二区三区四区无| 丁香婷婷综合激情五月色| 久久久久这里只有精品| 99婷婷| 三级黄网站| 99操视频| AAA久久| 五月婷婷狠狠干| 五月天婷婷操逼视频| 五月天激情小说| 天天在线XXX| 激情五月丁香六月综合AVXXXX| 色噜噜狠狠狠综合曰曰曰| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 色婷婷五月天激情在线播放| 丁香六月婷婷一区| 伊人久久激情图区五月| 五月天婷婷色紫薇阁| 青青热久精品视频在线观看| 天天噜天天爱| 天天摸日日舔狠狠添婷婷婷| 思思热在线视频99| 五月六月激情| 日日爽日日| 五月丁香久久| 亚洲成人在线免费| 婷婷色婷婷| 五月婷婷开心网| 99精品无码| 欧美综合激情| 久久丁香九| 色婷婷色九月| 无码激情| 色99视| 国产一二三四五六七八视频| 夜夜骑天天操| 热五月婷婷| 狠狠插狠狠操| 丁香网五月天| 超碰在线94| 8区视频在线| 成人精品一区二区三区四区五区| 色五月激情综合| 99av视频| 丁香婷婷五月色成人网站| 天天天干夜夜夜操| 日日噜噜夜夜狠狠久久丁香五月| 超碰免费电影| 激情五月色综合网| 日韩色色网| 99性感视频| 啪色综合| 亚洲精品无码一区二区| 九热av| 丁香五月天堂| 色婷婷五月网| 色偷偷色婷婷| 国产人妻人伦精品一区二区| 午夜激情久久| 大香网伊人久久综合| 色五月丁香激情| 色综合伊人网| 天天日天天插| 婷婷丁香婷婷97| 亚洲激情网| 丁香五月综合在线视频| 69精品人人人人| 国产精品男人AV不卡| 色五月天丁香| 日韩色情亚洲五月天婷婷| 色五月婷婷网| 国产又色又爽又黄又免费| 中文字幕五月久久婷婷| aaaaaa片| 成功精品影院| 熟妇内谢69XXXXXA片| 日韩欧美老妇性视频91久久久| 亚洲激情高潮| 久久婷婷五月综合色奶水99啪| 91人在线观看| 欧美大香蕉视频| 丁香五月激情鲁| 思思热视频在线观看| 久热久re| 欧美性爱特黄一级aaaassss| 色婷婷中文在线| 天天干在线播放| 99er日韩| 婷婷色五月开心五月| 爱久久小说下载网| 午夜色婷婷| 亚洲成人婷婷| 日逼影音先锋男人AV资源站| 婷婷操逼| 激情五月婷婷| 久久久久9久无码视频| 九九热视频精品2| 婷婷综合视频| 激情综合九| 婷婷五月免费观看| 欧美人妻一区二区| 五月综合丁| 婷婷五月激情在线| 成人午夜天| 久久五月视频| 色婷视频| 丁香五月婷婷Av| 色婷婷裸体色性在线| 国产精品18久久久| 天天搞夜夜叫| 99精品在线观看| 色欲五月婷婷| 婷婷亚洲综合| 五月天激情黄色网址| 99爱免费视频在线观看| 八戒青柠影视剧在线观看| 天天日天天添| 久热9| 九九色综合网| 欧美三日本三级少妇三99| 97艹| 天天插天天日| 青青日韩| 激情六月丁| 香蕉乱插| 九九性爱网| 91日日日| 久久婷婷五月综合啪| 99热狠狠操| h在线看免费版在线看| 97成人在线视频精品| 可以直接看的av| 99久久.www| 日日夜夜干| 啪啪丁香五月| 五月丁香婷婷基地| 欧美日韩999| 色播五月网| 五月天激情黄色小说在线观看| 激情久久久| 五月丁香六月色婷婷综合五月天| 天天日,天天插| 激情五月天婷婷直播| 99热8| 婷婷五日b| 色135综合网| 五月丁香六月婷婷网站| 超碰免费电影| 激情图片婷婷丁香五月| 久久多色| AVDV久久| 五月天五月色| 色区域网站视频| Av在线不卡一区| 久久激情网| 日本三级中国三级99| 91丨九色丨东北熟女| 美女丁香五月天| 国产精产国品一二三在观看| 五月婷婷开心六月激情小说| 97超碰9久热婷婷热| 97干视频在线| 97色色色色色色色| 久久五月婷婷综合网| 色婷婷五月天视频网站| 亚洲、欧美、国产另类笫二区| 亚洲情欲| 99热这里只有精品50| 日韩操女| 婷婷另类小说| 五月天婷婷永久免费视频| 色色丁香五月天社区| 色婷婷综合网站| 婷婷五月天99| 性爱激情小说AV五月丁香花| 人妻久久久久久久 | 另类小说激情五月天| 欧美在线97| 嫩草AV久久伊人妇女超级A| 玖玖热视频| 激情婷婷丁香五月天小说| 色狠狠色综合久久久绯色aⅴ影视| 激情五月婷| 色五月丁香五月激情五月激情| 性爱激情综合网| 综合久久久| 五月丁香六月婷婷亚洲激情综合| 综合色婷婷| 大香蕉啪啪啪| 五月激情婷婷丁香天堂| www.激情五月天。com| 成人国产网| 色五月六月| 五月婷婷激情综合网| 久久婷婷五月综合97色一本| 久久婷婷网址| 五月丁香综合网| 日韩1区2区| 丁香桃色综合网| 丁香五月最新地址| 五月综合激情久久| 亚洲精品电影| 婷婷五月天激情诱惑| 精品在线| 《久久综合九色综合97婷婷| 内射干少妇亚洲69XXX| 亚洲综合无码| 天天天天天日| 国产阿姨日皮艹逼内射视频| 日本乱论99| 日操熟女| 丁香六月综合激情| WWW99热| 深爱激情丁香五月| 激情五月综合免费| 伊人久久艹| 亚洲久艹| 五月婷婷影视| 九九伊人网| 欧美性爱五月天| 天天干天天干天天干天天干天| XXXX岛国| 成人在线网| 五月丁香婷婷啪啪综合| 色五月丁香com| 丁香五月成人网| 日韩人妻在线观看| 天天爽天天摸天天爱| 天天狠狠色| 九九成人高清视频| 色色色综合网| 色五月超碰| 色综合av超碰| 影音先锋男士资源网一区| 亚洲国产精品VA在线看黑人| 9久久精品| 色999五月色| 91婷婷色五月| 婷婷六月天| 野战毛片三一3| 深爱五月网| www.色五月天.com| 99aese| 天天干天天操天天上| 777丁香六月青青草婷婷综合久月| 九九碰九九爱97超碰| 精品人人操| 九九99免费理论| 丁香六月激情四射| 丁香五月综合激情性爱 | 丁香五月天啪啪| 五月婷在线观看| 五月色婷婷中文字幕| 婷婷丁香97| 熟女网站久久| 天天噜日日噜综合无码| 激情视频综合| 久久婷婷五月天激情四射| AV成人在线播放| 婷婷五月色| 五月天婷婷綜合院| 日本久热| 婷婷六月丁| www.99热| 亚洲精品国产A久久久久久| 精品国产一区二区三区四区阿崩 | 91丁香色五月| 1024在线视频| 婷婷综合一二三| aaa久久| 国产成人AV在线| 丁香五月天AV在线| 七七九九色色| 天天色色婷婷| 丁香成人视频| 丁香久久综合| 91狠狠综合久久| 婷婷五月综合网| 免费精品99| 五月丁香色停停啪啪啪| 色婷狠狠| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 日本色图综合| 丁香九月激情| 96丁香婷婷九月蜜桃综合久久| 中文字幕欧美精品久久| 大香av| 99爱视频精品在线观看| 五月婷婷黄色视频| 啪啪小说五月天| 色综合九九| 大地9中文在线观看免费高清| 五月天丁香久久综合 | 99热国内| 这里只有精品视频99| 丁香花五月天激情| 亚洲乱码日产精品BD| 五六月婷婷久久| 国产91视频| 成人网站免费sxj| 天天干夜夜想| 久久久激情| 亚洲网站观看视频| 婷婷中文字幕网| 梁铮版蜘蛛女在线观看| www.丁香五月| 狠狠干婷婷| 天天色中文字幕女优AV| 91九色欧美| 综合色五月天| 丁香五月先锋| 少妇人妻偷人精品无码视频新浪| 丁香伊人五月色婷婷五十路| 色色五月天婷婷| 天天摸天天日天天舔| 婷婷五月丁香综合| 草草色情综合网| 激情另类综合| 5月丁香六月婷婷| 久久久久9999| 91VIP在线观看| 婷婷导航| 色狠狠婷婷| 99色热| 91精品久久久久久久久久久久| 狠狠干五月丁香| 超碰成人在线观看| 一起操最新网址| 六月丁香婷婷色狠狠久久| 狠狠色综合精品视频在线| 五月天婷婷色色| 丁香五月婷婷激情尤物| 爱婷婷久久视频| 久久九九色| 一区二区三区XXXXXX| 人妻系列久久久久久久久久久| 玖玖婷婷色五月| henhencao国产在线| 成人国产网站| 五月天亚洲最大成人| 超碰日日操| 欧美三级韩国三级日本三斤| 思思热国产视频| 99九九玖玖| 婷婷五月丁香激情图片| 色必久悠悠影院| 久9视频| 888久久久| 99思思热只有在这里看| 国产全是老熟女太爽了| 成人看片网站| 另类激情五月在线视频欧美| 97色五月婷婷在线| 色婷婷91激情小说| 99操碰| 9热在线观看| 亚洲va在线∨a天堂va欧美va| 色亭亭影园| 九九这里有精品视频| 婷婷99狠狠躁天天躁| 1024操逼视频| 99热国产免费| 月丁香久久久| 五月激情婷婷女| 丁香六月在线综合| 操逼福利视频| 国产精产国品一二三在观看| 婷婷99狠狠| 99色在线| 色情综合| 五月婷网| 97热这里精品在线视频| 伊人五月综合网| A级毛片高清免费不卡播放谢谢谢谢| 99精品免费欧美小视频 | 91热er| 免费做A爰片77777| 深爱激情九九五月天 | 五月丁香另类图片| 1囯产午夜仑鲁鲁| 噜噜狠狠色综无码久久合欧美|