scipy.stats.
order_statistic#
- scipy.stats.order_statistic(X, /, *, r, n)[source]#
順序統計量的機率分布
返回一個隨機變數,該變數遵循隨機變數 \(X\) 的 \(n\) 個觀測樣本中第 \(r^{\text{th}}\) 個順序統計量的底層分布。
- 參數:
- XContinuousDistribution
隨機變數 \(X\)
- rarray_like
順序統計量 \(r\) 的(正整數)秩
- narray_like
(正整數)樣本大小 \(n\)
- 返回:
- YContinuousDistribution
一個隨機變數,該變數遵循指定順序統計量的分布。
註解
如果我們對連續隨機變數 \(X\) 進行 \(n\) 次觀測,並將它們按遞增順序排序 \(X_{(1)}, \dots, X_{(r)}, \dots, X_{(n)}\),則 \(X_{(r)}\) 被稱為第 \(r^{\text{th}}\) 個順序統計量。
如果底層數學式:X 的 PDF、CDF 和 CCDF 分別表示為 \(f\)、\(F\) 和 \(F'\),則底層數學式:X_{(r)} 的 PDF 由下式給出
\[f_r(x) = \frac{n!}{(r-1)! (n-r)!} f(x) F(x)^{r-1} F'(x)^{n - r}\]底層 \(X_{(r)}\) 分布的 CDF 和其他方法是使用 \(X = F^{-1}(U)\) 這個事實計算出來的,其中 \(U\) 是標準均勻隨機變數,並且 U 的觀測值的順序統計量遵循 beta 分布 \(B(r, n - r + 1)\)。
參考文獻
[1]順序統計量。維基百科。 https://en.wikipedia.org/wiki/Order_statistic
範例
假設我們對從標準常態分佈中抽取的五個樣本大小的順序統計量感興趣。繪製每個順序統計量的底層 PDF,並與來自模擬的標準化直方圖進行比較。
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import stats >>> >>> X = stats.Normal() >>> data = X.sample(shape=(10000, 5)) >>> sorted = np.sort(data, axis=1) >>> Y = stats.order_statistic(X, r=[1, 2, 3, 4, 5], n=5) >>> >>> ax = plt.gca() >>> colors = plt.rcParams['axes.prop_cycle'].by_key()['color'] >>> for i in range(5): ... y = sorted[:, i] ... ax.hist(y, density=True, bins=30, alpha=0.1, color=colors[i]) >>> Y.plot(ax=ax) >>> plt.show()