本文簡要介紹 python 語言中 scipy.stats.circstd
的用法。
用法:
scipy.stats.circstd(samples, high=6.283185307179586, low=0, axis=None, nan_policy='propagate', *, normalize=False)#
計算假定在 [低到高] 範圍內的樣本的循環標準偏差。
- 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’。
- normalize: 布爾值,可選
如果為 True,則返回值等於
sqrt(-2*log(R))
並且不依賴於變量單位。如果為 False(默認值),則返回值按((high-low)/(2*pi))
縮放。
- circstd: 浮點數
圓形標準偏差。
參數 ::
返回 ::
注意:
這使用了[1]中的圓形標準偏差的定義。本質上,計算如下。
import numpy as np C = np.cos(samples).mean() S = np.sin(samples).mean() R = np.sqrt(C**2 + S**2) l = 2*np.pi / (high-low) circstd = np.sqrt(-2*np.log(R)) / l
在小角度的限製下,它返回一個接近‘linear’標準差的數字。
參考:
[1]瑪迪亞,K.V. (1972)。 2. 在定向數據統計(第 18-24 頁)。學術出版社。DOI:10.1016/C2013-0-07425-7.
例子:
>>> import numpy as np >>> from scipy.stats import circstd >>> 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]) >>> circstd_1 = circstd(samples_1) >>> circstd_2 = circstd(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 std: {np.round(circstd_1, 2)!r}") >>> right.plot(np.cos(np.linspace(0, 2*np.pi, 500)), ... np.sin(np.linspace(0, 2*np.pi, 500)), ... c='k') >>> right.scatter(np.cos(samples_2), np.sin(samples_2), c='k', s=15) >>> right.set_title(f"circular std: {np.round(circstd_2, 2)!r}") >>> plt.show()
相關用法
- Python SciPy stats.circmean用法及代碼示例
- Python SciPy stats.circvar用法及代碼示例
- Python SciPy stats.cosine用法及代碼示例
- Python SciPy stats.chisquare用法及代碼示例
- Python SciPy stats.cumfreq用法及代碼示例
- Python SciPy stats.chi2用法及代碼示例
- Python SciPy stats.chi用法及代碼示例
- Python SciPy stats.cramervonmises用法及代碼示例
- Python SciPy stats.cauchy用法及代碼示例
- Python SciPy stats.combine_pvalues用法及代碼示例
- Python SciPy stats.crystalball用法及代碼示例
- Python SciPy stats.chi2_contingency用法及代碼示例
- Python SciPy stats.cramervonmises_2samp用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
- Python SciPy stats.iqr用法及代碼示例
- Python SciPy stats.genpareto用法及代碼示例
- Python SciPy stats.skewnorm用法及代碼示例
- Python SciPy stats.norminvgauss用法及代碼示例
- Python SciPy stats.directional_stats用法及代碼示例
- Python SciPy stats.invwishart用法及代碼示例
- Python SciPy stats.bartlett用法及代碼示例
- Python SciPy stats.levy_stable用法及代碼示例
- Python SciPy stats.page_trend_test用法及代碼示例
- Python SciPy stats.itemfreq用法及代碼示例
- Python SciPy stats.exponpow用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.circstd。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。