Анализ данных. Методы теории вероятностей и математической статистики на языке Python
Покупка
Новинка
Основная коллекция
Издательство:
НИЦ ИНФРА-М
Автор:
Криволапов Сергей Яковлевич
Год издания: 2025
Кол-во страниц: 678
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-16-018616-0
ISBN-онлайн: 978-5-16-111570-1
Артикул: 801483.01.01
Учебное пособие содержит изложение вероятностно-статистических методов, составляющих теоретическую основу анализа данных. Отличается интенсивным использованием средств языка 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