04 июня 2017

Обзор интересных R-пакетов за май 2017 г.





  • CausalImpact: великолепный инструмент от аналитиков из Google, который позволяет оценить эффект экспериментального воздействия на изменяющуюся во времени переменную при отсутствии контрольной группы.
  • defer: пакет, с помощью которого можно удобно "обернуть" несколько функций в одну высокоуровневую функцию. Вот небольшой пример:

    C <- 10
    
    f <- function(x) x*x + C
    g <- function(y) (f(y) + 10) * f(y+3)
    h <- function(z) mean(c(g(z), g(z+1), g(z+2)))
    
    wrapper <- defer(h)
    #> Found functions:
    #>   g, f
    #> variables:
    #>   C
    #> library calls:
    #>   base::mean
    
    rm(C, f, g, h)
    
    wrapper(10)
    #> [1] 29688.67
    

  • d3Tree: R-интерфейс к JavaScript-библиотеке D3 для создания "схлопывающихся" дендрограмм. См. примеры здесь.
  • MultiVarSel: реализация метода Perrot-Dockes et al. (2017) для селекции информативных предикторов для общих линейных моделей. См. примеры здесь.
  • networktools: набор функций для анализа графов (сетей). В частности, в этом пакете реализована новая метрика для оценки "влияния" (impact) отдельных узлов и ребер графа на устойчивость его структуры.
  • philentropy: позволяет вычислить 46 различных метрик сходства/расстояния между многомерными объектами. Вот список реализованных в этом пакете метрик:

    library(philentorpy)
    
    getDistMethods()
    
    ##  [1] "euclidean"         "manhattan"         "minkowski"         "chebyshev"        
    ##  [5] "sorensen"          "gower"             "soergel"           "kulczynski_d"     
    ##  [9] "canberra"          "lorentzian"        "intersection"      "non-intersection" 
    ## [13] "wavehedges"        "czekanowski"       "motyka"            "kulczynski_s"     
    ## [17] "tanimoto"          "ruzicka"           "inner_product"     "harmonic_mean"    
    ## [21] "cosine"            "hassebrook"        "jaccard"           "dice"             
    ## [25] "fidelity"          "bhattacharyya"     "hellinger"         "matusita"         
    ## [29] "squared_chord"     "squared_euclidean" "pearson"           "neyman"           
    ## [33] "squared_chi"       "prob_symm"         "divergence"        "clark"            
    ## [37] "additive_symm"     "kullback-leibler"  "jeffreys"          "k_divergence"     
    ## [41] "topsoe"            "jensen-shannon"    "jensen_difference" "taneja"           
    ## [45] "kumar-johnson"     "avg"

  • R, а также Python и F# теперь интегрированы в IDE Visual Studio, что, согласно задумке Microsoft, добавит удобства в процесс разработки "умных приложений" на основе этих языков благодаря использованию одной IDE.
  • shinymaterial: позволяет оформлять Shiny-приложения в духе "материального дизайна" (material design), предложенного Google. Подробнее см. здесь.
  • simmer: набор функций для моделирования дискретных событий.
  • Syberia: новый фреймворк для разработки предсказательных моделей средствами R и последующего внедрения этих моделей в бизнес-процессы. См. также видео доклада по Syberia, сделанного недавно на конференции R/Finance.

10 мая 2017

Обзор интересных R-пакетов за март-апрель 2017 г.



  • 21 апреля 2017 г. вышла новая версия R (v3.4.0), в которую вошло несколько изменений, связанных с увеличением скорости вычислений. Подробнее можно узнать здесь.
  • choroplethr: предназначен для создания картограмм. Кроме того, с помощью этого пакета можно выполнять соединение с несколькими удаленными источниками картографических данных.
  • cronR: позволяет задавать расписание выполнения R-скриптов на Unix/Linux машинах. Есть и аналогичный пакет для Windows-машин - taskscheduleR (см. примеры здесь).
  • errors: в физике и других научных дисциплинах любое измерение всегда сопровождается определенной погрешностью. В R одновременно работать с результатами подобных измерений и их погрешностями не трудно, но утомительно. Новый пакет errors предлагает удобное решение для работы с такими данными.
  • HIBPwned: R-интерфейс к API сервиса "Have I Been Pwned?". С помощью этого сервиса можно выяснить, находится ли тот или иной адрес электронной почты в списках адресов, учетные данные которых стали по тем или иным причинам публично доступными.
  • kerasR: R-интерфейс к популярной Python-библиотеке для "глубинного обученияKeras. См. примеры здесь.
  • Компания Microsoft объявила о выпуске новой версии Microsoft R Server (v9.1).
  • modeleval: набор утилит для анализа качества предсказательных моделей, построенных с помощью пакета caret.
  • readxl: как следует из названия, этот пакет предназначен для организации удобной работы с файлами Excel из среды R.
  • RInside: с помощью этого пакета можно встраивать функционал R в приложения, написанные на C++.
  • Sinew: позволяет автоматически создать "скелет" справочного файла для той или иной функции в формате roxygen2, что значительно сэкономит время при разработке новых пакетов для R.
  • shinyWidgets: набор дополнительных виджетов для разработки Shiny-приложений.
  • shinyjqui: с помощью этого пакета можно добавлять jQuery UI-элементы в Shiny-приложения. Примеры приведены здесь и здесь.
  • Исправлены небольшие ошибки в популярном пакете quantmod, предназначенном для разработки трейдинговых моделей.


30 апреля 2017

Делимся опытом: визуализация данных из лог-файлов



Сегодня в рамках рубрики "Делимся опытом" мы представляем вашему вниманию небольшую заметку Дмитрия Берга, в которой он рассказывает о визуализации данных из лог-файлов средствами сервиса plot.ly.




07 апреля 2017

Новая книга по R: "Классификация, регрессия и другие алгоритмы Data Mining с использованием R"



Друзья!

Владимир Кириллович и я рады представить вашему вниманию новый результат нашей совместной работы - книгу "Классификация, регрессия и другие алгоритмы Data Mining с использованием R".

В книге рассмотрена широкая совокупность методов построения статистических моделей классификации и регрессии для откликов, измеренных в альтернативной, категориальной и метрической шкалах. Подробно рассматриваются деревья решений, машины опорных векторов с различными разделяющими поверхностями, нелинейные формы дискриминантного анализа, искусственные нейронные сети и т.д. Показана технология применения таких методов бутстреп-агрегирования деревьев решений, как бэггинг, случайный лес и бустинг. Представлены различные методы построения ансамблей моделей для коллективного прогнозирования. Особое внимание уделяется сравнительной оценке эффективности и поиску оптимальных областей значений гиперпараметров моделей с использованием пакета caret. Рассматриваются такие алгоритмы Data Mining, как генерация ассоциативных правил и анализ последовательностей. Отдельная глава посвящена методам многомерной ординации данных и различным алгоритмам кластерного анализа.

Описание указанных методов сопровождается многочисленными примерами из различных областей на основе общедоступных исходных данных. Представлены несложные скрипты на языке R, дающие возможность читателю легко воспроизвести все расчеты.

Книга может быть использована в качестве учебного пособия по статистическим методам для студентов и аспирантов высших учебных заведений.

Книга распространяется совершенно бесплатно. Ее PDF-версию и соответствующие приложения можно скачать по следующим двум официальным адресам:
Кроме того, книга опубликована в виде отдельного сайта по адресу:


В ближайшее время мы планируем выложить также EPUB- и MOBI-версии, предназначенные для чтения на соответствующих электронных устройствах.

Мы будем благодарны за любые ваши замечания и пожелания касательно этой работы - отправляйте их, пожалуйста, по электронной почте stok1946["собака"]gmail.com и/или rtutorialsbook["собака"]gmail.com

Сергей Мастицкий, Владимир Шитиков



P.S.: Как отмечено выше, книга распространяется бесплатно. Однако если она окажется вам полезной и вы сочтете уместным отблагодарить авторов за их работу, вы можете перечислить любую сумму, воспользовавшись следующей кнопкой (все транзакции выполняются в безопасном режиме через систему электронных платежей PayPal; наличие у вас аккаунта в этой системе необязательно):



12 февраля 2017

Построение деревьев регрессии



Автор: Владимир Шитиков

В одном из предыдущих сообщений были определены основные понятия, преимущества и недостатки деревьев классификации и регрессии, которые являются одним из наиболее популярных методов решения многих практических задач (Breiman at al., 1984; Quinlan, 1986). По своей сути деревья используют "наивный подход" (naive approach) в том смысле, что исходят из предположения о взаимной независимости признаков. Поэтому модели регрессионных деревьев статистически наиболее работоспособны, когда мультиколлинеарность в комплексе анализируемых переменных выражена незначительно.