Опубликовано

Новинка: “SQL для анализа данных”

SQL для анализа данных

Рассказывается о возможностях SQL применительно к анализу данных. Сравниваются различные типы баз данных, описаны методы подготовки данных для анализа. Рассказано о типах данных, структуре SQL-запросов, профилировнии, структурировании и очистке данных. Описаны методы анализа временных рядов, трендов, приведены примеры анализа данных с учетом сезонности. Отдельные главы посвящены когортному анализу, текстовому анализу, выявлению и обработке аномалий, анализу результатов экспериментов и А/В-тестирования. Описано создание сложных наборов данных, комбинирование методов анализа. Приведены практические примеры анализа воронки продаж и потребительской корзины.

Для аналитиков, исследователей и специалистов по обработке данных

С ростом объема информации, вычислительных мощностей и облачных хранилищ SQL стал незаменимым инструментом для аналитиков, исследователей и специалистов по обработке данных.  Эта книга показывает новые способы улучшения навыков работы с SQL, решения сложных практических задач и максимального использования SQL в рабочих процессах. Вы узнаете, как применять SQL для анализа различных типов данных, выявления аномалий, обработки результатов экспериментов и создания сложных наборов данных. Вы научитесь комбинировать методы SQL для более быстрого достижения целей с помощью простого и понятного кода.

• Узнайте о ключевых шагах по подготовке данных к анализу
• Выполняйте анализ временных рядов
• Используйте когортный анализ для изучения изменений групп с течением времени
• Научитесь применять мощные функции SQL для анализа текста
• Выявляйте отклонения и аномалии в данных
• Установите причинно-следственную связь с помощью анализа экспериментов и результатов А/Б-тестирования
• Применяйте SQL для оценки эффективности воронки продаж

Книгу “SQL для анализа данных” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие. 11

Условные обозначения. 12

Использование примеров кода. 13

Благодарности. 13

ГЛАВА 1. Анализ с помощью SQL.. 15

1.1. Что такое анализ данных. 15

1.2. Почему SQL. 18

Что такое SQL. 18

Преимущества SQL. 21

SQL против R или Python. 22

SQL как часть процесса анализа данных. 24

1.3. Типы баз данных. 26

Строчные базы данных. 27

Колоночные базы данных. 29

Другие типы хранилищ данных. 31

1.4. Заключение. 32

ГЛАВА 2. Подготовка данных для анализа. 33

2.1. Типы данных. 34

Типы в базах данных. 34

Структурированные и неструктурированные данные. 36

Количественные и качественные данные. 37

Первичные, вторичные и третичные данные. 38

Разреженные данные. 39

2.2. Структура SQL-запроса. 40

2.3. Профилирование: распределения. 43

Гистограммы и частоты.. 44

Биннинг. 46

n-тили. 49

2.4. Профилирование: качество данных. 52

Поиск дубликатов. 52

Исключение дубликатов с помощью GROUP BY и DISTINCT. 54

2.5. Подготовка: очистка данных. 56

Очистка данных с помощью CASE. 56

Преобразование типов. 59

Работа с null-значениями: функции coalesce, nullif, nvl 62

Отсутствующие данные. 65

2.6. Подготовка: структурирование данных. 69

Зависимость от конечной цели: для BI, визуализации, статистики
или машинного обучения. 70

Сворачивание с помощью оператора CASE. 71

Разворачивание с помощью оператора UNION.. 73

Операторы PIVOT и UNPIVOT. 75

2.7. Заключение. 77

ГЛАВА 3. Анализ временных рядов. 79

3.1. Работа с Date, Datetime и Time. 80

Преобразование часовых поясов. 80

Форматирование дат и временных меток. 83

Арифметические действия с датами. 87

Арифметические действия со временем.. 90

Объединение данных из разных источников. 91

3.2. Набор данных о розничных продажах. 92

3.3. Анализ трендов данных. 93

Простые тренды.. 94

Сравнение временных рядов. 96

Вычисление процента от целого. 105

Приведение к базовому периоду. 109

3.4. Скользящие временные окна. 114

Расчет скользящих временных окон. 116

Скользящие окна на разреженных данных. 122

Расчет накопительного итога. 125

3.5. Анализ с учетом сезонности. 127

Сравнение периодов: YoY и MoM.. 129

Сравнение периодов: этот же месяц в прошлом году. 132

Сравнение с несколькими предыдущими периодами. 137

3.6. Заключение. 140

ГЛАВА 4. Когортный анализ. 141

4.1. Составляющие когортного анализа. 141

4.2. Набор данных о законодателях. 144

4.3. Анализ удержания. 146

Общая кривая удержания. 148

Заполнение отсутствующих дат для большей точности. 152

Когорты, полученные из временного ряда. 158

Определение когорт по другой таблице. 164

Работа с разреженными когортами. 169

Когорты по датам, отличным от первой даты.. 174

4.4. Связанные когортные анализы.. 177

Выживаемость. 177

Возвращаемость или поведение при повторной покупке. 182

Накопительный итог. 188

4.5. Поперечный анализ через все когорты.. 192

4.6. Заключение. 201

ГЛАВА 5. Текстовый анализ. 203

5.1. Текстовый анализ и SQL. 203

Что такое текстовый анализ. 204

Как можно использовать SQL для текстового анализа. 204

Когда не стоит использовать SQL. 206

5.2. Набор данных о наблюдениях НЛО.. 206

5.3. Характеристики текста. 207

5.4. Разбор текста. 210

5.5. Преобразование текста. 216

5.6. Поиск в текстовых данных. 225

Подстановочные знаки: LIKE, ILIKE. 225

Точное соответствие: IN, NOT IN.. 231

Регулярные выражения. 234

5.7. Конкатенация и реорганизация. 251

Конкатенация строк. 251

Реорганизация текстовых полей. 255

5.8. Заключение. 259

ГЛАВА 6. Выявление аномалий. 261

6.1. Возможности SQL для обнаружения аномалий. 262

6.2. Набор данных о землетрясениях. 263

6.3. Поиск аномалий. 264

Сортировка для поиска аномалий. 265

Расчет процентилей и стандартных отклонений. 268

Поиск аномалий с помощью графиков. 276

6.4. Виды аномалий. 284

Аномальные значения. 284

Аномальное количество или частота. 288

Аномальное отсутствие данных. 293

6.5. Обработка аномалий. 295

Исследование аномалий. 295

Исключение аномальных записей. 296

Замена на альтернативные значения. 298

Изменение масштаба. 300

6.6. Заключение. 302

ГЛАВА 7. Анализ экспериментов. 303

7.1. Плюсы и минусы SQL для анализа экспериментов. 304

7.2. Набор данных о мобильной игре. 306

7.3. Типы экспериментов. 307

Эксперименты с бинарными результатами: тест хи-квадрат. 308

Эксперименты с непрерывными результатами: t-тест. 310

7.4. Спасение неудачных экспериментов. 313

Система назначения вариантов. 313

Выбросы.. 314

Метод временных рамок. 316

Эксперименты с повторным воздействием.. 317

7.5. Альтернативные анализы, когда контролируемые эксперименты невозможны   319

Анализ «до и после». 319

Анализ естественных экспериментов. 321

Анализ популяции около порогового значения. 323

7.6. Заключение. 324

ГЛАВА 8. Создание сложных наборов данных. 325

8.1. SQL для сложных наборов данных. 325

Преимущества использования SQL. 326

Перенос логики в ETL. 326

Перенос логики в другие инструменты.. 329

8.2. Упорядочивание кода. 330

Комментарии. 330

Регистр, отступы, круглые скобки и другие приемы форматирования. 332

Хранение кода. 335

8.3. Контроль над порядком вычислений. 335

Порядок выполнения операций SQL. 336

Подзапросы.. 339

Временные таблицы.. 342

Общие табличные выражения. 343

Расширения для группировки. 345

8.4. Управление размером набора данных и проблемы конфиденциальности. 349

Частичная выборка с помощью остатка от деления. 349

Уменьшение размерности. 351

Персональные данные и конфиденциальность. 356

8.5. Заключение. 358

ГЛАВА 9. Комбинирование методов анализа и полезные ресурсы.. 359

9.1. Анализ воронки продаж.. 359

9.2. Отток, отставшие и анализ разрывов. 361

9.3. Анализ потребительской корзины.. 366

9.4. Полезные ресурсы.. 368

Книги и блоги. 369

Наборы данных. 370

9.5. Заключение. 371

Об авторе. 373

Об обложке. 374

Предметный указатель. 375

Танимура Кэти

Кэти Танимура более 20 лет занимается анализом данных в самых разных отраслях, от финансов до программного обеспечения и сферы потребительских услуг. Кэти управляла командами специалистов по анализу данных в нескольких ведущих технологических компаниях. Имеет богатый опыт работы со стандартом SQL, включая наиболее популярные проприетарные базы данных и базы данных с открытым исходным кодом.

Summary
Aggregate Rating
3 based on 1 votes
Добавить комментарий