Netflix:通过可视化和统计学改进用户QoE
本文來自Netflix的技術博客,文章介紹了如何通過統計學的方法來減少播放緩沖時間或減少碼率。LiveVideoStack對原文進行了摘譯。
文 / Martin Tingley
譯 / 元寶
審校 / Ant
原文 https://medium.com/netflix-techblog/streaming-video-experimentation-at-netflix-visualizing-practical-and-statistical-significance-7117420f4e9a
Netflix的流媒體視頻實驗旨在優化我們向全球1.3億會員流式傳輸的視頻的體驗質量(簡稱QoE)。為了衡量QoE,我們會查看每個回放會話的各種指標,包括播放延遲; 重新緩沖(視頻緩沖區清空時的播放中斷)出現比率,播放錯誤和用戶啟動的中止; 整個播放時的平均比特率; 和視頻多方法評估融合,這是Netflix開發的感知視頻質量的衡量標準。
我們的許多實驗都是“系統測試”:短期運行(數小時到一周)的A / B實驗,旨在改善一個QoE指標而不會降低其他指標。例如,我們可以測試自適應流式算法的生產配置,該算法根據設備性能選擇視頻質量,基于Netflix計劃層的分辨率限制和針對新參數配置的時變網絡條件,它旨在減少播放延遲而不降低其他度量。雖然一次新的生產體驗推出的每項測試可能只會逐步改善一個或兩個QoE指標,并且僅針對某些成員,但隨著時間的推移,對于我們所有的不同成員來說,逐漸累積的影響使得我們有效提供大規模高質量流視頻的能力在穩步提升。
這些流式實驗中的處理效果在網絡條件和其他因素方面往往是異構的。作為示例,我們可能是旨在通過預測預先緩存視頻的前幾秒來減少播放延遲,我們的算法預測該成員最有可能發揮作用。這種創新可能對我們在高質量網絡中觀察到的短暫播放延遲產生很小的影響——但它可能會導致在低吞吐量或不穩定網絡中的播放延遲顯著減少。
由于流式實驗中的處理可能對給定度量的高(或低)值產生更大的影響,因此平均值,中位數或其他匯總統計數據的變化通常不足以來說明測試處理以及如何來改變該指標的行為。 一般而言,我們感興趣的是相關指標的分布在測試體驗(在Netflix中稱為“單元格”) 之間的差異。我們的目標是建立一個推理和可視化解決方案,同時指出分布的哪些部分已經發生變化,以及這些變化的實質和統計意義。
我們已經成功地總結了測試單元中度量的分布,以及這些分布在單元之間的差異,使用分位數函數和分位數函數之間的差異,以及來自快速自舉程序的不確定性。我們工程的同事很快就適應了通過分位數函數報告的測試結果,因為他們可以從熟悉的概念中挖掘出預先存在的方法。
分位數函數
分位數函數Q(τ)是給定隨機變量的累積分布函數的倒數。它接受概率τ(在0和1之間)作為參數并返回閾值,使得在繪制隨機變量時要以概率τ小于該值。從形式上看,
其中F(x)是隨機變量X的累積分布函數。Q(0.50)返回中位值,Q(0.95)返回百分之95分位數,等等。
分位數函數是總結分布的好方法,因為統計學家和非統計學家都對它們有相當多的描述。像中位數,十分位數和百分位數這樣的概念 - 分位數的所有特殊情況 - 都是大眾媒體報道經濟問題的主要內容(“ 你有多少百分比? ”)并且在標準化考試評分中很常見。
下面是一個模擬 示例(與實際值無關,并且y值被抑制) 可能由流式實驗產生的數據,旨在減少某些成員子集的播放延遲:
在此示例中,單元1對應于當前的生產經驗,而其他單元對應于三個建議的參數配置。注意,y軸以秒為單位,并且可以從圖中容易地讀取中值和其他熟悉的分位數的點估計值。在這種情況下,與單元1相比,單元1和4的分位數函數幾乎相同,而單元2和3的特征分別在播放延遲的所有分位數中減少和增加。
接下來,我們需要確定處理單元和控制單元之間的差異是否具有實際和統計學意義。
一個圖表中的實踐和統計意義
為了量化給定度量的在單元之間的分布是如何不同的,我們繪制每個處理單元分位數函數與當前生產經驗的分位數函數之間的差異(單元1)。
?
由于這些“delta deltale”圖的Y軸是度量的原始單位,我們對該度量的所有直覺都可以用來理解測試單元之間差異的實際意義。在上面的這個模擬示例中,單元2成功地減少了播放延遲:播放延遲的上分位數比單元1中的低約5秒,表明我們已經為經驗最差的觀眾改進了該度量。這是一個易于直觀的測試結果摘要。
為了量化分位數函數之間差異的統計顯著性,我們使用兩種不同的自舉程序。首先,為了理解生產體驗中的可變性,我們通過重新采樣(替換)兩次來自我引導該單元,在每種情況下估計分位數函數,然后計算delta分位數函數。重復此過程,然后計算置信區間作為τ的函數,得到上面繪制的不確定性包絡(下面有一些更多的技術細節)。提供了平衡的實驗設計,這些置信區間告訴我們delta分位數函數在零假設下的分布,即度量分布在測試單元中是不變的。
在我們的模擬播放延遲示例中,單元4的分位數函數與單元1的分位數函數無統計學意義。相比之下,與單元1相比,單元2和3分別具有統計上顯著的減少和大多數分位數的增加。上分位數的幅度差異最大。這種不確定性量化方法的一個優點是我們可以快速評估每種測試處理對生產經驗的重要性。缺點是不考慮處理分位數函數估計值的可變性。
作為第二個不確定性量化,在這種情況下,對于特定的delta分位數函數,我們通過從每個處理單元重新采樣(替換)來引導每個處理單元對生產單元; 估計分位數函數; 采取差異; 然后計算置信度包絡。即使樣品大小在細胞之間不同,該程序仍然有效,考慮到生產經驗和處理經驗的估計分位數函數的不確定性,并且如果處理單元中的不確定性將產生更寬,更保守的置信區間。分位數函數大于對照單元的分位數函數。缺點是在單個圖中可視化多個不確定性包絡變得難以駕馭。
以下是我們的模擬播放延遲示例中單元2和單元1分位數函數與不確定性包絡之間的差異:
這一個圖提供了顯著性的測試處理的統計(不確定性包)和實際(y軸是秒的單位)以及它們如何在分位數上變化的圖示。簡單的問題,例如“第95百分位變化了多少,變化是多少?”可以通過檢查來回答。
一些技術細節
我們的引導程序的兩個有趣的技術方面是重要性調整,以考慮跨多個分位數的比較,以及通過操作壓縮數據結構實現的速度增益。
多重比較。三角形分位數函數上的置信包絡最初是逐點計算的:對于τ的每個值,我們取自舉樣本的0.025和0.975百分位數。這樣的間隔在名義上具有覆蓋每個 τ 值的真實變化的概率為95%。我們想要的是同步或路徑方面的間隔,其特征在于不確定性包絡的標稱95%概率覆蓋整個真實函數。為了產生同時的不確定區間,我們根據Bonferroni校正調整逐點置信水平 - 使用delta-分位數函數的獨立值的數量的估計(參見索洛和波拉斯基,1994年):
這里,r(i,j)是在第i個和第j個值處評估的Δ分位數函數之間的樣本相關系數,在自舉樣本上計算,并且N是分位數函數的τ值的數量估計。注意,當N增加時,附近τ值的相關性r(i,j)同樣會增加,結果是Neq的值對于足夠大的N值飽和,并且同時不確定性包絡不會繼續變寬。N增加。
快速引導大數據。Netflix的流媒體實驗可能涉及數千萬個數據點,我們的目標是即時執行統計分析,因此報告可以是交互式的。因此,我們要求上述自舉程序非常快,即使在大型數據集上也是如此。
我們的方法是使用具有有限數量的唯一值的壓縮數據對象來近似每個測試單元的數據。特別地,我們使用單位間隔上的幾千個均勻間隔點來近似每個經驗分位數函數。直觀地,該近似假設度量的變化小于dQ(τ)= Q(τ+ 1 / N)-Q(τ) ,其中N是幾千階,但是沒有實際重要性。注意,dQ(τ)隨τ變化; 在播放延遲示例的上下文中,分布是右傾斜的,使得dQ(τ)隨τ增加。直觀地,我們假設游戲延遲的微小變化對于那些通常經歷短暫游戲延遲的成員來說可能是重要的,而對于習慣于長時間游戲延遲的那些成員來說,最小的實際重要變化要大得多。
然后將每個測試單元的數據表示為一組(值,計數)對,并且我們可以使用多項式的繪制來引導計數。通過利用多項式的泊松近似來實現進一步的速度增益,這是一種已經確定的自舉方法。
由于近似,自引導的計算成本與原始數據集的大小無關,而是通過用于近似原始的量化函數的惟一值的數量來設置。與原始數據的基數進行擴展的惟一步驟是壓縮步驟,在我們的實現中,它需要一個全局排序和線性近似。
大多數數據分級或壓縮方法(如直方圖或t-digest等數據草圖)都可用于大型數據集的快速自舉。在所有情況下,自舉所需的重采樣可以通過對多項式的泊松近似來實現。由于t-digest可以很容易地組合在一起,我們正在探索的下一步是預先計算可能對給定實驗感興趣的每個可能的維度過濾器組合的t-摘要,例如設備類型和Netflix訂閱計劃。當分析人員選擇特定的數據片段時,可以組合相關的t-摘要并將其用作快速自舉算法的輸入。
結論
分位數函數以及測試體驗之間的分位數函數的差異已被證明是有意義且直觀的工具,用于總結流測試體驗度量的分布(例如播放延遲或平均比特率)在測試體驗之間的差異。分位數和delta分位數函數的一個關鍵優勢是y軸處于度量的有意義單位:圖表很容易為我們的工程合作伙伴提供實際意義。通過從通過降低原始數據的基數實現的快速自舉得到的置信區間來提供統計顯著性。
這只是我們改進Netflix流媒體實驗的一種方式,而分位數函數只是我們某些指標的一個很好的總結。我們正在積極致力于比率,速率,零膨脹觀測和其他具有挑戰性的指標的快速自舉技術。我們研究的另一個方面涉及在一維或二維中擬合靈活的條件分位數函數,通過交叉驗證估計所需的正則化參數,并使用分布式“ 小包裝袋 ”估計不確定性。更多信息將在以后的帖子中提到。
總結
以上是生活随笔為你收集整理的Netflix:通过可视化和统计学改进用户QoE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刘文峰:让科技成就艺术创意
- 下一篇: LiveVideoStackCon讲师热