ppcc_max#
- scipy.stats.ppcc_max(x, brack=Lim (1) 1.0), dist='tukeylambda')[источник]#
Вычислить параметр формы, который максимизирует PPCC.
График коэффициента корреляции вероятностного графика (PPCC) может использоваться для определения оптимального параметра формы для однопараметрического семейства распределений.
ppcc_maxвозвращает параметр формы, который максимизирует коэффициент корреляции вероятностного графика для данных к однопараметрическому семейству распределений.- Параметры:
- xarray_like
Входной массив.
- brackкортеж, необязательный
Тройка (a,b,c), где (a
scipy.optimize.brent).- diststr или экземпляр stats.distributions, опционально
Имя распределения или функции распределения. Объекты, достаточно похожие на экземпляр stats.distributions (т.е. имеющие
ppfmethod) также принимаются. По умолчанию'tukeylambda'.
- Возвращает:
- shape_valuefloat
Параметр формы, при котором коэффициент корреляции вероятностного графика достигает своего максимального значения.
Примечания
Ключевое слово brack служит отправной точкой, что полезно в крайних случаях. Можно использовать график для получения грубой визуальной оценки местоположения максимума, чтобы начать поиск рядом с ним.
Ссылки
[1]J.J. Filliben, "The Probability Plot Correlation Coefficient Test for Normality", Technometrics, Vol. 17, pp. 111-117, 1975.
[2]Инженерный справочник по статистике, NIST/SEMATEC, https://www.itl.nist.gov/div898/handbook/eda/section3/ppccplot.htm
Примеры
Сначала мы генерируем случайные данные из распределения Вейбулла с параметром формы 2.5:
>>> 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)
Сгенерировать график PPCC для этих данных с распределением Вейбулла.
>>> fig, ax = plt.subplots(figsize=(8, 6)) >>> res = stats.ppcc_plot(x, c/2, 2*c, dist='weibull_min', plot=ax)
Мы вычисляем значение, в котором форма должна достичь максимума, и там рисуется красная линия. Линия должна совпадать с самой высокой точкой на графике PPCC.
>>> cmax = stats.ppcc_max(x, brack=(c/2, 2*c), dist='weibull_min') >>> ax.axvline(cmax, color='r') >>> plt.show()