本文簡要介紹 python 語言中 scipy.stats.median_abs_deviation
的用法。
用法:
scipy.stats.median_abs_deviation(x, axis=0, center=<function median>, scale=1.0, nan_policy='propagate')#
計算沿給定軸的數據的中值絕對偏差。
中位數絕對偏差 (MAD, [1]) 計算中位數與中位數的絕對偏差。它是一種類似於標準偏差的離散度度量,但對異常值更穩健[2]。
空數組的 MAD 是
np.nan
。- x: array_like
可以轉換為數組的輸入數組或對象。
- axis: int 或無,可選
計算範圍的軸。默認值為 0。如果沒有,則計算整個數組的 MAD。
- center: 可調用的,可選的
將返回中心值的函數。默認是使用 np.median。使用的任何用戶定義函數都需要具有函數簽名
func(arr, axis)
。- scale: 標量或 str,可選
比例的數值將被從最終結果中除掉。默認值為 1.0。字符串 “normal” 也被接受,並導致規模是標準正態分位數函數 0.75 的倒數,約為 0.67449。類似數組的縮放也是允許的,隻要它正確地廣播到輸出,這樣
out / scale
是一個有效的操作。輸出維度取決於輸入數組,x, 和軸爭論。- nan_policy: {‘propagate’, ‘raise’, ‘omit’},可選
定義當輸入包含 nan 時如何處理。以下選項可用(默認為‘propagate’):
‘propagate’:返回 nan
‘raise’:引發錯誤
‘omit’:執行忽略 nan 值的計算
- mad: 標量或 ndarray
如果
axis=None
,則返回一個標量。如果輸入包含精度小於np.float64
的整數或浮點數,則輸出數據類型為np.float64
。否則,輸出數據類型與輸入數據類型相同。
參數 ::
返回 ::
注意:
中央參數僅影響計算 MAD 所圍繞的中心值的計算。也就是傳入
center=np.mean
將圍繞平均值計算 MAD - 它不會計算意思是絕對偏差。輸入數組可能包含 inf,但如果 center 返回 inf,則該數據對應的 MAD 將為 nan。
參考:
[1]“Median absolute deviation”,https://en.wikipedia.org/wiki/Median_absolute_deviation
[2]“強有力的規模測量”,https://en.wikipedia.org/wiki/Robust_measures_of_scale
例子:
將
median_abs_deviation
的行為與np.std
進行比較時,當我們將數組的單個值更改為具有離群值時,後者會受到影響,而 MAD 幾乎沒有變化:>>> import numpy as np >>> from scipy import stats >>> x = stats.norm.rvs(size=100, scale=1, random_state=123456) >>> x.std() 0.9973906394005013 >>> stats.median_abs_deviation(x) 0.82832610097857 >>> x[0] = 345.6 >>> x.std() 34.42304872314415 >>> stats.median_abs_deviation(x) 0.8323442311590675
軸處理示例:
>>> x = np.array([[10, 7, 4], [3, 2, 1]]) >>> x array([[10, 7, 4], [ 3, 2, 1]]) >>> stats.median_abs_deviation(x) array([3.5, 2.5, 1.5]) >>> stats.median_abs_deviation(x, axis=None) 2.0
縮放正常示例:
>>> x = stats.norm.rvs(size=1000000, scale=2, random_state=123456) >>> stats.median_abs_deviation(x) 1.3487398527041636 >>> stats.median_abs_deviation(x, scale='normal') 1.9996446978061115
相關用法
- Python SciPy stats.median_absolute_deviation用法及代碼示例
- Python SciPy stats.median_test用法及代碼示例
- Python SciPy stats.multiscale_graphcorr用法及代碼示例
- Python SciPy stats.multivariate_normal用法及代碼示例
- Python SciPy stats.multivariate_hypergeom用法及代碼示例
- Python SciPy stats.mode用法及代碼示例
- Python SciPy stats.monte_carlo_test用法及代碼示例
- Python SciPy stats.multivariate_t用法及代碼示例
- Python SciPy stats.matrix_normal用法及代碼示例
- Python SciPy stats.mood用法及代碼示例
- Python SciPy stats.moyal用法及代碼示例
- Python SciPy stats.maxwell用法及代碼示例
- Python SciPy stats.mvsdist用法及代碼示例
- Python SciPy stats.moment用法及代碼示例
- Python SciPy stats.multinomial用法及代碼示例
- Python SciPy stats.mielke用法及代碼示例
- Python SciPy stats.mannwhitneyu用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
- Python SciPy stats.iqr用法及代碼示例
- Python SciPy stats.genpareto用法及代碼示例
- Python SciPy stats.skewnorm用法及代碼示例
- Python SciPy stats.cosine用法及代碼示例
- Python SciPy stats.norminvgauss用法及代碼示例
- Python SciPy stats.directional_stats用法及代碼示例
- Python SciPy stats.invwishart用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.median_abs_deviation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。