28 мая 2012

Протокол разведочного анализа данных: выявление выбросов



За последние несколько десятилетий арсенал прикладной статистики значительно пополнился за счет развития новых методов, таких как, например, обобщенные линейные модели (Generalized Linear Models), обобщенные аддитивные модели (Generalized Additive Models), модели со смешанными эффектами (Mixed-Effects Models), деревья принятия решений (Regression and Classification Trees), анализ выживаемости (Survival Analysis), многомерное шкалирование (Multidimensional Scaling), и др. Более того, появление быстрых современных компьютеров и свободного программного обеспечения (вроде R) сделало все эти требующие вычислительных ресурсов методы доступными практически для каждого исследователя. Однако такая доступность еще больше обостряет хорошо известную проблему всех статистических методов, которую на английском языке часто описывают как "rubbish in, rubbish out", т.е. "мусор на входе - мусор на выходе". Речь здесь идет о следующем: чудес не бывает, и если мы не будем уделять должного внимания тому, как тот или иной метод работает и какие требования предъявляет к анализируемым данным, то получаемые с его помощью результаты нельзя будет воспринимать всерьез. Поэтому каждый раз исследователю следует начинать свою работу с тщательного ознакомления со свойствами полученных данных и проверки необходимых условий применимости соответствующих статистических методов. Этот начальный этап анализа называют разведочным (Exploratory Data Analysis).

20 мая 2012

Классические методы статистики: критерий Уилкоксона



В одном из предыдущих сообщений я описал расчет критерия Стьюдента при помощи соответствующей функции, входящей в базовую комплектацию R - t.test(). Одно из важных условий корректного применения критерия Стьюдента состоит в том, что анализируемые выборки должны происходить из нормально распределенных генеральных совокупностей. В случаях, когда это условие не выполняется, вместо критерия Стьюдента следует использовать  его непараметрический аналог - критерий Уилкоксона (Wilcoxon rank test). Здесь следует сразу пояснить, что создатели системы R под названием "критерий Уилкоксона" (или "тест Уилкоксона") объединяют как собственно метод, предложенный Фрэнком Уилкоксоном (Frank Wilcoxon) в 1945 г., так и опубликованный несколько позднее (1947 г.) метод Манна-Уитни. Первый из этих методов обычно используется для сравнения двух связных выборок, тогда как второй предназначен для сравнения двух независимых выборок. Ниже я не буду разграничивать эти методы, придерживаясь подхода, принятого в системе R.

16 мая 2012

Вышла новая версия RStudio - v0.96



Два дня тому назад в официальном блоге RStudio было сообщено о выходе новой версии программы. В данном обновлении разработчики одной из самых популярных IDE для R сосредоточились на опциях, направленных на 1) обеспечение воспроизводимости научных исследований путем "грамотного программирования" (соответственно, расширились возможности по работе с Sweave и появилась интеграция с пакетом knitr); 2) создание динамических веб-отчетов в форматах R Markdown и R HTML.

Появилось также несколько новых опций по редактированию кода, включая давно ожидаемое сворачивание кода. Более подробно новшества RStudio описаны в представленном ниже видеоролике (англ. яз.).




09 мая 2012

Воспроизводимость результатов при использовании генератора случайных чисел



В практике статистического анализа данных часто приходится иметь дело с необходимостью генерации случайных чисел, подчинящихся тому или иному закону распределения вероятностей (например, при необходимости случайным образом отобрать небольшую выборку из массивной таблицы данных, при использовании бутстреп-методов, методов Монте-Карло, и т.п.).

В системе R реализован целый ряд алгоритмов, позволящих генерировать случайные числа (см. ?RNGkind; по умолчанию используется один из наиболее быстрых генераторов - т.н. "Вихрь Мерсенна" (Mersenne twister)). Очень важно понимать, что практически все эти алгоритмы детерминированы, и поэтому генерируемые с их помощью числа правильно называть "псевдослучайными".


01 мая 2012

Базовые графические возможности R: функция cdplot()



Для визуализации связи между двумя переменными, одна из которых является количественной, а другая качественной (фактором), можно использовать диаграмму размахов.  При таком подходе ось ординат соответствовала бы значениям количественной переменной. Но что если зависимой является качественная переменная? Полезной здесь может оказаться одна из базовых графических функций R - cdplot(), позволяющая совмещать на одном графике плотности вероятности для каждого уровня интересующей исследователя качественной переменной (англ. conditional density plot).

Ниже я приведу пример, заимствованный из книги Everitt & Hothorn (2010) - одного из лучших, на мой взгляд, руководств по биостатистическому анализу с использованием R. Нам потребуется пакет HSAUR2, сопровождающий эту книгу. Его легко установить при помощи команды install.packages("HSAUR2").