Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Решение задач теории вероятностей и математической статистики в Python

Покупка
Новинка
Артикул: 844133.01.99
Доступ онлайн
500 ₽
В корзину
Представлены задачи по теории вероятностей и математической статистике и их реализация на языке Python. Описана технология работы с модулями scipy.stats и statistics, приведены необходимые теоретические сведения и формулы для решения рассмотренных задач. Для оценки уровня усвоения студентами пройденного материала предложены варианты заданий для самостоятельной работы. Предназначено для бакалавров, обучающихся по направлениям подготовки 09.03.02 «Информационные системы и технологии», 22.03.01 «Материаловеде-ние и технологии материалов», 28.03.02 «Наноинженерия». Подготовлено на кафедре информатики и прикладной математики.
Титов, А. Н. Решение задач теории вероятностей и математической статистики в Python : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева ; Минобрнауки России, Казан. нац. исслед. технол. ун-т. - Казань : КНИТУ, 2022. - 144 с. - ISBN 978-5-7882-3251-5. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2172661 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации 
Казанский национальный исследовательский 
технологический университет 
А. Н. Титов, Р. Ф. Тазиева 
РЕШЕНИЕ ЗАДАЧ  
ТЕОРИИ ВЕРОЯТНОСТЕЙ
И МАТЕМАТИЧЕСКОЙ 
СТАТИСТИКИ В PYTHON 
Учебно-методическое пособие 
Казань 
Издательство КНИТУ 
2022 


УДК 519.21:004(075) 
ББК 22.171:32.97я7 
Т45 
Печатается по решению редакционно-издательского совета  
Казанского национального исследовательского технологического университета 
Рецензенты: 
д-р пед. наук, доц. Ю. В. Торкунова 
канд. экон. наук, доц. О. С. Семичева 
Т45 
Титов А. Н. 
Решение задач теории вероятностей и математической статистики 
в Python : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева; 
Минобрнауки России, Казан. нац. исслед. технол. ун-т. – Казань : 
Изд-во КНИТУ, 2022. – 144 с. 
ISBN 978-5-7882-3251-5 
Представлены задачи по теории вероятностей и математической статистике и их реализация на языке Python. Описана технология работы с модулями scipy.stats и statistics, приведены необходимые теоретические сведения 
и формулы для решения рассмотренных задач. Для оценки уровня усвоения 
студентами пройденного материала предложены варианты заданий для самостоятельной работы. 
Предназначено для бакалавров, обучающихся по направлениям подготовки 
09.03.02 «Информационные системы и технологии», 22.03.01 «Материаловедение и технологии материалов», 28.03.02 «Наноинженерия». 
Подготовлено на кафедре информатики и прикладной математики. 
УДК 519.21:004(075) 
ББК 22.171:32.97я7 
ISBN 978-5-7882-3251-5 
© Титов А. Н., Тазиева Р. Ф., 2022 
© Казанский национальный исследовательский 
технологический университет, 2022 
2


О Г Л А В Л Е Н И Е
Введение 
......................................................................................................................... 5 
1. ЗАДАЧИ ТЕОРИИ ВЕРОЯТНОСТЕЙ. РАБОТА С МОДУЛЕМ
SCIPY.STAT 
................................................................................................................... 7 
1.1. Дискретные случайные величины и их характеристики ....................... 7 
1.2. Статистические функции модуля scipy.stat для работы 
с дискретными случайными величинами ..................................................................... 9 
Задания для самостоятельной работы 
........................................................... 18 
1.3. Непрерывные случайные величины и их характеристики .................. 19 
1.3.1. Нормальный закон распределения ................................................. 21 
1.3.2. Логарифмически нормальное распределение ............................... 26 
1.3.3. Распределение Стьюдента 
............................................................... 29 
1.3.4. Распределение хи-квадрат ............................................................... 32 
1.3.5. Показательное (экспоненциальное) распределение ..................... 35 
1.3.6. Распределение Фишера–Снедекора ............................................... 37 
1.3.7. Гамма-распределение 
....................................................................... 40 
1.3.8. Бета-распределение 
.......................................................................... 43 
1.3.9. Распределение Накагами ................................................................. 48 
1.3.10. Распределение Коши 
...................................................................... 50 
1.3.11. Распределение Вейбулла ............................................................... 52 
Задания для самостоятельной работы 
........................................................... 55 
2. МАТЕМАТИЧЕСКАЯ СТАТИСТИКА. РАБОТА С МОДУЛЕМ
SCIPY.STATS .............................................................................................................. 58 
2.1. Вариационный, статистический  и интервальный ряды. 
Гистограмма и полигон частот. Эмпирическая функция распределения ............. 58 
2.2. Расчет выборочных характеристик статистического 
распределения. Точечные оценки 
.............................................................................. 67 
2.3. Интервальные оценки параметров распределений .............................. 78 
2.3.1. Доверительный интервал для математического ожидания ......... 79 
2.3.2. Построение доверительного интервала для дисперсии ............... 86 
2.4. Проверка гипотез ..................................................................................... 89 
2.4.1. F-критерий 
......................................................................................... 93 
2.4.2. t-критерий 
.......................................................................................... 94 
2.4.3. Критерий хи-квадрат Пирсона 
........................................................ 98 
2.4.4. Тест Шапиро–Уилка ...................................................................... 102 
2.4.5. Тест Андерсона–Дарлинга ............................................................ 105 
2.4.6. Критерий асимметрии. Тест skewtest() ........................................ 107 
3 


2.4.7. Критерий эксцесса. Тест kurtosistest() 
.......................................... 109 
2.4.8. Тест Д'Агостино и Пирсона .......................................................... 110 
2.4.9. Критерий Колмогорова–Смирнова 
............................................... 112 
Задания для самостоятельной работы 
......................................................... 115 
3. РАБОТА С МОДУЛЕМ PYTHON STATISTICS ............................................... 117 
3.1. Средние величины в statistics ............................................................... 117 
3.2. Характеристики рассеяния 
.................................................................... 126 
3.3. Класс NormalDist() ................................................................................. 131 
3.4. Ковариация и корреляция ..................................................................... 137 
Задания для самостоятельной работы 
......................................................... 141 
Литература ................................................................................................................. 142 
4 


В В Е Д Е Н И Е
На сегодняшний день Python является одним из наиболее востребованных языков программирования для анализа данных. Во многом это обусловлено тем, что, несмотря на свою относительную простоту, он является в то же время и очень мощным инструментом, которое позволяет решать широкий круг возникающих на практике задач. Python имеет встроенную библиотеку описательной статистики, 
не требующую отдельной загрузки (модуль statistics). Модуль statistics 
предоставляет функции для вычисления математической статистики 
числовых (вещественных) данных. Им удобно пользоваться, если 
наборы данных не слишком велики или если вы не хотите импортировать другие библиотеки. Если же набор функций этого модуля недостаточен, то для анализа данных в Python имеется достаточно много 
открытых постоянно пополняемых библиотек. В 2001 г. Трэвис Олифант, Эрик Джонс и Пиару Петерсон объединили написанный ими код 
и назвали получившийся пакет SciPy. SciPy  – это библиотека Python 
с открытым исходным кодом, предназначенная для решения научных 
и математических задач. Библиотека SciPy в основном написана на 
Python и частично на языках C, C++ и Fortran, поэтому отличается высокой производительностью и скоростью работы. Она построена на 
базе библиотеки NumPy и позволяет управлять данными, а также визуализировать их с помощью разных высокоуровневых команд. SciPy 
содержит модули для оптимизации, интегрирования, обработки сигналов, изображений, генетических алгоритмов, решения обыкновенных 
дифференциальных уравнений и других задач, обычно решаемых 
в научных исследованиях и при инженерной разработке. Все статистические функции библиотеки находятся в модуле (подпакете) 
scipy.stats. Для визуализации при использовании SciPy часто применяют библиотеку Matplotlib, являющуюся аналогом средств вывода 
графики MATLAB. 
Настоящее пособие призвано помочь тем пользователям (студентам, магистрам, аспирантам), которые используют или собираются 
использовать язык программирования Python для статистического 
анализа данных. При написании пособия авторы предполагают, что 
читатель уже имеет базовые знания по теории вероятностей и математической статистике, поэтому часть материала, с которой обычно 
начинается изложение основ теории вероятностей и математической 
5 


статистики, опущена. Однако там, где это необходимо, приводятся 
нужные формулы с пояснениями. Предполагается также, что читатель 
знаком с основами работы в Python и библиотеках NumPy и Matplotlib. 
Для облегчения понимания материал излагается в виде демонстрационных примеров и задач. 
Пособие включает в себя три главы. В первой главе рассмотрены статистические функции для работы с дискретными (4 закона) 
и непрерывными (11 законов) случайными величинами (далее СВ), 
вопросы генерирования СВ с рассмотренными законами распределения. Во второй главе рассмотрены вопросы оценки параметров распределения (точечные и интервальные оценки для математического 
ожидания и дисперсии), построения гистограмм и полигонов частот, 
приведены примеры проверки статистических гипотез как параметрических, так и о законах распределения (9 критериев) с помощью имеющихся в модуле функций. В третьей главе на примерах рассмотрены 
решения задач оценки параметров распределений, построения уравнения линейной регрессии во встроенном в Python модуле statistics. Рассмотрена работа с объектами классов Decimal() и Fraction(). Один из 
подразделов главы посвящен работе с объектами класса NormalDist().   
6 


.  З А Д А Ч И  Т Е О Р И И  В Е Р О Я Т Н О С Т Е Й .
Р А Б О Т А  С  М О Д У Л Е М  S C I P Y . S T A T  
Статистические функции библиотеки Scipy находятся в модуле 
scipy.stats. Их список можно получить с помощью функции info(stats). 
Список имеющихся в модуле случайных величин, дискретных и непрерывных, можно получить из документации для модуля scipy.stats. 
Этот модуль содержит большое количество вероятностных распределений (более 100), а также постоянно пополняющуюся библиотеку 
статистических функций. К сожалению, неспециалистам в области 
теории вероятностей и математической статистики бывает сложно работать с приведенными в модуле функциями, так как их описания, как 
правило, не содержат математических формул для расчетов. Часто отсутствуют и ссылки на общедоступные источники, в которых можно 
найти эти формулы. Поэтому там, где это возможно, авторы постарались привести необходимый теоретический материал и дать к нему 
пояснения.   
1 . 1 .  Д и с к р е т н ы е  с л у ч а й н ы е  в е л и ч и н ы
и  и х  х а р а к т е р и с т и к и  
Случайной величиной X называется величина, которая в результате опыта (или испытания) принимает какое-либо значение, причем 
заранее не известно, какое именно. Число пассажиров, перевезенных 
в метро за сутки, – это случайная величина.  
Случайные величины бывают дискретными и непрерывными. 
Дискретная случайная величина – это величина, принимающая конечное (или счетное) множество значений. В приведенном примере случайная величина дискретна. 
Дискретная случайная величина задается законом или рядом 
распределения. Закон распределения дискретной СВХ – это таблица, 
в первой строке которой перечислены все значения, которые может 
принять случайная величина X, а в нижней – вероятности того, что 
случайная величина X примет данное значение: 
7 


X 
х1 
х2 
… 
хn 
  P 
p1 
p2 
… 
pn 
n
=
=
=
=
=

xi могут принимать любые, в том числе 
i
i
i
i
p
P X
x
i
n
p
1
(
),
1, ,
1.
и отрицательные значения, pi всегда неотрицательны, и каждое из них 
не превосходит 1.  
Если по оси абсцисс отложить значения x1, x2, … , xn, а по оси 
ординат – соответствующие вероятности p1, p2,… , pn и соединить соседние точки отрезками, то получим многоугольник распределения 
случайной величины X.   
Характеристики случайной величины Х: 
1. Функция распределения F(x).  Это вероятность того, что случайная величина X примет значение меньшее, чем х: F(x)=P(X<x). 
2. Математическое ожидание M(X). Это число, подсчитываемое
n
по формуле 
=
=
 Оно может быть положительным, отрицаk
k
k
M X
x p
1
(
)
.
тельным и равным нулю. 
3. Мода случайной величины X. Определяется как такое возможное значение случайной величины X, вероятность которого максимальна. 
Так, 
xm 
– 
мода 
случайной 
величины 
X, 
если 
max
.
m
k
k
P(X
x )
{P(X
x )}
=
=
=
4. Дисперсия D(X). Дисперсией (рассеянием) случайной величины называется математическое ожидание квадрата ее отклонения от 
математического ожидания. Это неотрицательное число, подсчитываn
2
2
емое по формуле 
=
=
−
=
−

Можно доk
k
k
D X
M X
M X
x
M X
p
1
(
)
(
(
))
(
(
))
.
n
2
2
2
2
казать, что 
=
=
−
=
−

k
k
k
D X
M X
M X
x p
M X
1
(
)
(
)
(
(
))
(
(
)) .
5. Среднеквадратическое отклонение  (
):
Х

(
)
(
).
X
D X

=
 
σ(Х) имеет размерность случайной величины. D(X) и σ(X) характеризуют степень рассеяния случайной величины относительно ее математического ожидания. 
6. Начальный момент m-го порядка αm(X), m=0,1, 2, … Это число
=
=
=

n
m
m
m
k
k
k
X
x p
M X

1
(
)
(
).
8 


7. Центральный момент m-го порядка μm(X):
=
=
−
=
−

n
m
m
m
k
k
k
X
M X
M X
x
M X
p

1
(
)
(
(
))
(
(
))
.
8. Коэффициент асимметрии, или «скошенности» распределения
3
3
(
)
(
):
(
)
.
(
)
X
As X
As X
X


=
9.
Коэффициент
эксцесса 
распределения 
Ex(X): 
4
4
(
)
(
)
3.
(
)
X
Ex X
X


=
−
1 . 2 .  С т а т и с т и ч е с к и е  ф у н к ц и и  м о д у л я  s c i p y . s t a t
д л я  р а б о т ы  с  д и с к р е т н ы м и  с л у ч а й н ы м и  
в е л и ч и н а м и  
Для работы с дискретными СВ в модуле предназначены функции binom, geom, hypergeom, poisson и многие другие. 
Биноминальное распределение. Пусть проводится n независимых 
испытаний, в каждом из которых может произойти некоторое случайное событие А. Известна вероятность наступления события А в одном 
испытании (опыте) p(A)=p, и она не меняется от опыта к опыту. Пусть 
X 
– 
случайная 
величина, 
равная 
числу 
наступлений 
события А в n опытах. 
n
X
,
0
=
. Биномиальным распределением называется 
распределение вероятностей числа m наступления события А в n взаимно независимых наблюдениях. Вероятность того, что в n опытах событие А наступит ровно m раз, подсчитывается по формуле Бернулли: 
−
−
=
=
−
=
−
−
m
m
n m
m
n m
n
n
n
P X
m
C p
p
p
p
m n
m
!
(
)
(1
)
(1
)
.
!(
)!
Здесь n!=1·2·3···n. Так, 5!=1·2·3·4·5=120. Принято считать, что 
0!=1. 
Вероятность того, что в  n опытах событие А наступит не более  
m 
раз, 
можно 
вычислить 
по 
формуле 
(
)
(0)
(1)
(2)
...
( ).
n
n
n
n
n
P X
m
P
P
P
P m

=
+
+
+
+
 Каждое 
m
i
i
P
n
,
0
),
(
=
вычис9 


ляется 
по 
формуле 
Бернулли. 
Можно 
доказать, 
что 
1
)
(
...
)
2
(
)
1
(
)
0
(
=
+
+
+
+
n
P
P
P
P
n
n
n
n
. 
В модуле scipy.stat для работы с биноминальным распределением предназначена функция binom. Она поддерживает методы pmf (вычисление вероятностей по формуле Бернулли), cdf (вычисление функции распределения), ppf (вычисление квантиля распределения), median 
(вычисление медианы распределения), mean (вычисление математического ожидания), var (вычисление дисперсии), std (вычисление среднеквадратического отклонения), stats (вычисление математического 
ожидания, дисперсии, коэффициентов асимметрии и эксцесса) и др. 
Рассмотрим работу с этими методами на примере. 
Пример 1.1. Построить закон распределения СВХ – числа попаданий при 3 выстрелах в мишень, если вероятность попадания при одном выстреле равна 0.7. Вычислить вероятность того, что СВХ примет 
значение, меньшее двух. Найти характеристики СВХ. Построить многоугольник распределения СВХ.   
Решение. Случайная величина Х может принять 4 разных значений – от 0 до 3. Для подсчета вероятностей воспользуемся функцией  
binom.pmf: 
from scipy.stats import binom 
import numpy as np 
np.arange(4),binom.pmf(np.arange(4),3,.7) 
Здесь np.arange(4) – массив значений, которые принимает СВХ 
(0, 1, 2, 3), второй аргумент функции – число испытаний (3), третий 
аргумент – вероятность попадания при одном выстреле. 
В результате получаем два массива: массив значений СВХ 
и массив вероятностей, с которыми величина Х принимает эти значения: (array([0, 1, 2, 3]) и array([0.027, 0.189, 0.441, 0.343])). Строим закон распределения СВХ:  
Для того чтобы определить вероятность того, что СВХ примет 
значение, меньшее двух P(X<2), используем функцию (метод) cdf():  
round(binom.cdf(1.9,3,.7),3) 
Результат: 0.216. 
10 


Доступ онлайн
500 ₽
В корзину