Главная страница
Навигация по странице:

  • Глава 1. Что такое данные и зачем их обрабатывать

  • Что такое данные и зачем их обрабатывать

  • А. Б. Шипунов, Е. М. Балдин, П. А. Волкова, А. И. Коробейников, С. А. Назарова


    Скачать 3.04 Mb.
    НазваниеА. Б. Шипунов, Е. М. Балдин, П. А. Волкова, А. И. Коробейников, С. А. Назарова
    Анкорrbook
    Дата29.09.2022
    Размер3.04 Mb.
    Формат файлаpdf
    Имя файлаrbook.pdf
    ТипДокументы
    #705644
    страница1 из 19
      1   2   3   4   5   6   7   8   9   ...   19

    А. Б. Шипунов, Е. М. Балдин, П. А. Волкова,
    А. И. Коробейников, С. А. Назарова,
    С. В. Петров, В. Г. Суфиянов
    Наглядная статистика
    Используем R!
    26 июля 2020 г.
    (исправленная версия)

    Оглавление
    Предисловие
    7

    Глава 1. Что такое данные и зачем их обрабатывать?
    10 1.1. Откуда берутся данные . . . . . . . . . . . . . . . . . . .
    10 1.2. Генеральная совокупность и выборка . . . . . . . . . . .
    12 1.3. Как получать данные . . . . . . . . . . . . . . . . . . . .
    13 1.4. Что ищут в данных . . . . . . . . . . . . . . . . . . . . .
    17
    Глава 2. Как обрабатывать данные
    21 2.1. Неспециализированные программы . . . . . . . . . . . .
    21 2.2. Специализированные статистические программы . . . .
    22 2.2.1. Оконно-кнопочные системы . . . . . . . . . . . . .
    22 2.2.2. Статистические среды . . . . . . . . . . . . . . . .
    24 2.3. Из истории S и R . . . . . . . . . . . . . . . . . . . . . . .
    24 2.4. Применение, преимущества и недостатки R . . . . . . .
    25 2.5. Как скачать и установить R . . . . . . . . . . . . . . . .
    27 2.6. Как начать работать в R . . . . . . . . . . . . . . . . . .
    28 2.6.1. Запуск . . . . . . . . . . . . . . . . . . . . . . . . .
    28 2.6.2. Первые шаги . . . . . . . . . . . . . . . . . . . . .
    29 2.7. R и работа с данными: вид снаружи . . . . . . . . . . . .
    30 2.7.1. Как загружать данные . . . . . . . . . . . . . . . .
    30 2.7.2. Как сохранять результаты . . . . . . . . . . . . .
    36 2.7.3. R как калькулятор . . . . . . . . . . . . . . . . . .
    37 2.7.4. Графики . . . . . . . . . . . . . . . . . . . . . . . .
    38 2.7.5. Графические устройства . . . . . . . . . . . . . . .
    40 2.7.6. Графические опции . . . . . . . . . . . . . . . . . .
    42 2.7.7. Интерактивная графика . . . . . . . . . . . . . . .
    43
    Глава 3. Типы данных
    46 3.1. Градусы, часы и километры: интервальные данные . . .
    46 3.2. «Садись, двойка»: шкальные данные . . . . . . . . . . .
    49 3.3. Красный, желтый, зеленый: номинальные данные . . . .
    50 3.4. Доли, счет и ранги: вторичные данные . . . . . . . . . .
    56 3.5. Пропущенные данные . . . . . . . . . . . . . . . . . . . .
    59 3.6. Выбросы и как их найти . . . . . . . . . . . . . . . . . .
    61

    4 3.7. Меняем данные: основные принципы преобразования . .
    62 3.8. Матрицы, списки и таблицы данных . . . . . . . . . . .
    64 3.8.1. Матрицы . . . . . . . . . . . . . . . . . . . . . . . .
    64 3.8.2. Списки . . . . . . . . . . . . . . . . . . . . . . . . .
    66 3.8.3. Таблицы данных . . . . . . . . . . . . . . . . . . .
    68
    Глава 4. Великое в малом: одномерные данные
    73 4.1. Как оценивать общую тенденцию . . . . . . . . . . . . .
    73 4.2. Ошибочные данные . . . . . . . . . . . . . . . . . . . . .
    83 4.3. Одномерные статистические тесты . . . . . . . . . . . .
    84 4.4. Как создавать свои функции . . . . . . . . . . . . . . . .
    88 4.5. Всегда ли точны проценты . . . . . . . . . . . . . . . . .
    91
    Глава 5. Анализ связей: двумерные данные
    95 5.1. Что такое статистический тест . . . . . . . . . . . . . . .
    95 5.1.1. Статистические гипотезы . . . . . . . . . . . . . .
    95 5.1.2. Статистические ошибки . . . . . . . . . . . . . . .
    96 5.2. Есть ли различие, или Тестирование двух выборок . . .
    97 5.3. Есть ли соответствие, или Анализ таблиц . . . . . . . . 103 5.4. Есть ли взаимосвязь, или Анализ корреляций . . . . . . 110 5.5. Какая связь, или Регрессионный анализ . . . . . . . . . 115 5.6. Вероятность успеха, или Логистическая регрессия . . . 125 5.7. Если выборок больше двух . . . . . . . . . . . . . . . . . 128
    Глава 6. Анализ структуры: data mining
    . . . . . . . . . . . 144 6.1. Рисуем многомерные данные . . . . . . . . . . . . . . . . 144 6.1.1. Диаграммы рассеяния . . . . . . . . . . . . . . . . 145 6.1.2. Пиктограммы . . . . . . . . . . . . . . . . . . . . . 148 6.2. Тени многомерных облаков: анализ главных компонент
    151 6.3. Классификация без обучения, или Кластерный анализ . 157 6.4. Классификация с обучением,
    или Дискриминантный анализ . . . . . . . . . . . . . . . 166
    Глава 7. Узнаем будущее: анализ временных рядов
    . . . . 175 7.1. Что такое временные ряды . . . . . . . . . . . . . . . . . 175 7.2. Тренд и период колебаний . . . . . . . . . . . . . . . . . 175 7.3. Построение временного ряда . . . . . . . . . . . . . . . . 176 7.4. Прогноз . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
    Глава 8. Статистическая разведка
    . . . . . . . . . . . . . . . . 192 8.1. Первичная обработка данных . . . . . . . . . . . . . . . . 192 8.2. Окончательная обработка данных . . . . . . . . . . . . . 192 8.3. Отчет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    5
    Приложение А. Пример работы в R
    . . . . . . . . . . . . . . 198
    Приложение Б. Графический интерфейс (GUI) для R
    . . 209
    Б.1. R Сommander . . . . . . . . . . . . . . . . . . . . . . . . . 209
    Б.2. RStudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
    Б.3. RKWard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
    Б.4. Revolution-R . . . . . . . . . . . . . . . . . . . . . . . . . . 213
    Б.5. JGR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
    Б.6. Rattle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
    Б.7. rpanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
    Б.8. ESS и другие IDE . . . . . . . . . . . . . . . . . . . . . . 220
    Приложение В. Основы программирования в R
    . . . . . . . 222
    В.1. Базовые объекты языка R . . . . . . . . . . . . . . . . . . 222
    В.1.1. Вектор . . . . . . . . . . . . . . . . . . . . . . . . . 222
    В.1.2. Список . . . . . . . . . . . . . . . . . . . . . . . . . 223
    В.1.3. Матрица и многомерная матрица . . . . . . . . . 224
    В.1.4. Факторы . . . . . . . . . . . . . . . . . . . . . . . . 225
    В.1.5. Таблица данных . . . . . . . . . . . . . . . . . . . 226
    В.1.6. Выражение . . . . . . . . . . . . . . . . . . . . . . 226
    В.2. Операторы доступа к данным . . . . . . . . . . . . . . . 227
    В.2.1. Оператор [ с положительным аргументом . . . . 227
    В.2.2. Оператор [ с отрицательным аргументом . . . . . 228
    В.2.3. Оператор [ со строковым аргументом . . . . . . . 228
    В.2.4. Оператор [ с логическим аргументом . . . . . . . 229
    В.2.5. Оператор $ . . . . . . . . . . . . . . . . . . . . . . 229
    В.2.6. Оператор [[ . . . . . . . . . . . . . . . . . . . . . . 230
    В.2.7. Доступ к табличным данным . . . . . . . . . . . . 231
    В.2.8. Пустые индексы . . . . . . . . . . . . . . . . . . . . 233
    В.3. Функции и аргументы . . . . . . . . . . . . . . . . . . . . 233
    В.4. Циклы и условные операторы . . . . . . . . . . . . . . . 236
    В.5. R как СУБД . . . . . . . . . . . . . . . . . . . . . . . . . 237
    В.6. Правила переписывания. Векторизация . . . . . . . . . . 240
    В.7. Отладка . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
    В.8. Элементы объектно-ориентированного программирования в R . . . . . . . . . . . . . . . . . . . . 248
    Приложение Г. Выдержки из документации R
    . . . . . . . 251
    Г.1. Среда R . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
    Г.2. R и S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
    Г.3. R и статистика . . . . . . . . . . . . . . . . . . . . . . . . 252
    Г.4. Получение помощи . . . . . . . . . . . . . . . . . . . . . . 252
    Г.5. Команды R . . . . . . . . . . . . . . . . . . . . . . . . . . 253

    6
    Г.6. Повтор и коррекция предыдущих команд . . . . . . . . 254
    Г.7. Сохранение данных и удаление объектов . . . . . . . . . 254
    Г.8. Внешнее произведение двух матриц . . . . . . . . . . . . 255
    Г.9. c() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
    Г.10. Присоединение . . . . . . . . . . . . . . . . . . . . . . . . 256
    Г.11. scan() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
    Г.12. R как набор статистических таблиц . . . . . . . . . . . . 258
    Г.13. Область действия . . . . . . . . . . . . . . . . . . . . . . 258
    Г.14. Настройка окружения . . . . . . . . . . . . . . . . . . . . 262
    Г.15. Графические функции . . . . . . . . . . . . . . . . . . . . 263
    Г.15.1. plot() . . . . . . . . . . . . . . . . . . . . . . . . . 264
    Г.15.2. Отображение многомерных данных . . . . . . . . 265
    Г.15.3. Другие графические функции высокого уровня . . . . . . . . . . . . . . . . . . . . . . . . . 266
    Г.15.4. Параметры функций высокого уровня . . . . . . . 267
    Г.15.5. Низкоуровневые графические команды . . . . . . 268
    Г.15.6. Математические формулы . . . . . . . . . . . . . . 271
    Г.15.7. Интерактивная графика . . . . . . . . . . . . . . . 271
    Г.15.8. par() . . . . . . . . . . . . . . . . . . . . . . . . . . 272
    Г.15.9. Список графических параметров . . . . . . . . . . 274
    Г.15.10.Края рисунка . . . . . . . . . . . . . . . . . . . . . 277
    Г.15.11.Составные изображения . . . . . . . . . . . . . . . 278
    Г.15.12.Устройства вывода . . . . . . . . . . . . . . . . . . 279
    Г.15.13.Несколько устройств вывода одновременно . . . . 280
    Г.16. Пакеты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
    Г.16.1. Стандартные и сторонние пакеты . . . . . . . . . 282
    Г.16.2. Пространство имен пакета . . . . . . . . . . . . . 282
    Приложение Д. Краткий словарь языка R
    . . . . . . . . . . 284
    Приложение Е. Краткий словарь терминов
    . . . . . . . . . 287
    Литература
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
    Об авторах
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

    Предисловие
    Эта книга написана для тех, кто хочет научиться обрабатывать дан- ные. Такая задача возникает очень часто, особенно тогда, когда нужно выяснить ранее неизвестный факт. Например: есть ли эффект от но- вого лекарства? Или: различаются ли рейтинги двух политиков? Или:

    как будет меняться курс доллара на следующей неделе?
    Многие люди думают, что этот неизвестный факт можно выяснить,
    если просто немного подумать над данными. К сожалению, часто это совершенно не так. Например, по опросу 262 человек, выходящих с из- бирательных участков, выяснилось, что 52% проголосовало за канди- дата А, а 48% — за кандидата Б (естественно, мы упрощаем ситуацию).
    Значит ли это, что кандидат А победил? Подумав, многие сначала ска- жут «Да», а через некоторое время, возможно, «Кто его знает». Но есть простой (с точки зрения современных компьютерных программ)
    «тест пропорций», который позволяет не только ответить на вопрос (в данном случае «Нет»), но и вычислить, сколько надо было опросить человек, чтобы можно было бы ответить на такой вопрос. В описанном случае это примерно 5000 человек (см. объяснение в конце главы про одномерные данные)!
    В общем, если бы люди знали, что можно сделать методами ана- лиза данных, ошибок и неясностей в нашей жизни стало бы гораздо меньше. К сожалению, ситуация в этой области далека от благополу- чия. Тем из нас, кто заканчивал институты, часто читали курс «Тео- рия вероятностей и математическая статистика», однако кроме ужаса и/или тоски от длинных математических формул, набитых гречески- ми буквами, большинство ничего из этих курсов не помнит. А ведь на теории вероятностей основаны большинство методов анализа данных!
    С другой стороны, ведь совсем не обязательно знать радиофизику для того, чтобы слушать любимую радиостанцию по радиоприемнику. Зна- чит, для того чтобы анализировать данные в практических целях, не обязательно свободно владеть математической статистикой и теорией вероятностей. Эту проблему давно уже почувствовали многие англий- ские и американские авторы — названиями типа «Статистика без слез»
    пестрят книжные полки магазинов, посвященные книгам по анализу данных.
    Тут, правда, следует быть осторожным как авторам, так и читате- лям таких книг: многие методы анализа данных имеют, если можно так

    8
    Предисловие выразиться, двойное дно. Их (эти методы) можно применять, глубоко не вникая в сущность используемой там математики, получать резуль- таты и обсуждать эти результаты в отчетах. Однако в один далеко не прекрасный день может выясниться, что данный метод совершен- но не подходил для ваших данных, и поэтому полученные результаты и результатами-то назвать нельзя... В общем, будьте бдительны, вни- мательно читайте про все ограничения методов анализа, а при чтении примеров досконально сравнивайте их со своими данными.
    Про примеры
    : мы постарались привести как можно больше приме- ров, как простых, так и сложных, и по возможности из разных обла- стей жизни, поскольку читателями этой книги могут быть люди самых разных профессий. Еще мы попробовали снизить объем теоретическо- го материала, потому что мы знаем — очень многие учатся только на примерах. Поскольку книга посвящена такой компьютерной про- грамме, которая «работает на текстовом коде», логично было поме- стить эти самые коды в текстовый файл, а сам файл сделать обще- доступным. Так мы и поступили — приведенные в книге примеры мож- но найти на веб-странице по адресу http://ashipunov.info/shipunov/
    software/r/
    . Там же находятся разные полезные ссылки и те файлы данных, которые не поставляются вместе с программой.
    О структуре книги
    : первая глава, по сути, целиком теоретическая.
    Если лень читать общие рассуждения, можно сразу переходить ко вто- рой главе. Однако в первой главе есть много такой информации, кото- рая позволит в будущем не «наступать на грабли». В общем, решайте сами. Во второй главе самые важные — разделы, начиная с «Как ска- чать и установить R», в которых объясняется, как работать с програм- мой R. Если не усвоить этих разделов, все остальное чтение будет почти бесполезным. Советуем внимательно прочитать и обязательно прорабо- тать все примеры из этого раздела. Последующие главы составляют ядро книги, там рассказывается про самые распространенные методы анализа данных. Глава «Статистическая разведка», в которой обсужда- ется общий порядок статистического анализа, подытоживает книгу; в ней еще раз рассказывается про методы, обсуждавшиеся в предыдущих главах. В приложениях к книге содержится много полезной информа- ции: там рассказано о графических интерфейсах к R, приведен простой практический пример работы, описаны основы программирования в R,
    приведены выдержки из перевода официальной документации. По сути,
    каждое приложение — это отдельный небольшой справочник, который можно использовать более или менее независимо от остальной книги.
    Конечно, множество статистических методов, в том числе и доволь- но популярных, в книгу не вошли. Мы почти не касаемся статистиче- ских моделей, ничего не пишем о контрастах, не рассказываем о стан- дартных распределениях (за исключением нормального), эффектах, кри-

    Предисловие
    9
    вых выживания, байесовых методах, факторном анализе, геостатисти- ке, не объясняем, как делать многофакторный и блочный дисперсион- ный анализ, планировать эксперимент и т. д., и т. п. Наша цель — на- учить основам статистического анализа. А если читатель хорошо осво- ит основы, то любой продвинутый метод он сможет одолеть без особого труда, опираясь на литературу, встроенную справку и Интернет.
    Несколько технических замечаний
    : все десятичные дроби в книге представлены в виде чисел с разделителем-точкой (типа 10.4), а не за- пятой (типа 10,4). Это сделано потому, что программа R по умолчанию
    «понимает» только первый вариант дробей. И еще: многие приведенные в книге примеры можно (и нужно!) повторить самостоятельно. Такие примеры напечатаны машинописным шрифтом и начинаются со значка
    «больше» — «>». Если пример не умещается на одной строке, все по- следующие его строки начинаются со знака «плюс» — «+» (не набирайте эти знаки, когда будете выполнять примеры!). Если в книге идет речь о загрузке файлов данных, то предполагается, что все они находятся в поддиректории data в текущей директории. Если вы будете скачи- вать файлы данных с упомянутого выше сайта, не забудьте создать эту поддиректорию и скопировать туда файлы данных.

    Глава 1

    Что такое данные и зачем их обрабатывать?
    В этой главе рассказывается о самых общих понятиях анализа дан- ных.
    1.1. Откуда берутся данные
    «Без пруда не выловишь и рыбку из него»,— говорит народная муд- рость. Действительно, если хочешь анализировать данные, надо их сна- чала получить. Способов получения данных много, а самые главные —
    наблюдения и эксперименты.
    Наблюдением будем называть такой способ получения данных, при котором воздействие наблюдателя на наблюдаемый объект сведено к минимуму. Эксперимент тоже включает наблюдение, но сначала на наблюдаемый объект оказывается заранее рассчитанное воздействие.
    Для наблюдения очень важно это «сведение воздействия к минимуму».
    Если этого не сделать, мы получим данные, отражающие не свойства объекта, а его реакцию на наше воздействие.
    Вот, например, встала задача исследовать, чем питается какое-то редкое животное. Оптимальная стратегия наблюдения здесь состоит в установке скрытых камер во всех местах, где это животное обитает.
    После этого останется только обработать снятое, чтобы определить вид пищи. Очень часто, однако, оптимальное решение совершенно невыпол- нимо, и тогда пытаются обойтись, скажем, наблюдением за животным в зоопарке. Ясно, что в последнем случае на объект оказывается воз- действие, и немалое. В самом деле, животное поймали, привезли в со- вершенно нетипичные для него условия, да и корм, скорее всего, будет непохож на тот, каким оно питалось на родине. В общем, если наблю- дения в зоопарке поставлены грамотно, то выяснено будет не то, чем вообще питается данное животное, а то, чем оно питается при содержа- нии в определенном зоопарке. К сожалению, многие (и исследователи,
    и те, кто потом читает их отчеты) часто не видят разницы между этими двумя утверждениями.

    Откуда берутся данные
    11
    Вернемся к примеру из предисловия. Предположим, мы опрашива- ем выходящих с избирательных участков. Часть людей, конечно, во- обще окажется отвечать. Часть ответит что-нибудь, не относящееся к делу. Часть вполне может намеренно или случайно исказить свой ответ.
    Часть ответит правду. И все это серьезным образом зависит от наблю- дателя — человека, проводящего опрос.
    Даже упомянутые выше скрытые камеры приведут к определенно- му воздействию: они же скрытые, но не невидимые и невесомые. Нет никакой гарантии, что наше животное или его добыча не отреагирует на них. А кто будет ставить камеры? Если это люди, то чем больше ка- мер поставить, тем сильнее будет воздействие на окружающую среду.
    Сбрасывать с вертолета? Надеемся, что вам понятно, к чему это может привести.
    В общем, из сказанного должно быть понятно, что наблюдение «в чистом виде» более или менее неосуществимо, поскольку всегда будет внесено какое-нибудь воздействие. Поэтому для того, чтобы адекватно работать с данными наблюдений, надо всегда четко представлять, как они проводились. Если воздействие было значительным, то надо пред- ставлять (хотя бы теоретически), какие оно могло повлечь изменения,
    а в отчете обязательно указать на те ограничения, которые были вы- званы способом наблюдения. Не следует без необходимости применять экстраполяцию: если мы увидели, что А делает Б, нельзя писать «А
    всегда делает Б» и даже «А обычно делает Б». Можно лишь писать нечто вроде «в наших наблюдениях А делал Б, это позволяет с некото- рой вероятностью предположить, что он может делать Б».
    У эксперимента свои проблемы. Наиболее общие из них — это точ- ный учет воздействия и наличие контроля. Например, мы исследуем действие нового лекарства. Классический эксперимент состоит в том,
    что выбираются две группы больных (как выбрать такие группы, сколь- ко должно быть человек и прочее, рассмотрено дальше). Всем больным сообщают, что проводится исследование нового лекарства, но его дают только больным первой группы, остальные получают так называемое плацебо
    , внешне неотличимое от настоящего лекарства, но не содержа- щее ничего лекарственного. Зачем это делается? Дело в том, что если больной будет знать, что ему дают «ненастоящее» лекарство, то это скажется на эффективности лечения, потому что результат зависит не только от того, что больной пьет, но и от того, что он чувствует. Ины- ми словами, психологическое состояние больного — это дополнитель- ный фактор воздействия, от которого в эксперименте лучше избавить- ся. Очень часто не только больным, но и их врачам не сообщают, кому дают плацебо, а кому — настоящее лекарство (двойной слепой метод).
    Это позволяет гарантировать, что и психологическое состояние врача не повлияет на исход лечения.

    12

      1   2   3   4   5   6   7   8   9   ...   19


    написать администратору сайта