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

Введение в анализ данных. Поиск структуры данных с применением языка Python

Покупка
Основная коллекция
Артикул: 801484.01.01
К покупке доступен более свежий выпуск Перейти
В учебном пособии рассматриваются средства языка Python для выявления и последующего использования внутреннего устройства данных с использованием методов марковских процессов, статистического, кластерного и регрессионного анализа данных. Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения. Для студентов, аспирантов, научных сотрудников и преподавателей.
Криволапов, С. Я. Введение в анализ данных. Поиск структуры данных с применением языка Python : учебное пособие / С.Я. Криволапов. — Москва : ИНФРА-М, 2024. — 177 с. — (Высшее образование). — DOI 10.12737/2082643. - ISBN 978-5-16-019001-3. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2082643 (дата обращения: 24.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ

ПОИСК СТРУКТУРЫ ДАННЫХ 
С ПРИМЕНЕНИЕМ ЯЗЫКА PYTHON

С.Я. КРИВОЛАПОВ

Москва
ИНФРА-М
2024

УЧЕБНОЕ ПОСОБИЕ

УДК 519.23(075.8)
ББК 22.161я73
 
К82

Криволапов С.Я.
К82  
Введение в анализ данных. Поиск структуры данных с применением языка Python : 
учебное пособие / С.Я. Криволапов. — Москва : ИНФРА-М, 2024. — 177 с. — (Высшее 
образование). — DOI 10.12737/2082643.

ISBN 978-5-16-019001-3 (print)
ISBN 978-5-16-111801-6 (online)
В учебном пособии рассматриваются средства языка Python для выявления и последую щего использования внутреннего устройства данных с использованием методов марковских 
процессов, статистического, кластерного и регрессионного анализа данных.
Соответствует требованиям федеральных государственных образовательных стандартов 
высшего образования последнего поколения.
Для студентов, аспирантов, научных сотрудников и преподавателей.

УДК 519.23(075.8)
ББК 22.161я73

Р е ц е н з е н т ы:
Т.Г. Апалькова, кандидат экономических наук, доцент, доцент Департамента математики Финансового университета при Правительстве Российской Федерации;
Н.В. Белотелов, кандидат физико-математических наук, доцент, старший научный 
сотрудник Федерального исследовательского центра «Информатика и управление» 
Российской академии наук

ISBN 978-5-16-019001-3 (print)
ISBN 978-5-16-111801-6 (online)
© Криволапов С.Я., 2023

Данная книга доступна в цветном  исполнении 
в электронно-библиотечной системе Znanium

Введение 

Учебное пособие разработано для учебного и методического обеспечения 
дисциплины «Анализ данных» в части, посвященной методам выявления и описания 
закономерностей, присущих анализируемым выборочным данным. 
Книга содержит краткий обзор основных понятий и методов теории вероятностей и 
математической статистики, применяемых в анализе данных (главы 1 и 2). 
В главе 3 излагается теория марковских цепей с конечным числом состояний. 
Рассматриваются методы вычисления вероятностных характеристик, связанных с 
достижением заданных состояний. Рзбираются средства языка Python, позволяющие 
работать с матрицами переходных вероятностей большого размера. 
В главе 4 рассматриваются марковские процессы с конечным числом состояний. 
Для решения систем дифференциальных уравнений Колмогорова, описывающих 
поведение вероятностей состояний, применяются средства библиотеки символьных 
вычислений sympy. 
В главе 5 изучаются вопросы подгонки распределения выборки. На примере 
данных о логарифмической доходности акций российских компаний рассматриваются 
способы приближения закона их устройства типовыми законами распределения, 
реализованными в языке Pynhon. В качестве критерия близости распределений 
рассматривается статистика критерия согласия Колмогорова. 
Предложены также способы описания устройства выборки смесью нескольких 
распределений. 
В главе 6 изучается одно из возможных средств проведения кластерного анализа — 
метод k-средних. В качестве примера применения метода рассмотрена задача 
классификации данных о котировках акций российских компаний с точки зрения близости 
законов их распределений. 
Глава 7 посвящена регрессионному анализу. Рассмотрены соответствующие 
средства различных библиотек языка Python. Разобраны методы построения линейной 
парной и множественной регрессии, методы оценки качества построенных моделей, 
способы проверки выполнения предпосылок метода наименьших квадратов (МНК). 
Изучены способы работы с системами одновременных уравнений. 
В приложении 1 приведен обзор средств библиотеки networkx для работы с 
графами. В частности, разобраны средства для графического изображения размеченных 
графов состояний марковской цепи и марковского процесса. 
В приложении 2 дан обзор методов решения дифференциальных уравнений и 
систем в библиотеке sympy. 
В результате изучения дисциплины студент будет: 
знать 
методы теории вероятностей и математической статистики, применяемые в анализе 
данных, в том числе методы точечного и интервального оценивания параметров 
случайных величин и способы проверки статистических гипотез о параметрах и 
законах случайных величин; 
основные методы регрессионного и кластерного анализа данных; 
 
 

уметь 
выбирать вероятностные модели, подходящие для исследования соответствующих 
случайных признаков; 
использовать компьютерные технологии при реализации математических методов 
и моделей анализа данных; 
владеть 
навыками вычислительной работы в Jupyter Norebook. 
 

Глава 1. Основные понятия теории вероятностей 

Теория вероятностей имеет дело со случайными событиями и со случайными 
величинами. 
Случайные события 
 
Пример 1.1 
Событие A = {При подбрасывании игральной кости выпала цифра «6»} 
Для случайных событий определено понятие вероятности события. 
Обозначение: вероятность события A — ( )
A
P
. 

Измеряется числом от 0 до 1. 
 
События могут иметь дискретный характер. Множество элементарных (т.е. 
мельчайших) исходов — конечное (или счетное). 
 
Пример 1.2 
Подбрасывание кости. Элементарное событие: {Выпала цифра «6»}. Событие: 
{Выпало число больше трех}. 
 
Множество элементарных исходов может быть бесконечным. Пример — значение 
доходности акций. 
В дискретном случае, когда множество элементарных исходов — конечное, 
вероятность может вычисляться по классической формуле вероятности, 

k
A
n
P
, 

где n — общее число элементарных исходов; k — число таких исходов, при которых 
событие A происходит (благоприятствующих исходов). 
 
Пример 1.3 
Монета подбрасывается 4 раза. Событие A — орел не выпадет ни разу. 

Вероятность этого события 
1
( )
4
A P
. Действительно, из четырех исходов (о; о), 

(о; р), (р; о), (р; р) благоприятствующий один — (р; р). 
 
Для вычисления вероятности по классической формуле нужно уметь подсчитывать 
количество 
определенных 
комбинаций. 
Для 
этого 
используются 
формулы 
комбинаторики. 
Количество всевозможных перестановок набора из n элементов равно !
n . 
!
n  — факториал целого положительного числа n: ! 1 2 3
n
n
n . По определению 
0! 1
. 
 
Пример 1.4 
Перестановки набора чисел {1, 2, 3}: 

1, 2, 3 ; 1, 3, 2 ; 2,1, 3 ; 2, 3,1 ; 3,1, 2 ; 3, 2,1 . 

Всего перестановок: 3! 1 2 3
6
. 

Размещения. Различные способы выбора части элементов из общего набора (k 
элементов из n и с учетом порядка). 
Число размещений k элементов из n: 

!
1
1
!

k
n
n
A
n
n
n
k
n
k
n
k
k
. 

 
Пример 1.5 
Размещения двух элементов из трех. Из набора {1, 2, 3} выбираются два элемента. 

Различные размещения: 
1, 2 ; 2,1 ; 1, 3 ; 3,1 ; 2, 3 ; 3, 2 . 

Всего размещений: 
3!
3!
6
6
(3
2)!
1!
1
или 3 2
6
. 

 
Сочетания. Существуют различные способы выбора части элементов из общего 
набора (k элементов из n, но без учета порядка). 
Число сочетаний k элементов из n: 

!
!
!

k
n
n
C
k
n
k
. 

Числа 
k
n
C  называются биномиальными коэффициентами. 

 
Пример 1.6 
Сочетания двух элементов из трех. Из набора {1, 2, 3} выбираются два элемента. 
Различные сочетания: 
1, 2 ; 1, 3 ; 2, 3 . 

Всего сочетаний: 
2
3
3!
6
3
2!(3
2)!
2 1
C . 

 
Пример 1.7 
Пример на вычисление вероятности. 
В колоде из 36 карт четыре туза. Игрокам раздали по шесть карт. Какова 
вероятность игроку получить два туза? 
Решение 
Порядок получаемых карт не важен. Здесь нужно использовать сочетания. Общее 

число способов выбора шести карт из 36: 
6
36
C , 

6
36
36!
31 32 33 34 35 36
1947792
6!30!
1 2 3 4 5 6
C
. 

Количество благоприятствующих вариантов: 
2
4
4
32
C
C
(два туза извлекаются из 

четырех возможных тузов; остальные четыре карты должны быть не тузами, они 
извлекаются из набора в 36
4
32
карты, 

2
4
4
32
4!
32!
215760
2!2! 4!28!
C
C
. 

Искомая вероятность: 215760
0,035
1947792 . 

 
На языке Python формулы комбинаторики реализованы в модуле scipy.special 
библиотеки scipy: 

import scipy.special as sp 
''' sp.factorial(n) - Факториал n! ''' 
sp.factorial(10) 

3628800 

''' sp.perm(n,k) - Число перестановок 

k
n
A  ''' 

sp.perm(5,3) 

60 

''' sp.comb(n,k) – Число сочетаний 
k
n
C  ''' 

sp.comb(5,3) 

10 

Списки различных комбинаций элементов можно получать, используя язык Python, 
в модуле itertools: 

import itertools as it 
''' it.permutations(S,k) - Список размещений ''' 
S = [1,2,3] 
print(list(it.permutations(S,2))) 

[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)] 

''' it.permutations(S,len(S)) – Список 
    перестановок - ''' 
S = [1,2,3] 
print(list(it.permutations(S,3))) 

[(1, 2, 3), (1, 3, 2), (2, 1, 3), 
 (2, 3, 1), (3, 1, 2), (3, 2, 1)] 

''' it.combinations(S,k) - Список сочетаний ''' 
S = [1,2,3] 
print(list(it.combinations(S,2))) 

[(1, 2), (1, 3), (2, 3)] 

Комбинации с повторениями: 
''' it.product(S,repeat=k) - Список размещений 
    с повторениями ''' 
S = [1,2,3] 
print(list(it.product(S,repeat=2))) 

[(1,1), (1,2), (1,3), (2,1), 
(2,2), (2,3), (3,1), (3,2), (3,3)] 

''' it.combinations_with_replacement(S,k) – 
    Список сочетаний с повторениями ''' 
S = [1,2,3] 
print(list(it.combinations_with_replacement(S,2))) 

[(1,1), (1,2), (1,3), (2,2), (2,3), (3,3)] 

 
 
 

Случайные величины 
Случайная величина возникает, когда задается некоторое правило (функция), по 
которому вычисляется числовой результат случайного эксперимента. 
 
Пример 1.8 
Подбрасываются две игральные кости. Случайная величина X — сумма выпавших 
очков. Возможные значения — от 2 до 12. Можно вычислять вероятности того, что X 

примет определенное значение. Например, 
3
(
4)
36
X P
 (три комбинации ((1; 3), (3; 1), 

(2; 2)) из 36 возможных являются благоприятствующими). 
 
Это был пример дискретной случайной величины. 
 
Пример 1.9 
Непрерывная случайная величина. Рассматривается последовательность дневных 
котировок акций и для каждого дня вычисляется логарифмическая доходность. Случайная 
величина Y: значение логарифмической доходности в случайно выбранный день. 
Вероятность определенного значения случайной величины Y вычислить нельзя 
(точнее можно, но эта вероятность всегда равна нулю), 
(
)
0
Y
y
P
 для любого значения 

числа y. 
Это свойство любой непрерывной случайной величины. Отдельные значения 
непрерывные случайные величины принимают с вероятностью 0. 
Для величины Y можно вычислять вероятности такого вида: 
0
Y P
, 0,02
0,1
Y
P
, …, 

т.е. вероятности принадлежности некоторому конечному или бесконечному интервалу. 
Для вычисления таких вероятностей нужно: 
либо знать закон распределения этой случайной величины (т.е. устройство этой 
случайной величины; по каким формулам вычисляются такие величины); 
либо иметь статистические данные (выборку значений) и по определенным 
формулам вычислять приближенные значения (оценки). 
 
Числовые характеристики случайных величин 
Для случайных величин существуют числовые характеристики (например, среднее 
значение), в простой наглядной форме показывающие некоторые особенности этих 
величин. 
Также существуют функции, описывающие устройство случайной величины в 
полном объеме (функция распределения и плотность распределения). 
Математическое ожидание 
Математическое ожидание случайной величины X — обозначается 
(
)
X
E
 — 

дает среднее значение величины X. 
 
Пример 1.10 
Случайная величина X: значение логарифмической доходности акций некоторой 
компании в случайно выбранный день. 
Пусть, например, известно, что 
(
)
0,01
X E
. 

Значения X в разные дни будут различными, но колебаться будут вокруг значения 
( 0,01)
. Среднее арифметическое значений X для разных дней будет близким к 
(
)
X
E
. 

 
Закон больших чисел (теорема Чебышёва) утверждает, что при увеличении числа 
дней среднее арифметическое значений X по этим дням будет обязательно и 
неограниченно приближаться к величине 
(
)
X
E
. 

Дисперсия 
Второй важнейшей числовой характеристикой является дисперсия случайной 

величины, обозначается 
(
)
X
Var
 или 
2
X
. 

Дисперсия определяется по формуле 

2
X
X
X
Var
E
E
 

(математическое ожидание квадрата отклонения случайной величины от своего среднего). 
Величину 
X
(корень из дисперсии) называют средним квадратическим 

отклонением, или стандартным отклонением. 

Величины 
2
X
и 
X
характеризуют разброс значений случайной величины вокруг 

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

величины. На практике же лучше перейти от 
2
X
к 
X
, из-за того, что 
X
и сама величина 

X измеряются в одних единицах. Например, если X — цена акции в рублях, то 
X


измеряется в рублях. Величина же 
2
X
будет измеряться в рублях в квадрате. 

Имеется важное неравенство Чебышёва, из которого следует, что с вероятностью, 

не меньшей 8
9 , случайное значение величины X будет принадлежать интервалу 

(
)
3
X
X
E
3
X
. Если же закон распределения X — так называемый, нормальный, то значения 

X будут принадлежать такому интервалу с вероятностью, близкой к единице (0,997). Это 
называется правилом «трех сигм». 
Другие числовые характеристики 
Коэффициент асимметрии (или асимметрия, скос) характеризует наличие или 
отсутствие симметричности возможных значений случайной величины. 
Коэффициент эксцесса (эксцесс, куртозис) определенным образом характеризует 
форму закона распределения случайной величины. 
Квантили. Квартили 
Пусть задана некоторая вероятность 0
1
p
. 

Квантилью 
px  уровня p непрерывной случайной величины X называется такое 

число на числовой оси, что случайная величина принимает значения, меньшие 
px , с 

вероятностью p: 
.
p
X
x
p
P
 

 
 

Первой квартилью 
1
Q  называется квантиль порядка 0,25: 

1
0,25.
X
Q
P
 

Третьей квартилью 
3
Q  называется квантиль порядка 0,75: 

3
0,75.
X
Q
P
 

Между первой и третьей квартилями случайная величина принимает значения с 
вероятностью 0,5. 
Квартили, наряду с дисперсией и стандартным отклонением, характеризуют 
разброс возможных значений случайной величины. С помощью квартилей формулируется 
правило для определения выбросов выборки (значений, выпадающих из общей массы 
данных). 
Медианой 
med
x
 называется квантиль порядка 0,5: 

med
0,5.
X
x
P
 

Медиана, 
наряду 
с 
математическим 
ожиданием, 
характеризует 
центр 
распределения случайной величины. 
Функция распределения 
В полном объеме устройство случайной величины (ее закон распределения) можно 
задать с помощью функции распределения 
( )
F x . 

В каждой точке x числовой оси эта функция дает вероятность попадания 
случайной величины левее этой точки: 
.
F x
X
x
P
 

График любой функции распределения — неубывающая кривая, принимающая 
значения от 0 до 1 (рис. 1.1). 

 
Рис. 1.1. Типовой график функции распределения. 
 
Зная функцию распределения, можно вычислять вероятность принадлежности 
случайной величины произвольному интервалу: 
.
a
X
b
F b
F a
P
 

Непрерывные случайные величины 
Случайные величины, принимающие конечное или счетное множество значений, 
называются дискретными. Отдельные значения они принимают с положительной 
вероятностью. Функцию, задающая формулу для таких вероятностей, называют функцией 
вероятности ( )
k
P
: 

.
k
X
k
P
P
 

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

К покупке доступен более свежий выпуск Перейти