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


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


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

用法:

scipy.stats.circvar(samples, high=6.283185307179586, low=0, axis=None, nan_policy='propagate')#

計算假設在一個範圍內的樣本的循環方差。

參數

samples array_like

輸入數組。

high float 或 int,可選

樣本範圍的上限。默認為 2*pi

low float 或 int,可選

樣本範圍的下限。默認值為 0。

axis 整數,可選

計算方差的軸。默認值是計算展平數組的方差。

nan_policy {‘propagate’, ‘raise’, ‘omit’},可選

定義當輸入包含 nan 時如何處理。 ‘propagate’ 返回 nan,‘raise’ 引發錯誤,‘omit’ 執行忽略 nan 值的計算。默認為‘propagate’。

返回

circvar 浮點數

循環方差。

注意

這使用以下循環方差的定義: 1-R ,其中 R 是平均合成向量。返回值的範圍為[0, 1],0表示無方差,1表示方差較大。在小角度的限製下,該值類似於‘linear’方差的一半。

參考

[1]

費希爾,NI循環數據的統計分析。劍橋大學出版社,1993。

例子

>>> import numpy as np
>>> from scipy.stats import circvar
>>> import matplotlib.pyplot as plt
>>> samples_1 = np.array([0.072, -0.158, 0.077, 0.108, 0.286,
...                       0.133, -0.473, -0.001, -0.348, 0.131])
>>> samples_2 = np.array([0.111, -0.879, 0.078, 0.733, 0.421,
...                       0.104, -0.136, -0.867,  0.012,  0.105])
>>> circvar_1 = circvar(samples_1)
>>> circvar_2 = circvar(samples_2)

繪製樣本。

>>> fig, (left, right) = plt.subplots(ncols=2)
>>> for image in (left, right):
...     image.plot(np.cos(np.linspace(0, 2*np.pi, 500)),
...                np.sin(np.linspace(0, 2*np.pi, 500)),
...                c='k')
...     image.axis('equal')
...     image.axis('off')
>>> left.scatter(np.cos(samples_1), np.sin(samples_1), c='k', s=15)
>>> left.set_title(f"circular variance: {np.round(circvar_1, 2)!r}")
>>> right.scatter(np.cos(samples_2), np.sin(samples_2), c='k', s=15)
>>> right.set_title(f"circular variance: {np.round(circvar_2, 2)!r}")
>>> plt.show()
scipy-stats-circvar-1.png

相關用法


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