當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy stats.directional_stats用法及代碼示例


本文簡要介紹 python 語言中 scipy.stats.directional_stats 的用法。

用法:

scipy.stats.directional_stats(samples, *, axis=0, normalize=True)#

計算方向數據的樣本統計量。

計算向量樣本的方向平均值(也稱為平均方向向量)和平均合成長度。

方向平均值是矢量數據“preferred direction”的度量。它類似於樣本均值,但它適用於數據長度不相關的情況(例如單位向量)。

平均合成長度是一個介於 0 和 1 之間的值,用於量化定向數據的色散:平均合成長度越小,色散越大。 [1] 和 [2] 中給出了涉及平均合成長度的方向方差的幾個定義。

參數

samples array_like

輸入數組。必須至少是二維的,並且輸入的最後一個軸必須與向量空間的維數相對應。當輸入恰好是二維時,這意味著數據的每一行都是向量觀察。

axis 整數,默認值:0

計算方向平均值的軸。

normalize: boolean, default: True

如果為 True,則對輸入進行歸一化以確保每個觀測值都是單位向量。如果觀測值已經是單位向量,請考慮將其設置為 False 以避免不必要的計算。

返回

res DirectionalStats

包含屬性的對象:

mean_direction ndarray

方向平均值。

mean_resultant_length ndarray

平均合成長度[1]。

注意

這使用了[1]中的方向平均值的定義。假設觀測值是單位向量,計算如下。

mean = samples.mean(axis=0)
mean_resultant_length = np.linalg.norm(mean)
mean_direction = mean / mean_resultant_length

該定義適用於方向數據(即與每個觀測值的大小無關的矢量數據),但不適用於軸向數據(即與每個觀測值的大小和符號無關的矢量數據)。

涉及平均合成長度的方向方差的幾種定義R已提出建議,包括1 - R [1],1 - R**2 [2], 和2 * (1 - R) [2]。該函數不是選擇一個,而是返回R作為屬性mean_resultant_length這樣用戶就可以計算他們首選的色散度量。

參考

[1] (1,2,3,4)

瑪迪亞、朱普。 (2000)。方向統計(第 163 頁)。威利。

例子

>>> import numpy as np
>>> from scipy.stats import directional_stats
>>> data = np.array([[3, 4],    # first observation, 2D vector space
...                  [6, -8]])  # second observation
>>> dirstats = directional_stats(data)
>>> dirstats.mean_direction
array([1., 0.])

相反,向量的常規樣本均值會受到每個觀測值大小的影響。此外,結果不會是單位向量。

>>> data.mean(axis=0)
array([4.5, -2.])

一個示例性用例directional_stats就是找到一個有意義的球體上一組觀測值的中心,例如地理位置。

>>> data = np.array([[0.8660254, 0.5, 0.],
...                  [0.8660254, -0.5, 0.]])
>>> dirstats = directional_stats(data)
>>> dirstats.mean_direction
array([1., 0., 0.])

另一方麵,常規樣本平均值產生的結果並不位於球體的表麵上。

>>> data.mean(axis=0)
array([0.8660254, 0., 0.])

該函數還返回平均結果長度,可用於計算方向方差。例如,使用[2]中的定義Var(z) = 1 - R,其中R是平均結果長度,我們可以將上例中向量的方向方差計算為:

>>> 1 - dirstats.mean_resultant_length
0.13397459716167093

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.directional_stats。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。