Анализ данных. Методы теории вероятностей и математической статистики на языке Python
Анализ данных: методы теории вероятностей и математической статистики на языке Python
В современном мире анализ данных играет ключевую роль в принятии решений в различных областях, от бизнеса до науки. Учебное пособие С.Я. Криволапова "Анализ данных. Методы теории вероятностей и математической статистики на языке Python" представляет собой всеобъемлющее руководство для студентов, аспирантов, научных сотрудников и преподавателей, стремящихся освоить теоретические основы анализа данных и научиться применять их на практике с использованием языка Python.
Введение в теорию вероятностей и математическую статистику
Книга начинается с обзора основных понятий и методов теории вероятностей и математической статистики, необходимых для анализа данных. Рассматриваются случайные события, их вероятности, случайные величины и их характеристики. Особое внимание уделяется понятию вероятности события, включая классическое и статистическое определения, а также метод статистических испытаний (метод Монте-Карло).
Основы языка Python для решения вероятностных задач
В книге подробно рассматриваются средства и приемы использования языка Python для решения вероятностных задач. Приводятся примеры, демонстрирующие как точные аналитические методы решения, так и решения методом Монте-Карло. Это позволяет читателям освоить практические навыки применения Python для моделирования и анализа случайных явлений.
Вероятность событий и комбинаторика
В книге подробно рассматриваются методы вычисления вероятности событий с конечным множеством исходов, включая классическое определение вероятности и методы комбинаторики. Подробно рассматриваются операции над событиями (объединение, пересечение, разность, дополнение), формулы де Моргана, а также свойства операций над событиями.
Условная вероятность и теорема Байеса
В книге рассматриваются условная вероятность, формулы полной вероятности и формула Байеса. Эти инструменты позволяют анализировать сложные события и учитывать дополнительную информацию для уточнения вероятностных оценок.
Случайные величины и их характеристики
В книге вводится понятие случайной величины, рассматриваются дискретные и непрерывные случайные величины, их описание с помощью функции распределения, функции вероятности и плотности распределения вероятностей. Рассматриваются важнейшие числовые характеристики случайных величин, такие как математическое ожидание, дисперсия, моменты, квантили, коэффициент асимметрии и эксцесса.
Важнейшие типы случайных величин
В книге рассматриваются важнейшие типы дискретных и абсолютно непрерывных случайных величин, включая распределение Бернулли, биномиальное распределение, геометрическое распределение, распределение Пуассона, гипергеометрическое распределение, нормальное распределение, логнормальное распределение, равномерное распределение, экспоненциальное распределение, хи-квадрат распределение, t-распределение (распределение Стьюдента), распределение Фишера и распределение Парето. Для каждого распределения приводятся его свойства, числовые характеристики и примеры практического применения.
Функции случайных величин
В книге рассматриваются методы использования интегральной формулы полной вероятности, интегральной формулы Байеса, композиции и смеси случайных величин.
Связь между случайными величинами
В книге рассматриваются условные характеристики систем случайных величин, двумерное нормальное распределение, условное математическое ожидание, ковариация и коэффициент корреляции.
Закон больших чисел и центральная предельная теорема
В книге излагаются закон больших чисел и центральная предельная теорема, которые являются фундаментальными результатами теории вероятностей и имеют важное значение для статистического вывода.
Марковские цепи
В книге рассматриваются марковские цепи с конечным числом состояний. С использованием языка Python решаются задачи на вычисление вероятности достижения и среднего времени достижения заданных состояний.
Математическая статистика
В книге рассматриваются первичный анализ данных, выборочные оценки, методы построения точечных оценок, интервальные оценки, включая метод бутстрэп, а также различные виды статистических гипотез.
Практическое применение
В каждой главе приводятся примеры с подробными решениями, а также более 200 задач для самостоятельного решения. Для каждой задачи в конце учебного пособия предлагаются решения.
Заключение
Учебное пособие "Анализ данных. Методы теории вероятностей и математической статистики на языке Python" является ценным ресурсом для всех, кто стремится освоить методы анализа данных и научиться применять их на практике с использованием языка Python. Книга предоставляет как теоретические основы, так и практические примеры, что делает ее идеальным учебным пособием для студентов, аспирантов и специалистов в области анализа данных.
Текст подготовлен языковой моделью и может содержать неточности.
- ВО - Бакалавриат
- 38.03.01: Экономика
- ВО - Магистратура
- 38.04.01: Экономика
С.Я. КРИВОЛАПОВ АНАЛИЗ ДАННЫХ МЕТОДЫ ТЕОРИИ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ НА ЯЗЫКЕ PYTHON УЧЕБНОЕ ПОСОБИЕ Москва ИНФРА-М 2025
УДК 519.23+004.43(075.8) ББК 22.161:32.973.2я73 К82 Р е ц е н з е н т ы: Белотелов Н.В., кандидат физико-математических наук, доцент, старший научный сотрудник Федерального исследовательского центра «Информатика и управление» Российской академии наук; Апалькова Т.Г., кандидат экономических наук, доцент, доцент кафедры математики Финансового университета при Правительстве Российской Федерации Криволапов С.Я. К82 Анализ данных. Методы теории вероятностей и математической статистики на языке Python : учебное пособие / С.Я. Криволапов. — Москва : ИНФРА-М, 2025. — 678 с. — (Высшее образование). — DOI 10.12737/2034420. ISBN 978-5-16-018616-0 (print) ISBN 978-5-16-111570-1 (online) Учебное пособие содержит изложение вероятностно-статистических методов, составляющих теоретическую основу анализа данных. Отличается интенсивным использованием средств языка Python. Для всех примеров и задач приведены подробные решения. Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения. Для студентов, аспирантов, научных сотрудников и преподавателей. УДК 519.23+004.43(075.8) ББК 22.161:32.973.2я73 Данная книга доступна в цветном исполнении в электронно-библиотечной системе Znanium ISBN 978-5-16-018616-0 (print) ISBN 978-5-16-111570-1 (online) © Криволапов С.Я., 2024
Основные обозначения ( ) A P — вероятность события A ( ) | A B P — условная вероятность события A при условии события B ( ) X F x — функция распределения случайной величины X ( ) X f x — плотность распределения случайной величины X ( ) X E — математическое ожидание случайной величины X 2 ( ), x X σ Var — дисперсия случайной величины X x σ — стандартное (среднее квадратическое) отклонение случайной величины X ( ) k X ν — начальный момент k-го порядка случайной величины X ( ) k X µ — центральный момент k-го порядка случайной величины X X A — коэффициент асимметрии случайной величины X X E — коэффициент эксцесса случайной величины X med x — медиана случайной величины X mod x — мода случайной величины X xα — квантиль уровня α случайной величины X 1 x α −α ω = — 100α%-ная точка случайной величины X Bin( ; ) n p — случайная величина, распределенная по биномиальному закону с параметрами n и p Geom( ) p — случайная величина, распределенная по геометрическому закону с параметром p NB( ; ) r p — случайная величина, распределенная по отрицательному биномиальному закону с параметрами r и p Pois( ) λ — случайная величина, распределенная по закону Пуассона с параметром λ HGeom( ; ; ) M n N — случайная величина, распределенная по гипергеометрическому распределению с параметрами: M (общий объем совокупности, состоящей из элементов двух типов: типа I и типа II); n (число элементов типа I); N (объем выборки) ( ; ) a σ — случайная величина, распределенная по нормальному закону с параметрами a и σ zα — квантиль уровня α стандартной, нормально распределенной случайной величины X ( ; ) a σ — случайная величина, распределенная по логнормальному закону с параметрами a и σ Unif( ; ) a b — случайная величина, равномерно распределенная на отрезке [ ; ] a b Exp( ) λ — случайная величина, распределенная по экспоненциальному закону с параметром λ 3
n T — случайная величина, распределенная по закону Стьюдента с числом степеней свободы n ;n tα — квантиль уровня α случайной величины, распределенной по закону Стьюдента с числом степеней свободы n 2 n χ — случайная величина, распределенная по закону хи-квадрат с числом степеней свободы n 2;n α χ — квантиль уровня α случайной величины, распределенной по закону хи-квадрат с числом степеней свободы n ; n k F — случайная величина, распределенная по закону Фишера с числом степеней свободы n и k ; ; n k fα — квантиль уровня α случайной величины, распределенной по закону Фишера с числом степеней свободы n и k 0 C( ; ) x γ — случайная величина, распределенная по закону Коши с параметрами 0 x и γ ( ; ) a Γ θ — случайная величина, имеющая гамма-распределение с параметрами a и θ ( ) x Γ — гамма-функция, 1 ( ) x t x t e dt ∞ − − Γ = ∫ 0 0 P( ; ) x α — случайная величина, распределенная по закону Парето с параметрами 0 x и α cov( , ) X Y — ковариация случайных величин X и Y xy r — коэффициент корреляции случайных величин X и Y x — выборочное среднее 2 ˆ x σ — выборочная дисперсия ˆ x σ — выборочное стандартное отклонение После значка, составленного из трех звездочек (***), следует текст, разъясняющий листинг приведенной программы на языке Python. 4
Предисловие Учебное пособие разработано для учебного и методического обеспечения вводной части дисциплины «Анализ данных», посвященной методам теории вероятностей и математической статистики. Книга содержит теоретические понятия по основным разделам теории вероятности и математической статистики и примеры практического использования этих понятий. При решении примеров и задач активно используются средства языка Python. Для большого количества примеров приведены аналитические решения, точные решения на языке Python или приближенные решения с использованием метода статистических испытаний (метода МонтеКарло). Глава 1 посвящена краткому предварительному обзору методов теории вероятностей и математической статистики, применяемых в анализе данных. Дается понятие метода статистических испытаний. В главе 2 на многочисленных примерах рассматриваются средства и приемы использования языка Python для решения вероятностных задач. Рассматриваются как точные аналитические методы решения, так и решения методом Монте-Карло. В главе 3 излагаются теоретические сведения и приемы решения задач на вычисление вероятности события с конечным множеством исходов и на геометрическую вероятность. В главе 4 рассматриваются приемы решения задач на вычисление вероятностей сложных событий. Рассматриваются условные вероятности, формулы полной вероятности и формула Байеса. В главе 5 вводится понятие случайной величины. Рассматриваются дискретные и непрерывные случайные величины, их описание функцией распределения, функцией вероятности и плотностью распределения вероятностей. Рассматриваются важнейшие числовые характеристики — математическое ожидание и дисперсия. Глава 6 посвящена общим числовым характеристикам случайных величин: моментам, квантилям, мерам связи. В главе 7 рассматриваются важнейшие типы дискретных случайных величин. Изучены методы модуля scipy.stats языка Python для работы с вероятностными распределениями. Особое внимание уделено распределениям, связанным с последовательностью независимых испытаний. 5
В главе 8 рассматриваются важнейшие типы абсолютно непрерывных случайных величин. Наряду с традиционными изучены некоторые дополнительные типы, широко используемые в анализе данных. Функции одной и нескольких случайных величин даны в главе 9. Рассматриваются методы использования интегральной формулы полной вероятности, интегральной формулы Байеса, композиции и смеси случайных величин. В главе 10 изложены условные характеристики систем случайных величин, двумерное нормальное распределение, условное математическое ожидание. Глава 11 посвящена закону больших чисел и центральной предельной теореме. В главе 12 рассматриваются марковские цепи с конечным числом состояний. С использованием языка Python решаются задачи на вычисление вероятности достижения и среднего времени достижения заданных состояний. Главы 13–15 посвящены математической статистике. В глава 13 рассмотрен первичный анализ данных, в главе 14 — выборочные оценки, методы построения точечных оценок, в главе 15 — интервальные оценки, включая метод бутстрэп. В главе 16 проанализированы различные виды статистических гипотез. В каждой главе даны примеры с подробными решениями. Также по материалам глав приведено более 200 задач. Для каждой из них в конце учебного пособия предложены решения. Пособие предназначено для студентов экономических специальностей направлений «Экономика», «Прикладная информатика», «Информационная безопасность», «Бизнес-информатика». В результате изучения материалов пособия студент должен: знать • • основные понятия теории вероятностей и математической статистики, в том числе методы точечного и интервального оценивания параметров случайных величин и способы проверки статистических гипотез о параметрах и законах случайных величин; • • компьютерные технологии, используемые при реализации математических методов и моделей; уметь • • выбирать вероятностные модели, подходящие для исследования соответствующих случайных признаков; • • моделировать с помощью метода статистических испытаний случайные признаки, описывающие статистические системы; владеть • • навыками вычислительной работы в Jupyter Norebook. 6
Глава 1. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ О ПОНЯТИЯХ И МЕТОДАХ ТЕОРИИ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ, ИСПОЛЬЗУЕМЫХ В АНАЛИЗЕ ДАННЫХ В силу множества объективных причин данные, подлежащие обработке, следует рассматривать как реализацию некоторых случайных величин. Теория вероятностей дает способы описания случайных величин, их числовых характеристик и законов распределения. Математическая статистика, опираясь на понятия и методы теории вероятностей, выявляет вероятностные характеристики и статистические закономерности в выборках данных. Основными объектами внимания теории вероятностей являются случайные события и их вероятности, случайные величины и их характеристики. Вероятность события Для количественной оценки возможности наступления некоторого события используется понятие «вероятность события». Для конечных вероятностных моделей (когда множество различных исходов случайного события — конечное) с равновозможными «элементарными исходами» вероятность события вычисляется как отношение числа исходов, благоприятствующих ему, к числу всех исходов (классическое определение вероятности). В формульном виде это записывается как ( ) A n A n = P , где A — обозначение случайного события; ( ) A P — вероятность события A; n — число элементарных исходов; A n — число исходов, благоприятствующих событию A. В математической статистике вероятность события A оценивается по выборочным данным. В задаче оценивания вероятности события выборочные данные представляют собой два числа: n — число проведенных испытаний; A n — количество тех испытаний (из общего числа n), в которых произошло событие A. Отношение 7
A n к n дает оценку (приближенное значение) для величины вероятности события: ( ) A n A n ≈ P . Такой способ вычисления вероятности называется статистическим определением вероятности. Когда вероятностное устройство случайного события A известно (в каких условиях, по каким правилам происходит это событие), вычислить оценку вероятности события с помощью статистического определения вероятности можно без проведения реальных испытаний, методом статистических испытаний (методом Монте-Карло). Для этого нужно, используя какой-либо язык программирования, смоделировать некоторое число n случайных исходов испытаний и посчитать, в каком количестве опытов k было зафиксировано появление события A. Тогда ( ) k A n ≈ P . Точность такой оценки увеличивается с ростом числа опытов n. Пример 1.1 Имеется монета, которая предполагается симметричной (при подбрасывании равновозможно выпадение как орла, так и решки). Требуется вычислить вероятность события A = {при случайном подбрасывании выпал орел}. Решение 1. Классическое определение. ( ) 1/2 A = P (два элементарных исхода при однократном подбрасывании — орел, решка; благоприятствующий исход — один, выпадение орла). 2. Статистическое определение. Французский ученый Ж.-Л. Бюффон бросил монету 4040 раз, причем орел выпал 2048 раз. Оценка вероятности: ( ) 2048 0,50693. 4040 A n A n ≈ = ≈ P 3. Метод Монте-Карло. Выполним моделирование опыта по подбрасыванию монеты на языке Python. Зададим число опытов n. Используя команду Python, генерирующую последовательность случайных равновероятных чисел, равных нулю или единице, получим выборку длины n из нулей и единиц. Интерпретируем получение единицы как выпадение орла, получение нуля — 8
как выпадение решки. Оценкой вероятности события является относительная частота ( ) k A n ≈ P , где k — количество благоприятствующих случаев (число единиц). Для массива из нулей и единиц относительная частота выпадения единиц совпадает с выборочным средним (средним арифметическим элементов массива). Выборочное среднее массива X вычисляет функция mean(X) библиотеки numpy: import numpy as np # Загрузка библиотеки # numpy под псевдонимом np iters = 4040 # Число итераций (опытов метода # Монте-Карло) np.random.seed(312) # Такая команда (параметр – # любое целое число) обеспечивает # воспроизводимость случайного опыта # при повторном запуске. # Сгенерируем последовательность из 0 и 1 # длины iters и запишем ее в массив coin coin = np.random.choice([0,1],size=iters, replace=True,p=[0.5,0.5]) # replace=True - означает, что производится # выборка из набора {0,1} с возвращением; # параметр p определяет, с какими вероятностями # извлекаются числа 0 и 1. По умолчанию # производится равновероятный выбор # с возвращением, т.е. здесь можно было записать # короче: np.random.choice([0,1],iters) ''' Вероятность оцениваем относительной частотой. Для массива из 0 и 1 совпадает с выборочным средним ''' print(np.mean(coin)) 0.488366 Точность неудовлетворительная. Однако мы можем увеличить число опытов: iters = 10**5 # Сто тысяч np.random.seed(312) 9
M_coin = np.random.choice([0,1],iters) print(np.mean(M_coin)) 0.49971 iters = 10**8 # Сто миллионов np.random.seed(312) M_coin = np.random.choice([0,1],iters) print(np.mean(M_coin)) 0.500134 На рис. 1.1 изображен график относительной частоты выпадения орла в зависимости от числа опытов метода Монте-Карло. Довольно быстро значения стабилизируются около теоретической вероятности 0,5. Относительная частота 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 200 400 600 800 1000 Рис. 1.1. Относительная частота выпадения орла Дискретные и непрерывные случайные величины Случайные величины можно разделить на две категории. 1. Дискретная случайная величина — величина, которая в результате испытаний может принимать определенные значения с определенной вероятностью. Множество значений может быть как конечным, так и бесконечным. 2. Непрерывная случайная величина — такая случайная величина, которая может принимать любые значения из некоторого конечного или бесконечного промежутка. Количество возможных значений непрерывной случайной величины бесконечно и несчетно. С ненулевой вероятностью непрерывная случайная величина может принимать значения только в некотором промежутке. 10