Главная страница

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


Скачать 3.04 Mb.
НазваниеА. Б. Шипунов, Е. М. Балдин, П. А. Волкова, А. И. Коробейников, С. А. Назарова
Анкорrbook
Дата29.09.2022
Размер3.04 Mb.
Формат файлаpdf
Имя файлаrbook.pdf
ТипДокументы
#705644
страница3 из 19
1   2   3   4   5   6   7   8   9   ...   19
Что такое данные и зачем их обрабатывать?
причин (сложность сборки, хрупкость, стоимость, наличие стек- лянных частей, наличие ящиков и полок и т. д.). Одновременно оценить эти факторы может лишь очень умелый человек. Однако существуют методы анализа, которые с легкостью разделят ме- бель на две группы, а заодно и проверят качество классификации,
например ее соответствие сложившейся практике перевозок.
Существует и другой подход к результатам анализа данных. В нем все методы делятся на предсказательные и описательные. К первой группе методов относится все, что можно статистически оценить, то есть выяснить, с какой вероятностью может быть верным или невер- ным наш вывод. Ко второй — методы, которые «просто» сообщают ин- формацию о данных без подтверждения какими-либо вероятностными методами. В последние годы все для большего числа методов находятся способы их вероятностной оценки, и поэтому первая группа все время увеличивается.
* * *
Ответ к задаче про случайный выбор деревьев в лесу
. В этом случае шанс быть выбранными у елок выше, чем у дубов. Кроме того,
лес может иметь какую-то структуру именно в выбранном направлении,
и поэтому одной такой «диагонали» будет недостаточно для того, чтобы отобразить весь лес. Чтобы улучшить данный метод, надо провести несколько «диагоналей», а расстояния между выбираемыми деревьями по возможности увеличить.
Ответ к задаче про выбор жуков
. Дело в том, что первыми вы- лезают самые активные особи, а чем активнее особь, тем быстрее она набирает на лапки смертельную дозу ядохимиката и, стало быть, быст- рее гибнет. Это и было нарушением принципа рандомизации. Кроме того, нарушался принцип повторности: в чашку последовательно са- жали жука за жуком, что не могло не повлиять на исход опыта. Для того чтобы поставить опыт правильно, надо было сначала подготовить
(30 × количество ядохимикатов) чашек, столько же листочков с бума- гой, случайным образом распределить ядохимикаты по чашкам, а затем перемешать жуков в банке, достать соответствующее количество и рас- садить по чашкам.

Глава 2
Как обрабатывать данные
В принципе, обрабатывать данные можно и без компьютера. Так поступали в те годы, когда компьютерная техника была недоступна.
Однако многие статистические расчеты настолько тяжеловесны, что уже в XIX веке стали придумывать способы их автоматизации.
2.1. Неспециализированные программы
Почти в любом компьютере с предустановленной системой есть про- грамма-калькулятор. Такая программа обычно умеет выполнять четы- ре арифметических действия, часто — считать квадратные корни и сте- пени, иногда логарифмы. В принципе, этого достаточно для того, чтобы делать простейшую обработку: считать среднее значение, стандартное отклонение, некоторые тесты.
Вообще говоря, для того чтобы делать тесты, кроме калькулятора потребуются еще и статистические таблицы, из которых можно узнать примерные значения так называемых статистик — величин, характе- ризующих данные в целом. Таблицы используются потому, что точ- ный (по-английски «exact») подсчет многих статистик слишком сло- жен, порой даже для продвинутых компьютерных программ, поэтому используются оценочные («estimated») значения. Статистические таб- лицы можно найти во многих книгах по классической статистике, они также «встроены» во многие специализированные программы.
Главный недостаток калькулятора — сложность работы с сериями чисел, в то время как обычно данные как раз «идут» сериями (колон- ками, векторами). Чтобы работать с сериями более эффективно (и не только для этого), были придуманы электронные таблицы. Объяснять,
как они устроены, наверное, не нужно. Сила электронных таблиц преж- де всего в том, что они помогают визуализировать данные.
Глядя в электронную таблицу, можно сразу понять, как выглядят данные в целом, и «на глазок» оценить их основные параметры. Это очень полезно. Кроме визуализации, программы электронных таблиц снабжены развитым инструментарием для ввода и преобразования дан- ных — автодополнением, автокопированием, сортировкой и т. п. Однако

22
Как обрабатывать данные большинство таких программ имеет своеобразное «родимое пятно» —
они создавались в основном для офисного применения и были изна- чально ориентированы на бухгалтерские задачи. Для обработки данных нужен гораздо более специализированный инструмент. Конечно, разви- тые программы электронных таблиц, такие как MS Excel, Gnumeric или
OpenOffice.org Calc, имеют, среди прочего, набор статистических функ- ций. Но поскольку это — не основной компонент, на статистику в этих программах традиционно обращается мало внимания. Набор статисти- ческих тестов невелик, многие методы, особенно многомерные, отсут- ствуют, реализация (то есть как именно идут внутри программы сами вычисления) часто далека от оптимальной, нет специализированной си- стемы отчетов, много неудобных ограничений, возможны ошибки, ко- торые будут исправляться не слишком быстро, опять-таки потому, что статистика — не первоочередная функция электронных таблиц.
Кроме того, базовый принцип электронных таблиц — визуализация данных — имеет и свои оборотные стороны. Что, если данные не поме- щаются в окне? В этом случае их надо будет прокручивать или скры- вать часть ячеек. И то, и другое оказывает пользователю медвежью услугу, потому что он рассчитывал на облегчение восприятия данных,
в то время как программа, скорее, затрудняет его. Или другой пример —
надо провести операции с тремя несмежными столбцами. Сделать это через выделение нельзя, потому что выделение всегда одного типа (да и буфер обмена очень часто всего один), приходится делать много дви- жений мышкой с большим риском ошибиться. И уж совсем никуда не годится графическая система, если надо сочетать методы обработки каким-нибудь сложным образом.
Выход — в пользовании специализированными статистическими про- граммами.
2.2. Специализированные статистические программы
2.2.1. Оконно-кнопочные системы
Есть две группы специализированных статистических программ. Пер- вые не особенно отличаются внешне от электронных таблиц, однако снабжены значительно большим арсеналом доступных статистических приемов. Кроме того, у них традиционно мощная графическая часть
(возможных графиков больше, и управление ими более гибкое), а ча- сто и подсистема подготовки отчетов. Многие такие программы имеют значительно меньше ограничений, чем электронные таблицы.

Специализированные статистические программы
23
Очень распространена в России относящаяся к этой группе система
STATISTICA. Как сказано выше, она отличается мощной графической частью, то есть имеет множество возможных вариантов графического вывода, которые при этом довольно гибко настраиваются, так что ко- личество «стандартных» графиков можно смело увеличить в несколько раз. Другим, и очень серьезным, преимуществом STATISTICA являет- ся наличие переведенной на русский язык системы помощи, свободно доступной в Интернете. Эта система может служить заодно и руковод- ством по статистике, поскольку там освещены и общие вопросы. Издано немало книг, посвященных STATISTICA. Надо, однако, заметить, что популярным этот пакет является в основном только в России. Весьма редко можно встретить ссылки на обработку данных этой системой в статьях из ведущих научных (в основном англоязычных) журналов, и это несмотря на то, что система делается в Америке. Поэтому легко можно представить проблемы с обменом данными. Кроме того, как и у всех визуальных систем, однажды проведенное исследование нелегко повторить, если, скажем, появились новые данные. Гибкость STATIS-
TICA велика, но только в пределах так называемых модулей. Если на- до скомбинировать работу нескольких модулей, то придется отойти от графического подхода — например, начать писать макросы. Алгоритмы вычисления в STATISTICA, естественно, закрыты, поэтому иногда при- ходится проводить целое исследование, чтобы выяснить, что на самом деле в данном случае делает программа. К тому же к системе в свое вре- мя было немало претензий по поводу «быстрых и грязных» алгоритмов работы, и есть подозрение, что ситуация не слишком изменилась.
Другой программой, популярной в свое время на российском рын- ке, является система STADIA. Написанная русскоязычными авторами,
она отличается продуманным интерфейсом и очень хорошей системой помощи. К сожалению, это тоже закрытая программа. Немного похо- жа на STADIA программа PAST. Изначально она предназначалась для специализированной обработки данных в геологии, но затем функции значительно расширились, и в сейчас в PAST представлены практиче- ски все широко распространенные средства анализа данных. Графиче- ская часть PAST небогата, но достаточна для базового исследования.
Следует отметить, что, в отличие от двух предыдущих программ, PAST
распространяется бесплатно.
SPSS и MiniTab широко используются за рубежом, однако в России эти системы не слишком распространены. Общий интерфейс их схож со
STATISTICA, хотя имеется и множество своих особенностей, например в подсистемах генерации отчетов. Нужно упомянуть также StatGra- phics, который был доступен в России еще со времен господства MS-
DOS, а в настоящее время приобрел развитый графический интерфейс и стал похож на остальные программы этой группы.

24
Как обрабатывать данные
2.2.2. Статистические среды
Эта группа программ использует в основном интерфейс командной строки. Пользователь вводит команды, система на них отвечает. Зву- чит это просто, однако сами эти программы — одни из самых сложных систем обработки. Вообще говоря, командный интерфейс имеет немало недостатков. Например, пользователь лишен возможности выбрать тип обработки из списка (меню), вместо этого он должен помнить, какие типы обработки доступны. Кроме того, ввод команд схож (а иногда и неотличим) от «настоящего» программирования, так что для работы с подобными системами нужны некоторые навыки программиста (или достаточно смелости, для того чтобы эти навыки приобрести по ходу дела). Зато пользователь получает полный контроль над системой: он может комбинировать любые типы анализа, записывать процедуры в скрипты, которые можно запустить в любое время, модифицировать вывод графиков, сохранять их в любые графические форматы, легко писать расширения для системы, а если она к тому же еще имеет от- крытый код, то и модифицировать саму систему (или, по крайней мере,
легко выяснять, как именно работают вычислительные алгоритмы).
Одна из наиболее продвинутых систем этого плана — это SAS. Это коммерческая, очень мощная система, обладающая развитой системой помощи и имеющая долгую историю развития. Создавалась она для на- учной и экономической обработки данных и до сих пор является одним из лидеров в этом направлении. Написано множество книг, описыва- ющих работу с SAS и некоторые ее алгоритмы. Вместе с тем система сохраняет множество рудиментов 70-х годов, и пользоваться ей пона- чалу не очень легко даже человеку, знакомому с командной строкой и программированием. А стоимость самой системы просто запредель- ная — многие тысячи долларов!
2.3. Из истории S и R
R
— это среда для статистических расчетов. R задумывался как сво- бодный аналог среды S-Plus, которая, в свою очередь, является ком- мерческой реализацией языка расчетов S. Язык S — довольно старая разработка. Он возник еще в 1976 году в компании Bell Labs и был назван, естественно, «по мотивам» языка С. Первая реализация S бы- ла написана на FORTRAN и работала под управлением операционной системы GCOS. В 1980 г. реализация была переписана под UNIX, и с этого момента S стал распространяться в основном в научной среде.
Начиная с третьей версии (1988 г.), коммерческая реализация S называ- ется S-Plus. Последняя распространялась компанией Insightful, а сейчас распространяется компанией TIBCO Software. Версии S-Plus доступны

Применение, преимущества и недостатки R
25
под Windows и различные версии UNIX — естественно, за плату, при- чем весьма и весьма немаленькую (версия для UNIX стоит порядка
$6500). Собственно, высокая цена и сдерживала широкое распростра- нение этого во многих отношениях замечательного продукта. Тут-то и начинается история R.
В августе 1993 г. двое молодых новозеландских ученых анонсиро- вали свою новую разработку, которую они назвали R (буква «R» была выбрана просто потому, что она стоит перед «S», тут есть аналогия с языком программирования C, которому предшествовал язык B). По за- мыслу создателей (это были Robert Gentleman и Ross Ihaka), это должна была быть новая реализация языка S, отличающаяся от S-Plus некото- рыми деталями, например обращением с глобальными и локальными переменными, а также работой с памятью. Фактически они создали не аналог S-Plus, а новую «ветку» на «дереве S» (многие вещи, которые от- личают R от S-Plus, связаны с влиянием языка Scheme). Проект внача- ле развивался довольно медленно, но когда в нем появилось достаточно возможностей, в том числе уникальная по легкости система написания дополнений (пакетов), все большее количество людей стало переходить на R с S-Plus. Когда же, наконец, были устранены свойственные первым версиям проблемы работы с памятью, на R стали переходить и «любите- ли» других статистических пакетов (прежде всего тех, которые имеют интерфейс командной строки: SAS, Stata, SYSTAT). Количество книг,
написанных про R, за последние годы выросло в несколько раз, а коли- чество пакетов уже приближается к трем с половиной тысячам!
2.4. Применение, преимущества и недостатки R
Коротко говоря, R применяется везде, где нужна работа с данными.
Это не только статистика в узком смысле слова, но и «первичный» ана- лиз (графики, таблицы сопряженности) и продвинутое математическое моделирование. В принципе, R может использоваться и там, где в на- стоящее время принято использовать специализированные программы математического анализа, такие как MATLAB или Octave. Но, разуме- ется, более всего его применяют для статистического анализа — от вы- числения средних величин до вейвлет-преобразований и временн
0
ых ря- дов. Географически R распространен тоже очень широко. Трудно найти американский или западноевропейский университет, где бы не работали с R. Очень многие серьезные компании (скажем, Boeing) устанавливают
R
для работы.
У R два главных преимущества: неимоверная гибкость и свободный код. Гибкость позволяет создавать приложения (пакеты) практически на любой случай жизни. Нет, кажется, ни одного метода современно-

26
Как обрабатывать данные го статистического анализа, который бы не был сейчас представлен в
R
. Свободный код — это не просто бесплатность программы (хотя в сравнении с коммерческими пакетами, продающимися за совершенно безумные деньги, это, конечно, преимущество, да еще какое!), но и воз- можность разобраться, как именно происходит анализ, а если в коде встретилась ошибка — самостоятельно исправить ее и сделать исправ- ление доступным для всех.
У R есть и немало недостатков. Самый главный из них — это труд- ность обучения программе. Команд много, вводить их надо вручную,
запомнить все трудно, а привычной системы меню нет. Поэтому порой очень трудно найти, как именно сделать какой-нибудь анализ. Если функция известна, то узнать, что она делает, очень легко, обычно до- статочно набрать команду help(название функции). Увидеть код функ- ции тоже легко, для этого надо просто набрать ее название без скобок или (лучше) ввести команду getAnywhere(название функции). А вот что делать, если «задали» провести, скажем, дисперсионный анализ, а функция неизвестна? (См. ответ в конце главы.)
Не стоит забывать, однако, что сила R — там же, где его слабость.
Интерфейс командной строки позволяет делать такие вещи, которых рядовой пользователь других статистических программ может достичь только часами ручного труда. Вот, например, простая задача: требу- ется превратить выборку, состоящую из цифр от 1 до 9, в таблицу из трех колонок (допустим, это были данные за три дня, и каждый день делалось три измерения). Чтобы сделать это в программе с визуаль- ным интерфейсом, скажем в STATISTICA, требуется: (1) учредить две новые переменные, (2–3) скопировать дважды кусок выборки в буфер,
(4–5) скопировать его в одну и другую переменную и (6) уничтожить лишние строки. В R это делается одной командой:
> b <- matrix(1:9, ncol=3)
Второй недостаток R — относительная медлительность. Некоторые функции, особенно использующие циклы, и виды объектов, особенно списки и таблицы данных, «работают» в десятки раз медленнее, чем их аналоги в коммерческих пакетах. Но этот недостаток преодолева- ется, хотя и медленно. Новые версии R «умеют» делать параллельные вычисления, создаются оптимизированные варианты подпрограмм, ра- ботающие много быстрее, память в R используется все эффективнее, а вместо циклов рекомендуется применять векторизованные вычисления
(см. приложение о программировании в R).
Что же касается трудности обучения, то мы надеемся, что эта книга послужит одним из средств его преодоления.

Как скачать и установить R
27 2.5. Как скачать и установить R
Поскольку R — свободная система, то его можно скачать и устано- вить без всякой оплаты. Есть несколько способов, которые зависят от того, какая у вас операционная система.
Linux.
Если у вас какой-нибудь из распространенных дистрибутивов,
то R наверняка входит в репозиторий «прилагающихся» к вашей системе пакетов. Единственное, что нужно учесть,— обновление пакетов часто отстает от выхода версий R (как правило, четыре раза в год).
Версия нумеруется тремя числами, первые два — это главная вер- сия, обновляется два раза в год. С каждой главной версией в R
вносятся изменения, часто довольно значительные. Как правило,
это множество новых команд, исправленные алгоритмы выполне- ния старых, и разумеется, исправления ошибок. Кроме того, бы- вает так, что страдает обратная совместимость — новые версии начинают иначе истолковывать команды, а иногда команды или их опции перестают действовать. Естественно, разработчики ста- раются минимизировать такие изменения. По своему опыту мо- жем сказать, что написанные на R программы пяти-семилетней давности работают без проблем. В общем, мораль такая: обнов- ляйте R, но при этом всегда читайте список изменений версии.
На каждую главную версию выходят, как правило, две «минор- ные» версии (нулевая и первая). Первая минорная версия обычно ничего нового, кроме исправления ошибок, не содержит.
1   2   3   4   5   6   7   8   9   ...   19


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