Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Перевод СlojurePy_1nav.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
774.32 Кб
Скачать

Асимметрия

Асимметрией называется смещение распределения относительно ее моды. Отрицательная асимметрия или левое смещение кривой указывает на то, что площадь под графиком больше на левой стороне моды. Положительная асимметрия или правое смещение кривой указывает на то, что площадь под графиком больше на правой с тороне моды.

Библиотека Pandas располагает функцией skew для измерения асимметрии:

def ex_1_20():

'''Получить коэффициент ассиметрии нормального распределения'''

s = dishonest_baker(950, 30)

return { 'среднее' : s.mean(),

'медиана' : s.median(),

'ассиметрия': s.skew() }

# {'ассиметрия': 0.4202176889083849,

# 'медиана': 998.7670301469957,

# 'среднее': 1000.059263920949}

Приведенный выше пример показывает, что коэффициент асимметрии в выпечке от нечестного булочника составляет порядка 0.4. Этот коэффициент количественно определяет степень скошенности, которая видна на гистограмме.

Графики нормального распределения

Ранее в этой главе мы познакомились с квантилями как средством описания статистического распределения данных. Напомним, что функция quantile принимает число между 0 и 1 и возвращает значение последовательности в этой точке. 0.5-квантиль соответствует значению медианы.

Изображение квантилей данных относительно квантилей нормального распределения позволяет увидеть, каким образом наши измеренные данные соотносятся с теоретическим распределением. Подобные графики называются квантильными графиками, или диаграммами квантиль-квантиль, графиками Q-Q, от англ. Q-Q plot. Они предоставляют быстрый и интуитивно понятный способ определить степень нормальности статистического распределения. Для данных, которые близки к нормальному распределению, квантильный график покажет прямую линию. Отклонения от прямой линии показывают, каким образом данные отклоняются от идеализированного нормального распределения.

Теперь построим квантильные графики для честного и нечестного булочников. Функция qqplot принимает список точек данных и формирует точечный график выборочных квантилей, отображаемых на графике относительно квантилей из теоретического нормального распределения:

def qqplot( xs ):

'''Квантильный график (график квантиль-квантиль, Q-Q plot)'''

d = {0:sorted(stats.norm.rvs(loc=0, scale=1, size=len(xs))),

1:sorted(xs)}

pd.DataFrame(d).plot.scatter(0, 1, s=5, grid=True)

df.plot.scatter(0, 1, s=5, grid=True)

plt.xlabel('Квантили теоретического нормального распределения')

plt.ylabel('Квантили данных')

plt.title ('Квантильный график', fontweight='semibold')

def ex_1_21():

'''Показать квантильные графики

для честного и нечестного булочников'''

qqplot( honest_baker(1000, 30) )

plt.show()

qqplot( dishonest_baker(950, 30) )

plt.show()

Приведенный выше пример создаст следующие ниже графики:

Выше показан квантильный график для честного булочника. Далее идет квантильный график для нечестного булочника:

Тот факт, что линия имеет изогнутую форму, показывает, что данные положительно асимметричны; наклон в другую сторону будет означать отрицательную асимметрию. Квантильный график в сущности позволяет легко различить целый ряд отклонений от стандартного нормального распределения, как показано на следующем ниже рисунке:

Надписи: нормально распределенные, тяжелые хвосты, легкие хвосты, скошенность влево, скошенность вправо, раздельные кластеры

Квантильные графики сопоставляют статистическое распределение честного и нечестного булочника с теоретическим нормальным распределением. В следующем разделе мы сравним несколько альтернативных способов визуального сопоставления двух (или более) измеренных последовательностей значений.