天天看點

Netflix:通過可視化和統計學改進使用者QoE

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/83007503

本文來自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流媒體實驗的一種方式,而分位數函數隻是我們某些名額的一個很好的總結。我們正在積極緻力于比率,速率,零膨脹觀測和其他具有挑戰性的名額的快速自舉技術。我們研究的另一個方面涉及在一維或二維中拟合靈活的條件分位數函數,通過交叉驗證估計所需的正則化參數,并使用分布式“ 小包裝袋 ”估計不确定性。更多資訊将在以後的文章中提到。

繼續閱讀