免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
日本色色色色色色色色一色二色| 99久久久久久www| 丁香五月亚洲综合| 色五月之第四色| 爱iii做iiii日日| www.婷婷亚洲基地| 亚洲精品永久久久久久| 久久机只有这里精品| 中文字幕丰满人妻无码专区| 变态另类色图| 五月九九综合| 久久久婷丁香五月| 色综合综合综合| 亚洲天堂爱爱| 97影院一级片| 五月色婷| 色婷婷XXXXX| av操逼网| 碰97 久| 激情图片婷婷| 丁香婷婷五月色成人网站| 六月婷婷网站| 99热精品9| 在线播放中文字幕| jiqingtaose五月天| cao久久| 深夜婷婷 丁香| 久久人妻精品| 婷婷色综合| 99热免费精品| 激情五月丁香五月| 日本色五月| 久久人人九九| 丁香五月婷婷天激情| 高清不卡一区| 99热只有精品在线播放| 大香蕉综合在线| 日本视频99| 2022人人操人人看| ztEJj| 99 色色吧| 久久激情五月婷婷| 天天开心天天色| 五月停视频天堂| 婷婷中文字幕网站| 久久日本wwww色| www.久久久久久久久久.com| 丁香六月综合| 欧美色图天堂网| 五月丁香久久综合| 97一区二区| 五月丁香无码| w婷婷五月婷婷w| 91丨九色丨国产打屁股| 婷婷情色五月| 日韩欧美四五区| 婷婷丁香高潮了| 超碰在线视屏| 99色视频| 色呦呦美女| 丁香五月天激情综合网| 九九这里是免费的视频5| eeuss人妻| 夜夜综合色| www.yw尤物| 色婷婷丁香女女| 影视av久久久噜噜噜噜噜三级| 亚洲精品亚洲人成人网| 久热A片| 久久亭亭电影| 免费看欧美成人A片无码| 思思久久99热只有频精品66| 免费观看的av| 九九热视频首页/这里只有精品| 九九99精品视品| 亚洲欧美成人在线| 操91| 五月激情婷婷四射| 日本在线视频手机播放五月婷| 色五月影视| 中文字幕人妻熟女在线| 九色视频91疯狂| 色五月婷婷在线| 激情五月天久久| 激情丁香社区| 五月婷婷导航| 丰满少妇猛烈A片免费看观看 | 色狠狠综合| 婷婷色播色五月五色五月天色妇| 99在线爽| 久久av电影| 蜜臀嫩草| 久xxxx| 五月丁香青草综合啪啪| 五月丁香久久网| 99热久只有精品首页| 欧美日韩大黄| 99爱视频在线观看| 婷婷丁香五月基地| 久久色这里只有精品| 免费无码毛片一区二区A片| 色综合色综合网| 综合网天天| 99热综合| 人人摸人人搞| 五月丁香色婷婷| 五月婷综合| 亚洲看av的网站| 日韩aⅴ视频| 狠狠干综合网| 五月丁香六月婷婷成人电影| 级情九色| 成人免费视频一区| 婷婷五月天直播| 91|疯狂丨高潮丨对白| 天天开心AV色综合婷婷五月天| 六月激情网| 亚洲激情视频网| 丁香五月欧美午夜视频| 日本啪啪网| 91超级碰| 欧美超级视频97| 99超在线| 五月六月丁香激情| 五月天激情久久| 五月天国产| 天天综合亚洲| 国产片XXXXA片国语对白| 成人片黄网站色大片免费毛片| 亚洲黄3级片网站欧美| 五月丁香亭亭操逼| 99热这里是精品| 色婷婷69| 亚洲五月丁香六月婷婷| 日本精品人妻无码77777| 丁香五月五婷| 欧美婷婷六月丁香综合色| 91肏肏肏| 九九99精品视频在线观看| 五月婷婷亞洲中文| 秋霞av不能| 射久久丁香五月| 大香蕉久操| 国产va在线视频| 激情五月综合网| www.av骚货| 9九九久久精品无码专区| 丁香婷婷深情五月亚洲| www五月天com| 影音先锋人妻出差| 欧美色99| 色综合色五月| 丁香久久综合| 激情丁香婷婷| 五月激情另类| 婷婷五月娱乐在线| 久久精品99国产精品日本| 九九aV| 激情图片久久| 狠狠色大香蕉| 色五月婷婷五月天| 婷婷久久色| 五月丁香婷婷激情久久| 就去涩涩丁香五月天| 伊人久久婷婷五月综合97色| 五月综合婷婷网| 久久黄A片| 五月亭亭六月激情| 婷婷五月天激情小说| 色视五月天婷婷| 91|九色|动漫| 第四色五月婷婷| 综久久久| 性爱网五月婷婷| 久色网| 亚洲五月天婷婷| 99在线免费视频| 开心深爱激情网| 26uuu另类亚洲欧美日本一| 热99精品视频| 六月丁AV| 女人被男人吃奶到高潮| 思思热在线| 激情五月丁香五月| 国产在线aaa片一区二区99| 色婷婷成人做爰A片免费看网站| 久草婷婷| 91干网站| 99操逼| 五月丁香久久久| 婷婷六月天精品| 婷婷五月丁香网| 激情久久久久久| 成人无码髙潮喷水A片| 日韩AV在线免费| 蜜臀99久久精品久久久久| 婷婷五月亚洲综合| 激情综合网亚洲色图| 五月久久丁香| 五月天婷婷久久视频| 无码人妻AV久久久一区二区三区 | 六月激情网| 国产超碰在线| 97人人做| 亚洲亚洲永久无码777777| 五月婷婷啪啪啪| 五月天丁香婷婷网| 伦乱美欧| 天天做天天爱天天高潮| 久久久99视频| 99色视频| 亚洲精品99| 婷婷五月丁香欧洲| 丁香五月婷婷激情蜜桃| 国外亚洲成AV人片在线观看| 亚州操操| 色丁香五月婷婷在线| 超碰二区| 怡红院精品视频久久久久久久久| 天天操天天插| 色噜噜狠狠色综| 色婷婷五月在线| 九九精品热播| 五月婷婷六月丁香在线| 97婷婷五月丁香| 日 日干 日日做| 人妻精品一区二区三区| 久操热| 色色激情五月天| 大香蕉综合在线| 99热在线精品观看| 久草A片| 天天爱天天做天天舔| 丁香五月AV在线| 五月婷丁香| 久色成人| 高清 码 免费看片短视频| 久久精热| 欧美色九| 农村熟妇高潮精品A片| 欧洲激情五月天婷婷| 99国产精品白浆在线观看免费 | 青青草原伊人网| 屁股翘好撅高迎合跪趴| 激情婷婷五月天日本系列| 久久婷婷综合色丁香| 九九热精品| 啪啪综合| 色婷婷五月天成人网| 久久久人妻久久久| 国精产品一区二区三区| 99热在线观看免费精品| 婷婷丁香五月综合激情视频| 婷婷五月天奸女| 午夜丁香婷婷| 国产色色视频| 五月丁香久久综合精品| 91色噜噜狠狠狠狠色综合| 六月色婷婷| 婷婷五月天久久| 丁香五月天AV在线| 五月丁香五月丁香五月丁香五月丁香91| 99男人的天堂| 99热九九在线| 丁香五月AV综合| 亚洲免费视频网站| 丁香深五月婷婷| www.狠狠操| 色综合久久88色综合天天99| 日韩激情人伦人| 日韩AV在线免费观看| 亚洲va综合va国产va中文| 九九无码| 五月丁香另类图片| 综合色激情| 色五月成人在线| 天天干天天 亚洲| 日本五月婷婷| 影院久久久| 亚洲热久久| 色五月大| 一起草Av| 激情五月天综合网| 欧美人妻一区二区| 亚亚州久久高潮| 久久思思精品| 思思精品视频| 久久久久人妻网址| 婷婷六月久久| 米奇影视五月天| 黄色精品五月婷婷| 五月婷婷av| 99久久婷婷国产综合精品| 亚洲中文字幕网| 夜夜操天天干| 五月天无码视屏播放| 国产日韩欧美| 五月婷丁香久久综合| 丁香婷婷丁香五月欧美人| 女同激情久久av久久| 99热在线观看免费精品| 激情美女五月天| 欧美丁香五月夫妻天| 人妻中文字幕精品| 久热这里只有精品性色AV| 色欲午夜无码久久久久久张津瑜| www婷婷色| 成人一区在线观看| www.狠狠| 久久婷婷内射| 色热久资源| 久久五月婷婷视频| 六月色婷婷| 99国产97在线,| 狠狠人妻色综合| 99操99| 色必久悠悠影院| 97人人看一| 色综合网页| 舔色婷婷| 久久九色| 色偷偷五月天| 丁香六月av| 丁香五月在线播放| 色婷婷激情| AA片在线观看视频在线播放| 国产高清视频91九九九久久久| 丁香久久激情俄| 九九色婷婷| 深爱五月日韩| 色啪网| 国产综合A片| 色玖玖综合网| 深情五月天| 国产毛片欧美毛片久久久| 99视频免费播放 | 天天肏高清在线| 丁香婷婷五月激情综合| 久久婷婷五月综合| 操人妻AV| 婷婷亚洲五| 五月婷婷色播| 日本9区视频| 五月综合亚洲婷婷| 99视频内射三四| 激情久久丁香| 色播播婷婷| 五月刺激丁香月综合| 亚洲第一色网站| 色丁香五月婷婷| 超热久碰.com| 97久久精品| 99综合自拍| 亚洲99在线| 97超级操操| 五月开心网| 五月丁香久久呀| 99热99久久| 久婷久婷激情肉| 天天日夜夜高潮| 婷婷五月天AV| 六月婷婷狠狠| 深爱激情五月婷婷| 99热这里精品| 美女视频图片久久91| 五月天欧美激情| 午夜]香婷婷深深爱| 九九精品网| 全高清无码视頻| 婷婷六月丁香五月| 五月婷婷中文网| 九九色黄色| 婷婷五月天福利| 五月天色色网站| 精品国产乱码久久久久久免费| 五月天激情久久| 婷婷五月天视频亚洲| 538午夜激情| 啄木鸟黑丝一区二区| 人人视频人人干人人做| 激情综合五月丁香| 色99免费视频中文| 亚洲精品视频在线播放| 人人操人人爱丁香五月| 欧美影院婷婷| 日韩AC在线免费观看| 色情丁香五月婷婷精品| 99视频在线观看视频| 天天综合久久| 日韩在线视频9色| 久久色婷婷| 战争与艾拉电影免费观看| 9色操| 五月天影院婷婷在线观看| 欧美三日本三级少妇三99| 色婷婷99| 婷婷五月天激情小说| 大香蕉综合网| 亚洲综合狠狠艹| 婷婷五月丁香av网站| 99热在线观看| 久久机只有这里精品| 久久久月丁香| 天天日人人爽| 五月婷婷综合在线| 国产色色在线| 中文字幕丰满孑伦无码专区| 五月丁香综合伦理片| www.久久婷婷| 91人人爽人人操| 99草在线免费观看视频| 欧美色图片88| 久久久久久久久月丁| 丁香五月激情综合| 婷婷五月天成人| 亚洲第一色色色| 91呦呦呦| 久热精品9999| 人人操操97| 六月婷婷开心| 996热re视频精品视频这里| 久久成人精品视频| 丁香五月天网友自拍啪啪啪视频| 久久久久人妻精选| 婷婷五月天av| 九九热九九| 丁香五月在线视频| 黄色AAAAAAA| 婷婷五月丁香基| 欧美天堂婷婷日韩| 久在线综合69| 三级三久久线久久99久目本WW| 五月天激情综合网站| 在线免费视频caop| 天天噪夜夜爽| www.精品99| 精品乱码久久久久| 97热这里只有精品| 欧美婷| 亚洲一级AV在线免费播放| 91精品国产91久久久久青草| 思思热再线视频| jiqingtaose五月天| 五月激情综合婷婷| 色天五月天在线观看视频| 五月婷在线观看| 无码人妻AV久久久一区二区三区| 欧美性爱专区| 丁香五月天在线视频| 青青日韩| 久久精品99久久| 久久激情综合| 婷婷的久久网站| 丁香五月六月综合激情| 人人摸人人干| 丁香婷婷六月天| 91久久精品无码一区二区三区| 狠狠狠狠狠狠| 久热久| 99热这| 这里只有精品免费视频在线观看| 亚洲精品激情| 91紱請| www.婷婷.com| 午夜色丁香| 激情五月天综合网| 丁香狠狠色婷婷久久无码视频| 深爱五月天 开心网| 99在线免费视频| 激情电影五月婷婷| 天天做天天爱天天爽在| 亚洲操逼网| 爱操人妻| 九九热视频精品| 日本三级中国三级99| 五月香婷婷| 99久久玖玖| 黑人糟蹋人妻HD中文字幕| 色色婷| 激情五月天网站| 精品亚洲VA网站| 婷婷五月小说色综合| 五月丁香六月婷| 97婷婷久久丁香| WWW丁香五月| 丁香五月在线| 日韩一区二区A片免费观看| 六月婷欧美| 久草a片| 成人在线视频网| 操操天堂| 99精品偷自拍| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 开心五月六月婷婷| 久久92| 亚洲欧美婷婷五月色综合| 一起草av| www.sezonghe| 五月婷婷综合影院| www.99热精品| 五月丁香婷婷激情在线| 99热综合色图| 9久热视频| 熟女网站久久| 26UUU成人网| 五月婷婷久久开心网| 91人人妻人人操| 人妻熟妇国产精品| 91刘玥视频在线观看| 99视频色在线观看| 午夜少妇在线观看视频| 五月丁香久久久日婷婷久久婷婷日 | 欧美成人网99网| 开心五月综合| 97人人操在线| 激情五月天啪啪| 爱99干99| 丁香五月丐人妻| 成人av在线网站| 男人天堂AV在线一区二区| 开心五月婷婷激情网| 97精品自拍视频| 亚洲欧美婷婷五月色综合| 欧美性丁香色色五月天干干| 五月婷婷六月爱| 97干97色| 在线视频99| 色婷婷成人久久| 精品人妻一区| 日日噜噜夜夜狠狠久久丁香六月| 九九精品在线视频观看| www狠狠爱com| 五月婷婷真爱激情网| 无码人妻电影| 亚洲性爱AV| 超碰激情五月| 9久热| 丁香成人视频| 五月丁香婷婷五月色| 日韩另类| 五月玖玖| 五月丁香色婷婷色| 六月色播| 色网站9| 九九操综合网| 白人荫道BBWBBB大荫道| 另类色视频| 99色综合网| 五月丁香综合中文| www.com五月天| 超碰在线观看三级片| 激情五月激情综合俺也去婷婷小说| 九九色图| 六月久久婷婷| 亚洲成人高清在线| 1024手机在线观看看片_日韩精品| 午夜丁香五月天综合| 99热在线观看| 夜夜操夜夜姧| 色婷婷狠狠禁18久久| 天天色综合色| 久99婷婷色综合| 人人综合五月人人婷婷| 玖久久网站| 色婷婷五月天在线| 丁香九色不卡aaa| 天天操综合网站| 日韩AC在线免费观看| 亚洲性图一区二区| 五月婷婷综合天天操| 久久久五月婷婷| 少妇出轨做爰高潮A片| 中文无码精品一区二区三区| 黄色录像网点| 天天日天天干天天爽| 激情五月天婷婷丁香| 丁香美女主播视频在线观看| 成年视频免费观看| 91viP在线看| 色99在线| 夜精品无码A片一区二区蜜桃| 婷婷五月丁香基| 五月丁香久久综合91| 3www激情| 色婷大香蕉| 五月婷婷丁香六月| 26uuu丁香婷婷五月| 大香蕉婷婷丁香天堂AV| 成人做爰A片免费看网站找不到了| 草一草avb| 五月色婷婷在线观看| 99热在线观看| 婷婷午夜| 色综色网| 成人在线视频一区| 日本欧美在线| 婷婷色影音天| 色色com| 婷婷丁香无码专区| 色吧婷婷| 99区视频| 五月婷婷七月丁香| 五月色色色| www.99久| 99热在线观看| 婷婷播5月| 九九热黄色| 丁香激情网| 色色网站在线| 亚洲综合婷婷| 日本操B视频| AV操逼网| 成人狠狠成人狠狠成人狠狠成人狠狠 | 99热在线播放精品| 色五月五月天色婷婷色五月| 天天色播| 一区二区三区四区牛| 超碰免费人妻| 这里只有精彩亚洲视频推荐| 婷婷欧美激情| 色吧综合网| 五月花在线观看视频| 99热最新| 久久一品区| 五月天婷婷小说| 久久丁香五月婷婷| 激情综合婷婷| 97婷婷狠狠久久综合9色| 婷婷免费视频| 人妻久久久久久久 | 成人欧美日韩| 五月婷婷免费视频| 97碰在线视频| 99视频这里只有精品10| 9有码中文| 女同在线9| 99热精品在线播放| 亚洲丁香五月天视频| 人人操Av| 五月综合色| 微拍92| 91久久久久久| 五月婷久久| 99成人免费视频| 婷婷五月成年人| 欧美成人日韩| 青青草婷婷五月天| 五月天激情小说网| 亚洲无码另类| 中文字幕精品在线观看| 五月丁香六月婷婷亚洲视频| 亚洲天堂99| 亚洲精品另类| 伊人丁香五月天丁香在线婷| 久久精品99国产精品日本| 亚洲AV日韩无码| 99精品视频免费观看| 99色热视频| 五月丁香六月久久| 婷婷六月色| 影音先锋91| 婷婷色操| 婷婷久久图片| www.久久爱.c n| 桃色激情网| 婷婷五月AA五月在线| 六月婷婷俺也去| 婷婷午夜激情| 大香蕉520| 99碰网站| 91人碰| 97碰 在线视频观看| 少妇人妻人伦A片| 专区无日本视频高清8| 久久久久人妻精品| 99热这里只有精品8| 精品久久艹| 玖玖爱伊人| 婷婷情色五月天| 人人爱人人草| 久操福利| 色婷婷综合网| 午夜天堂一区人妻| 风流少妇A片一区二区蜜桃| 丰满少妇乱A片无码| 免费无码毛片一区二区A片| 96丁香六月婷婷蜜桃综合久久| 99久久99九九99九九九| 97啪啪| 国产做爰视频免费播放| 中文字幕视频色婷婷| 在线综合啪| 婷婷丁香五月天操逼| 激情婷婷丁香| 亚洲殴洲精品Av在线| 人人操91色| 九九大香蕉黄色影院| 操人久久| 五月丁香视频在线观看| 五月丁香好婷婷A片网| 五月丁香在线综合| 激情五月天啪啪| 五月丁香婷婷色色| 精品国产va久久久| 五夜丁香| 极品人妻VIDEOSSS人妻| 欧美在线ee日韩| 91人操人人人操人| 99小视频在线| 天天色官网| 天天爽天天| 香蕉婷婷| 久久44| 97色婷婷在线观看| 国产Va视频| 欧美成人精品一区二区 | 婷婷五月丁香综合亚洲| 欧美在线视频免费播放| 激情五月天婷婷图| 婷婷五月综合激情免费| 色欲天天综合网| 五月丁香婷婷色啪| 九月久久婷婷| 五月丁香怕啪啪| 五月婷婷69| 综合激情站| 婷婷丁香精品视频在线观看| 婷婷丁香97| 亚洲精品久久久久久久久久吃药| 欧美黄色AA片哗啦啦啦| 日韩欧美一级大黄网站| 亚洲综合色成丁香五月色| www.久久爱.c n| 美女100%露全身无挡网站| 2025色婷婷| 婷婷综合五月天| 久久五月天免费网站| 秋霞三级影视资源| 久久性爱视频| 久久婷五月影院| 婷婷色色五月天| 精品人妻伦一二三区久| 色色色综合| 第四色五月婷婷| 婷婷五月天综合色| 日日夜夜狠狠| 99自拍视频网站| 色人妻五月| 欧美色五月| 亚洲网站999| www,99热| 免费视频在线观看的网站| 乱码操操| 人妻久久久| 超级碰碰99| 婷婷色天香| 色噜噜狠狠一区二区三区| 色婷婷综合电影| 色五月视频无码播放| 九久9精品| 99色中文| av色婷婷| 色色色色区| 丁香六月五月天| 夜夜操加勒比| 婷婷久久六月天| 五月天成人综合| 99精品久久| 991精品在线视频| 成人丁香五月婷| 婷婷六月视频| 天天操天天国产三级片处女学生妹| 久色姿源| 精品国产一区二区三区四区阿崩 | 天天色综合色色色色色。| 91操操| 五月激情网站| 成人片在线播放| 伊人久久大香线蕉av一区| 狠狠操狠狠| 996热re视频在线观看视频| 精品99这里有| 国产精品18久久久| bbwcuckold精品熟妇| 天天日天天插| 五月激情丁香六月狠狠干| 国产成人网站在线观看| 影音先锋按摩| 婷婷色色五月| 亚洲色欲欧美一区二区三区| 黑人巨粗进入警花疼哭A片| 久久亚洲网| 欧美内射AAAAAAXXXXX| 亚洲婷婷五月天综合| 亚洲精品视频在线播放| 伊人青草成人| 丁香性爱在线视频| 人人看人人要| 五月花激情网| 精品99视频| 五月婷久久| 五月天色图| 天天热夜夜操| 色五月激情综合网站| 人人爽欧美婷婷久久久五月丁香| 超碰丁香五月| 婷婷无码视频| 久久艹99| 亚洲色热| 草做免费在线观看| 国产性爱色| 色婷婷狠狠爱| 五月丁香在线视频观看| 91九色最新视频| 五月丁香免费看| 久热黄色| 国产一区二区av免费| 都市激情五月婷婷亚洲| 日韩日比视频| 99精品视频在线观看| 五月婷婷免费在线观看| 91色欲综合| 另类视频综合| 激情五月天无码| 欧美天天搞| 777色色色| 激情综合六月| 91色噜噜狠狠狠狠色综合| 粉嫩AV久久一区二区三区| 激情九九综合网| 婷婷无码视频| 五月婷婷色欲| 婷婷五月天堂| 日日射天天射| 色情丁香五月婷婷精品| 年轻的妺妺伦理HD中文| 高清无码网址| 天堂爱爱| 色五婷婷| 91男女视频在线观看| 91人人操.COM| 怡红院精品视频久久久久久久久| 亚洲成人av在线| 性色做爰片在线观看WW| 日本一级一片免费视频| AV五月丁香| 99啪| 国产精品一区在线观看你懂的| 66色在线日韩| 婷婷综合网站| 天天爱天天做天天日| 操操熟女| 男女啪啪做爰高潮无遮挡| 极品另类| 六月天丁婷婷| 综合五月天亚洲婷婷| 成人短视频免费| 一级片操逼视频| 国产精品久久..4399| 天天爽,夜夜爽| 五月天激日本色情在线| 操逼毛片国语对白| 99综合99| 亚洲午夜成人av电影网| 丁香五月性| 99精品在线观看| 五月丁香好婷婷A片网| 久久欧洲久久| 天天搞天天色综合| 大胆伊人久久| 乱乱av| 五月丁香啪啪| 五月丁香婷婷综合网| 日本九九网| 久久久er热| 久久综合激情五月天| www久| 色婷婷色综合激情91| 婷婷桃色网| 性做久久久久久久免费看| 国产这里只有精品| 丁香色六月婷婷| 婷婷操久久| 色色色图| 日本色视| 99在线亚洲| 九九色综合视频| 亚洲九九九九| 五月天色婷婷小说| 婷婷五月亚洲综合| 91精品久久久久久77777| 日韩综合久久| 婷婷射综合| 97在线视频人妻九色| 亚洲色图日韩网址| 一级二级色大片| 亚洲成人AV在线| 国产综合81p| www.色色com| 在线99色| 黑人无码一区| www.99久久久| 九九99免费视频| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 五月色婷| WWW.天天日| 亚洲成人免费在线| 亚洲va日| 国产婷婷五月中文字幕高清| 婷婷丁香基地在线| 丁香五月冃欧美| 美国色五月天婷婷资源站| 六月五月婷婷| 五月婷婷av| 天天插天天插天天插天天插| 五月天网站免费欧美| 人人干女人| www.五月婷婷久久.com| 亚洲精品视频在线播放| 91狠狠色丁香婷婷综合久久精品| 99色视频| 青柠影视免费高清电视剧 | 精品爱欲五| 激情婷婷黄色五月| 五月丁香六月成人| 狠狠综合久久| 密乳视频| 日操夜撸| 色播五月丁香| 202丰满熟女妇大| 91热在线观看视频| 极品九九九九九九| 超碰国产在线| 在线观看亚洲视频影院| 激情婷婷内射| 橾逼网| 久久精典| 精品国产一区二区三区四区阿崩| 黄色激情网站在线观看| 91综合色| 亚洲激情无码久久| 99热地址| 午夜69成人做爰视频| 99热传媒| 婷婷五月丁香五月| 色情久久久| 日良久久| 江苏少妇性BBB搡BBB爽爽爽| 蜜桃婷婷狠狠久久| 久久婷婷国产| 一本伊人色婷| 久久机热/这里只有精品| 无码免费人妻A片AAA毛片西瓜| 视频久久9| 激情综合女人网五月播播| 亚洲六月色| 五月婷婷中文| 热婷婷在线视频| 日韩在线观看亚洲| 免费观看的AV| 色播五月网| 99在线观看精品视频| 五月天婷婷五月| 婷婷综合视频| 亚洲综合网在线| 婷婷婷久久久| 欧美性色五月天| 久久婷色| 欧美啪啪五月天| 99人碰碰碰| 精品成人无码A片观看香草视频 | 97久久精品| 99久久99九九九99九他书对| 另类综合婷婷五月天欧美视频| 婷婷五月激情综合| 久久sp免费视频| 五月四色婷婷| 99精品热| 久久综合色五月| 丁香五月婷婷激情小说| 欧美人妻一区二区| 色吧婷婷五月亚洲| 国内裸舞二区| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 第四色色六月色综合| 九九99久久| 成人无码精品1区2区3区免费看| 五月丁香天堂| 婷婷激情丁五月| 五月婷婷丁香| 日本啪啪天堂| 99在线资源| 色吊丝99| www.亚洲激情| 激情内射人妻1区2区3区| 欧日韩成人| 五月婷婷,狠狠操| 99久| 我要射综合| 色丁香久久| AV伊人青草丁香六月| 五月丁香香蕉| 五月天色色婷婷| 99热成人| 色yeye色综合| 99热免费在线| 97艹| 五月激情综合美女久久| 激情五月天色色色| 天天色天天爱天天爽| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 三级三久久线久久99久目本WW| 伊人热婷婷| www.深爱激情| 九月大香蕉| 五月天婷婷小说| 婷婷色基地在线看 | 2014天天爽| 开心激情站| 欧美美女国产日韩一区二区久| 久久伊人大香蕉| 激情五月天黄色小说| 久/久精品99看9| 丁香婷婷六月激情文学| 亚洲激情在线| 婷婷激情五月吧| 可以免费观看的av| 天天操夜夜啊| 久久99热网| 日本va视频| a级毛片一区二区免费视频| 深爱1激情网| 天天日日| 人人爱摸视频| 五月伊人婷婷999| 丁香久久综合| 99久久99视频只有精品| 超碰人人色| 婷婷五月激情欧美大胆视频| Www.Av网9| 色五月av| 99热这里在线精品| www.超碰| 999影院成人在线影院| 4399伦理午夜| www.五月婷婷| 五月情四婷婷| 五月激情综合网婷婷| 少妇综合网| 国产欧美日韩性爱| 丁香五月天视频| 色婷五月天综合网| 成人毛片在线免费观看| 色五月综合在线| 国产精品久久久60086| 操逼综合激情网| 日本婷久久| 激情五月综合色| 91精选国| 成片免费观看视频大全| 六月色日韩| 亚洲国产另类av| 色五月在线观看| 日韩无码人妻一区二区三区综合 | 久久最新色色色| 草榴视频黄色网| 337p大胆噜噜噜噜噜91Av| 丁香五月激情天AV无码| 欧美人人草草| 亚洲中文av| 丁香五月婷婷色| 色色五月婷| 一级片操逼视频| 影音先锋色婷婷| 欧美性爱5月天天天看| 激情综合色婷婷啪啪六月天| 日本欧美成人片AAAA| 国产一区男女| 色色色综合色| 天天肏天天舔AV| 亚州色婷婷| 丁香五月综合在线观看| 久久久人妻久久久| 九九伦子片| 97色色婷婷| 日韩一区二区三区无码| 婷婷激情视频| 青青操日本摸摸看看| 人妻熟妇国产精品| 丁香五月亚综合图片| 婷婷天天舔| 丁香久久综合| www.com在线操视频免费观看| 人妻AV在线| 久热免费视频| 六月婷婷国产| 婷婷五月天AV网| 99精品久久久久久久| 亚洲中文字幕在线电影| 色久天| 色九亚洲| 九九精品免费| 婷婷五月丁香基| 天天曰夜夜爽| 人人妻人人澡| 亚洲激情六月| 激情五月婷婷综合网| 六月婷婷五月丁香| 久久久ww| 日韩精品一区二区亚洲AV观看 | 99.色| 大香蕉久久伊人婷婷五月丁香| 吊色AV男人的天堂| 丁香狠狠操| 久99婷婷色综合| 婷婷成人基地| 五月天偷拍| 久久网日本| 亚州操操| 色综合中文| 国产精品VA在线| www,99热| 五月丁香色六月激情干大屄| 五月丁香六月激情综合在线| 五月丁香狠狠爱婷婷综合| 婷婷五月精品中文字幕| 超碰97久久| 97超级操操| 男人的天堂av俄罗斯热| 大鸡巴伊人网| 亚洲色区17| 99久久超级| 色情激情五月婷婷| 五月丁香在线观看国产| 亚洲深喉AV| 色婷婷成人色网| 中文字幕不卡网站| 男人先锋久久| 色婷婷狠狠久久综合五月| 久久婷婷网址| 欧美日本不卡黄色片| 强奸幻女毛片| 色玖玖玖| 伊人色五月| 国产精品操| 色婷五月| 狠狠爱综合网| 天天激情视频| 婷婷香五月综合激情| 日在线V视频在线播放| 思思热热久久| 国产婷婷五月在线视频| 狠狠插日日干撸| 婷婷激情综合| 色五月激情网| 99在线观看| 欧美性猛交 XXXX 乱大交| 欧美色图片88| 天天综合网~91| 9热在线观看| 九九综合精品| 超碰资源在线| 日日天天天| 米奇影视五月天| 免费视频无码| 五月丁香婷婷基地| 开心五月婷婷| 婷婷激情五月天激情小说 | 激情久久四色| 久久久久人无码人妻| 五月成人综合| 97碰超级人人看| 天天做天天爱天天高潮| 国产高清av黄色看片| 碰人人操| 日本女va| 婷婷五月综合在线视频| 激情六月婷婷| 色婷婷狠狠| 九九aV| 韩国中文字幕91| 欧美超级视频97| 99高级会所久久| 成人精品99| 亚洲操人| 婷婷丁香红五月91C| www亚洲无码| 狠狠色狠狠干| 久久99热这里只有精品| 另类专区在线| 婷婷五月天免费99| 踪合专区啪啪| 亚洲乱码w在线观看| 99热免| 日本91在线播放| 国产精产国品一二三在观看| 天天插天天射天天干| 日韩抽插操逼| 激情五月综合婷婷| 精品人妻久久久久久| 久久免费干| 一级片sese片.COM| 丁香5月婷婷| 五月天婷婷久久视频| 视频在线免费观看欧洲乱码| 女性自慰系列第五页| 五月婷婷在线视频| 亚洲精品久久久久久久久久飞鱼| 成人版视频在线观看| 夜夜夜夜操| 91婷婷在线| 狠狠色狠狠色综合日日91| 亚洲激情av| www,99热| 日99网站| 久99综合婷婷| 国产婷婷五月在线视频| 国产成人精品一区二区三区视频| 玖玖激情五月天| www.婷婷,com| 九九热在线观看视频| 99久久精品国产色欲| 日本五月丁香| 亚洲中文乱字字幕在线永久| 婷婷激情五月视频| 国产色五月婷婷| 夜夜爱网站| 激情五月天综合网| 婷婷五月六月| 精品一二三区久久AAA片| 亚洲综合色色| 天堂综合久| 97热超碰| 人妻肉射免费观看| 五月婷视频| 婷婷香香五月| 丁香月六月| 亚洲欧美成人在线观看| 五月天婷爱综合| 丁香激情五月| 色吧五月| 色婷操逼| 变态另类9| 激情综合网五月丁香| 奇米四色五月天| 五月天久久综合婷婷丁香| 五月J香蕉婷婷| 色色色色热热| 亚洲五月天婷婷| 久艹大香蕉| 五月天丁香婷婷社区| yw.av| 五月六月婷婷| 婷婷综合玖玖五月| 美女妹子后射视频网站在线观看| 国产精品美女久久久久AV超清| 久久久精品99亚洲综合| 五月丁香777| 色综天天综合| 中文无码婷婷| 91Chinese在线| 久久这里只有精品8| 丁香熟女乱| 午夜精品777| 国产无套精品一区二区| www.色窝|