如何計算一組三維空間角度數據的方差(或者說離散程度)?
01-07
其實問題可以等價成「單位球球面上的數據點離散程度應該如何刻畫」離散程度小的時候直接用平面近似就行了。大的時候,其實「方差」的概念已經不合適了。「方差」概念的引入,其實基於對數據的兩個假設:
1.數據的偏差位置在概率上滿足正態分布。
2.每個數據點的偶然偏差正態分布的σ是相同的。雖然實際中往往人們強行用方差仍然能得到還不錯的結果。但嚴格的來說,只有在以上兩個條件滿足的時候,方差才能表示離散程度。=============下面以一維為例做個解釋:我們測了三次某物的長度,測量結果為x1、x2、x3,但是我們深知除了這個物體本身的固有原因,溫度變化導致的熱脹冷縮、測量誤差等很多原因,均會對測量值造成影響。我們想知道如下兩個數據:1.下次測量時,得到哪個數的概率密度最大?2.那些造成測量值波動的因素,它們到底有多大?在通常情況下(滿足前面說的兩個條件),第一個問題的結果是「平均數」,第二個問題的結果是「方差」。推導如下:
測量值是有固定值x0和變化值Δx相加得到的。Δx是有很多獨立的微小的影響因素疊加而成的,可以用隨機行走的概率分布模擬。易證在平直空間中這個分布為正態分布g(x)=exp-((x-x0)/σ)2,由問題本身的物理背景可以基本確定三次測量中這個σ相同。由於x0和σ的具體值是不可知的,我們試圖得到一個x0"和σ"使得實際值等於它們的概率最大。那麼,也就是說,我們要使得exp-((x1-x0")/σ)2 × exp-((x2-x0")/σ)2 × exp-((x3-x0")/σ)2 的值最大。由於σ相同,所以也就是說問題等價於選取x0"使得(x1-x0")2+(x2-x0")2+(x3-x0")2的值最小。故x0"=(x1+x2+x3)/3 。x0"為x0的概率分布極大值。也就是我們說的「平均數」。同時,我們也用(x1-x0")2+(x2-x0")2+(x3-x0")2來定義了殘差(乘常數項不造成影響)
s≡?[(x1-x0")2+(x2-x0")2+(x3-x0")2]易證s同樣為σ2的概率極大值。===========我們也可以用同樣的方法得到二維的線性擬合公式——恩就是教科書上教我們的那個。同樣思想,就是找實際斜率和截距的概率最大值。===========但是球面上這就出問題了,因為球面上的隨機行走結果分布它不!是!正!態!分!布!所以說「方差」的概念已經不存在了,我們需要根據球面隨機行走的分布函數重新定義一個參數來作為離散度指標。=============這也是同樣此問題不能用協方差的原因,協方差計算方法是有適用範圍的,空間不是平直的時候不能亂用。如果用協方差矩陣計算的話,計算兩組數據A和B,A為一些離散程度小的點和一些離散程度很大的點,B所有的點都離散程度適中。在本模型中由於空間非平直,用協方差計算會低估A的離散程度,而高估B的離散程度。
可以參考下一維數據求方差1.求平均向量,因為向量的模可能不相等,所以先進行歸一化,然後計算每一維度的平均數,最後得到平均向量。這個歸一化操作可以保證每個向量獲得的權重都是一樣的2.計算角度差,角度差可以利用向量內積定義也就是餘弦定理來算,3.計算方差,最後方差就很容易根據這堆角度差算出來具體方法如下圖,希望能幫到你剛才想了一下求平均向量那個方法是不是有問題,直接將兩個向量的三個坐標求平均數的結果是不是將兩個向量形成的角度等分,在二維空間里正好就是菱形的對角線,平分頂角是真的,擴展到三維空間應該也是成立的。
總結一下現有的兩種方法:
第一種來自 @野合菌 在 @黑羽翼 答案下的評論:用一個 Von Mises-Fisher distribution 來擬合數據,用分布的參數 來衡量分布的分散程度。這種方法的理論比較優美,但參數估計的計算比較困難。
第二種方法是 @裝飾你的風景(為什麼知乎的@功能突然失效了)的答案:計算數據的平均值所在的角度,然後計算各個數據點的方向與「平均角度」的夾角,用這些夾角的平方和來衡量分布的分散程度。這種方法在理論上顯得比較隨意,不過計算比較容易。
什麼是三維空間角度?立體角么?那不就是純數?
有答主說了多元向量的隨機性用協方差矩陣進行衡量,其實應該可以套用廣義方差(GV),也就是det(covariance matrix)
pca……
多維向量的離散程度用協方差矩陣進行評價。
角度數據……沒聽說過有什麼評價標準,是要自己造嗎?我的想法是用單位球上的數據點到數據集重心的歐氏距離當做方差公式中的X-E(X)。推薦閱讀:
※在n維空間中有s條直線,那麼它們之間最小的夾角最大可以達到多少?
※如何證明三角形兩邊之和大於第三邊?
※如何判斷兩條軌跡(或曲線)的相似度?
※U3d開發中大部分事件都是用數學進行計算判定的嗎?
※為什麼對球的體積公式進行求導會得到球的表面積公式?