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


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


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

用法:

scipy.stats.ppcc_plot(x, a, b, dist='tukeylambda', plot=None, N=80)#

計算並可選地繪製概率圖相關係數。

概率圖相關係數 (PPCC) 圖可用於確定單參數分布族的最佳形狀參數。它不能用於沒有形狀參數的分布(如正態分布)或具有多個形狀參數的分布。

默認情況下使用 Tukey-Lambda 分布 (stats.tukeylambda)。 Tukey-Lambda PPCC 圖通過近似正態分布從長尾分布插值到 short-tailed 分布,因此在實踐中特別有用。

參數

x array_like

輸入數組。

a, b 標量

要使用的形狀參數的下限和上限。

dist str 或 stats.distributions 實例,可選

分布或分布函數名稱。看起來足夠像 stats.distributions 實例的對象(即它們具有 ppf 方法)也被接受。默認為 'tukeylambda'

plot 對象,可選

如果給定,則根據形狀參數繪製 PPCC。陰謀是一個必須具有方法 “plot” 和 “text” 的對象。這matplotlib.pyplot可以使用模塊或 Matplotlib Axes 對象,或具有相同方法的自定義對象。默認為無,這意味著不創建繪圖。

N 整數,可選

水平軸上的點數(從 a 到 b 均勻分布)。

返回

svals ndarray

計算 ppcc 的形狀值。

ppcc ndarray

計算出的概率圖相關係數值。

參考

J.J. Filliben,“正態性概率圖相關係數檢驗”,技術計量學,卷。 17,第 111-117 頁,1975 年。

例子

首先,我們從形狀參數為 2.5 的 Weibull 分布生成一些隨機數據,並繪製數據的直方圖:

>>> import numpy as np
>>> from scipy import stats
>>> import matplotlib.pyplot as plt
>>> rng = np.random.default_rng()
>>> c = 2.5
>>> x = stats.weibull_min.rvs(c, scale=4, size=2000, random_state=rng)

看一下數據的直方圖。

>>> fig1, ax = plt.subplots(figsize=(9, 4))
>>> ax.hist(x, bins=50)
>>> ax.set_title('Histogram of x')
>>> plt.show()
scipy-stats-ppcc_plot-1_00_00.png

現在我們使用 PPCC 圖以及相關的概率圖和Box-Cox normplot 來探索這些數據。在我們期望 PPCC 值最大的地方畫了一條紅線(在上麵使用的形狀參數 c 處):

>>> fig2 = plt.figure(figsize=(12, 4))
>>> ax1 = fig2.add_subplot(1, 3, 1)
>>> ax2 = fig2.add_subplot(1, 3, 2)
>>> ax3 = fig2.add_subplot(1, 3, 3)
>>> res = stats.probplot(x, plot=ax1)
>>> res = stats.boxcox_normplot(x, -4, 4, plot=ax2)
>>> res = stats.ppcc_plot(x, c/2, 2*c, dist='weibull_min', plot=ax3)
>>> ax3.axvline(c, color='r')
>>> plt.show()
scipy-stats-ppcc_plot-1_01_00.png

相關用法


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