boxcox_normplot#
- scipy.stats.boxcox_normplot(x, la, lb, plot=None, N=80)[источник]#
Вычислить параметры для графика нормальности Бокса-Кокса, при необходимости отобразить его.
График нормальности Бокса-Кокса графически показывает, какой наилучший параметр преобразования использовать в
boxcoxдля получения распределения, близкого к нормальному.- Параметры:
- xarray_like
Входной массив.
- la, lbскаляр
Нижняя и верхняя границы для
lmbdaзначения для передачи вboxcoxдля преобразований Бокса-Кокса. Это также пределы горизонтальной оси графика, если он генерируется.- plotобъект, опционально
Если задано, строит квантили и линию наименьших квадратов. plot является объектом, который должен иметь методы "plot" и "text".
matplotlib.pyplotмодуль или объект Matplotlib Axes можно использовать, или пользовательский объект с теми же методами. По умолчанию None, что означает, что график не создается.- Nint, необязательный
Количество точек на горизонтальной оси (равномерно распределённых от la to lb).
- Возвращает:
- lmbdasndarray
The
lmbdaзначения, для которых было выполнено преобразование Бокса-Кокса.- ppccndarray
Коэффициент корреляции вероятностного графика, полученный из
probplotпри подгонке преобразованного по Боксу-Коксу ввода x против нормального распределения.
Смотрите также
Примечания
Даже если plot указан, рисунок не отображается и не сохраняется
boxcox_normplot;plt.show()илиplt.savefig('figname.png')следует использовать после вызоваprobplot.Примеры
>>> from scipy import stats >>> import matplotlib.pyplot as plt
Сгенерируйте некоторые данные, не распределенные нормально, и создайте график Бокса-Кокса:
>>> x = stats.loggamma.rvs(5, size=500) + 5 >>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> prob = stats.boxcox_normplot(x, -20, 20, plot=ax)
Определить и построить оптимальный
lmbdaпреобразоватьxи построить его на том же графике:>>> _, maxlog = stats.boxcox(x) >>> ax.axvline(maxlog, color='r')
>>> plt.show()