Обновить
0

R *

Язык для статистической обработки данных

Сначала показывать
Порог рейтинга
Уровень сложности

Как в enterprise приручить при помощи R технологии process mining?

Время на прочтение6 мин
Количество просмотров2.1K

Как-то так получилось, что в 2020 году возник всплеск интереса к тематике Process Mining. Не исключено, что новая реальность удаленного режима потребовала более пристальной оценки эффективности технологических и бизнес-процессов. Это же как с кривыми и косыми деревянными рамами. Сквозит из всех щелей, а счетчик накручивает мегаватты на обогрев.


В целом, видны несколько популярных запросов по применению технологии process mining:


  • хочется что-то улучшить, но кроме модного слова больше ничего не слышали;
  • получить или сэкономить «живые деньги» путем оптимизации классического процесса «order-to-cash» и ему подобных;
  • системный аудит всего и вся собственной командой аудиторов;
  • построение операционной аналитики и мониторинга на основе показателей процессов, а не ИТ метрик.

В 99% случаев начинают читать Gartner/Forrester и попадают на 4-ку вендоров (Celonis/Minit/Software AG/UiPath), которые как-то присутствуют в России. И до того, как начать получать какую-либо выгоду, тут же получают немаленький ценник за лицензии и последующую ежегодную поддержку. При этом экономическое обоснование шито белыми нитками.


А действительно ли нужно идти таким путем? Особенно, когда задачи и цели не до конца понятны самим постановщикам. Не стоит забывать, что вендоры требуют специально подготовленный лог событий, а его подготовка может вылиться в головную боль и многие месяцы интеграционной работы в классическом enterprise ландшафте.


Является продолжением предыдущих публикаций.

Читать дальше →

Ускорение в 14 000 раз или Победа компьютерной науки

Время на прочтение6 мин
Количество просмотров18K
Как разработчику научного ПО мне приходится много программировать. И большинство людей из других научных областей склонны думать, что программирование — это «просто» набросать код и запустить его. У меня хорошие рабочие отношения со многими коллегами, в том числе из других стран… Физика, климатология, биология и т. д. Но когда дело доходит до разработки ПО, то складывается отчётливое впечатление, что они думают: «Эй, что тут может быть сложного?! Мы просто записываем несколько инструкций о том, что должен сделать компьютер, нажимаем кнопку „Выполнить” и готово — получаем ответ!»

Проблема в том, что невероятно легко написать инструкции, которые означают не то, что вы думаете. Например, программа может совершенно не поддаваться интерпретации компьютером. Кроме того, нет буквально никакого способа определить, завершится ли программа вообще, не выполнив её. И есть много, очень много способов сильно замедлить выполнение программы. В смысле… реально замедлить. Так замедлить, что выполнение займёт всю вашу жизнь или больше. Это чаще всего происходит с программами, которые написаны людьми без компьютерного образования, то есть учёными из других областей. Моя работа — исправлять такие программы.

Люди не понимают, что информатика учит вас теории вычислений, сложности алгоритмов, вычислимости (то есть можем ли мы действительно что-то вычислить? Слишком часто мы считаем само собой разумеющимся, что можем!) Информатика даёт знания, логику и методы анализа, помогающие написать код, который выполнится за минимальное количество времени или с минимальным использованием ресурсов.
Читать дальше →

Пишем telegram бота на языке R (часть 5): Управление правами пользователей бота

Время на прочтение9 мин
Количество просмотров3.8K

В предыдущих статьях мы достаточно подробно разобрали тему ботостроения, от отправки первого сообщения до программирования логического диалога с ботом.


Это последняя статья из данной серии, в которой мы разберёмся с тем, как управлять правами использования отдельных методов бота на различных уровнях.


Читать дальше →

Пишем telegram бота на языке R (часть 4): Построение последовательного, логического диалога с ботом

Время на прочтение9 мин
Количество просмотров4.8K

Если вы уже ознакомились с предыдущими тремя статьями из данной серии, то вы уже умеете писать полноценных telegram ботов с клавиатурой.


В этой статье мы с вами научимся писать бота, который будет поддерживать последовательный диалог. Т.е. бот будет задавать вам вопросы, и ждать от вас ввода какой-либо информации. В зависимости от введённых вами данных бот будет выполнять некоторые действия.


Также в данной статье мы научимся использовать под капотом бота базы данных, в нашем примере это будет SQLite, но вы можете использовать любую другую СУБД. Более подробно о взаимодействии с базами данных на языке R я писал в этой статье.


Читать дальше →

Машинное обучение в среде SQL Server

Время на прочтение3 мин
Количество просмотров5.6K


Инструментарий ML внутри SQL Server

В этой статье описаны шаги по созданию процедуры, которая использует набор данных mtcars, входящий в состав R, на основе которой создается простая обобщенная линейная модель (ОЛМ), способная прогнозировать вероятность оснащения автомобиля механической коробкой передач. Вторая процедура предназначена для оценки — она вызывает модель, созданную в первой процедуре, для вывода набора прогнозов на основе новых данных.
Читать дальше →

Учимся обращаться к данным и запрашивать их при помощи Google BigQuery. С примерами на Python и R

Время на прочтение4 мин
Количество просмотров9K
Привет, Хабр!

Совсем недавно у нас вышла подробная книга о работе с хранилищем данных Google BigQuery. Сегодня мы решили вновь кратко затронуть эту тему и опубликовать небольшой кейс о выполнении запросов к данным BigQuery на Python и R.

Сообщите в комментариях, интересует ли публикация на тему машинного обучения с применением BigQuery


Читать дальше →

Анализируй это: оценки игр на Metacritic

Время на прочтение13 мин
Количество просмотров12K
Привет, мир Хабр!

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

Предыстория


Многие из нас весной-летом этого года получили в своё распоряжение несколько свободных часов в день – работа на дому, спад деловой активности и другие причины всем известны. Своё свободное время я решил обратить на пользу – подтянуть R, которым не пользовался с университетских времён, а заодно и попрактиковаться на реальных данных (грош цена сертификатам без реальных проектов).

Почему я выбрал именно эту базу? Потому, что люблю игры. А ещё, потому что в июне случился скандал вокруг игры The Last of Us. Part II, которая получила практически полное признание критиков, и была крайне негативно воспринята частью игрового сообщества.

Мне было интересно найти ответ на несколько вопросов:

  1. Насколько соответствуют друг другу оценки прессы и игроков?
  2. Существует ли значимая динамика в а) оценках прессы; б) оценках игроков; в) разности оценок?

И я приступил к поиску ответов.
Читать дальше →

Пишем telegram бота на языке R (часть 3): Как добавить боту поддержку клавиатуры

Время на прочтение16 мин
Количество просмотров11K

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


В этой статье мы повысим юзабилити нашего бота за счёт добавления клавиатуры, которая сделает интерфейс бота интуитивно понятным, и простым в использовании.


Читать дальше →

Пишем telegram бота на языке R (часть 2): Добавляем боту поддержку команд и фильтры сообщений

Время на прочтение10 мин
Количество просмотров6.1K

В предыдущей публикации мы разобрались как создать бота, инициализировали экземпляр класса Bot и ознакомились с методами отправки сообщений с его помощью.


В этой статье я продолжаю данную тему, поэтому приступать к чтению данной статьи я рекомендую только после прочтения первой части.


В этот раз мы разберёмся как оживить нашего бота и добавим ему поддержку команд, а также познакомимся с классом Updater.


В ходе статьи мы напишем нескольких простых ботов, последний будет по заданной дате и коду страны определять является ли день в данной стране выходным или рабочим согласно производственного календаря. Но, как и прежде цель статьи ознакомить вас с интерфейсом пакета telegram.bot для решения ваших собственных задач.


Читать дальше →

Пишем telegram бота на языке R (часть 1): Создаём бота, и отправляем с его помощью сообщения в telegram

Время на прочтение12 мин
Количество просмотров18K

Аудитория telegram ежедневно растёт с геометрической прогрессией, этому способствует удобство мессенджера, наличие каналов, чатов, и конечно возможность создавать ботов.


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


По сути через бота можно используя telegram выполнять любые операции: отправлять, либо запрашивать данные, запускать задачи на сервере, собирать информацию в базу данных, отправлять электронные письма и так далее.


Я планирую написать серию статей, о том, как на языке R работать с telegram bot API, и писать ботов под свои нужды.



В этой, первой статье мы разберёмся как создать телеграм бота, и отправлять с его помощью уведомления в telegram.

Читать дальше →

Пакеты-пакеты-пакеты… Насколько эффективно вы используете R?

Время на прочтение11 мин
Количество просмотров3.2K

Нынешняя культура «компетенций» и «практик» предполагает, что человека обучают каким-то подходам и рецептам к решению набора задач. При этом за рамками скрывается время актуальности этих «рецептов» и они, фактически, отливаются в монолит, тиражируясь человеком годами. Порой приходится слышать изречения о «лучших практиках», которым уж лет 30 и за это время прошло несколько смен парадигм. А с этой «лучшей практикой» находишься как-будто во временнОй капсуле.


Да, это ментально удобно и сохраняет энергию «специалиста». Да, это создает ощущение стабильности. Но для качественной и эффективной работы необходимо постоянно править и подтачивать инструмент.


R образца 2020 года очень сильно отличается от R даже 2018 года. В самом базовом коде были внесены достаточно значимые изменения для повышения эффективности и стабильности работы (скорость и потребление памяти). Но более динамичная часть экосистемы — это пакеты. Их коллекцию полезно периодически пересматривать с тем, чтобы перейти на более удобные и производительные реализации. С момента прошлой публикации «Джентельменский набор пакетов R для автоматизации бизнес-задач» и сами пакеты претерпели серьезные модернизации и спектр их достаточно сильно расширился и лидеры многократно менялись местами.


Не секрет, что мейнстрим не означает максимальную эффективность и универсальность. Придерживаясь рамок мейнстрима очень легко пропустить пакеты, которые являются жемчужинами. Особенно удобно открывать их на R конференциях UseR!, Rconf, eRum, и т.д.


Ниже приведен список пакетов общего применения, который оказывается весьма полезным при решении повседневных задач (x пакетов из >10K на CRAN). Часто оказывается так, что многие новинки оказываются неизвестны собеседникам. Для сводного ознакомления по срезу на июль 2020 публикую в виде подборки. Ссылки, в большинстве случаев, ведут на страницу с подборкой функций. Уверен, что каждый найдет для себя что-то полезное.

Читать дальше →

R Markdown. Как сделать отчет в условиях неопределенности?

Время на прочтение2 мин
Количество просмотров4.5K

Маленький рецепт, который будет полезен при создании динамических отчетов.


Достаточно часто встречается ситуация, когда размер и содержание отчетной формы будет зависеть от состава переданных на вход данных. Речь идет именно о story-telling отчете, а не о простом выводе таблицы. В этом случае, в зависимости от содержания входных данных, могут появляться или исчезать отдельные пункты, графики, таблицы, текст.


Что будет делать классический Excel-Word аналитик? Под каждый новый запрос делать кастомный отчет и сохранять его в отдельный файл. Но можно заглянуть немного под капот и заставить компьютер делать все самостоятельно.


R Markdown позволяет все это выполнить в элегантной форме. Некоторые технические детали ниже.

Читать дальше →

Медианы выборок. Доверительные интервалы и сравнение

Время на прочтение3 мин
Количество просмотров7K

Публикация носит характер описания тропинки, выводящей к эффективной алгоритмизации методов вычисления доверительного интервала (Confidence Interval = CI) для


  • медианы распределения;
  • разницы медиан двух распределений.

Задача сугубо практическая, в глубины математики погружаться можно, но это не самоцель, да и не всегда хватает баллона, чтобы добраться до дна.


Выборки по объему большие, 10^5 — 10^7 записей, ощутимо ассимметричные, с длинными хвостами, могут иметь несколько мод. В этом случае медианы более устойчивы к выбросам.


Применение классической статистики, например, критерия Уилкоксона-Манна-Уитни, для оценки разницы медиан на таких объемах не проходит. Да и очень много чего читать надо под звездочками, чтобы правильно применять эти критерии. Ведь этот критерий проверяет отнюдь не равенство медиан, да и для медиан он работает только при одинаковых формах распределений двух выборок. И т.д. и т.п.


Хвататься за молоток бутстрапа можно, но и с ним надо думать + на симуляцию требуется время и память.


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

Читать дальше →

Ближайшие события

Немного про периодограммы временных рядов

Время на прочтение4 мин
Количество просмотров11K

Привет, Хабр!


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

Читать дальше →

dplyr 1.0.0 опубликован на CRAN: Видео обзор новых возможностей и произошедших в нём изменений

Время на прочтение11 мин
Количество просмотров2.9K

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


Это один из наиболее популярных и скачиваемых из CRAN пакетов, сегодня им пользуются миллионы аналитиков и специалистов в области науки о данных.



Хедли Викхем работает над интерфейсом dplyr с 2014 года, dplyr это потомок plyr, но более быстрый и изящный по синтаксису. За 6 лет синтаксис и функционал dplyr устаканился, в связи с чем 29 мая был официальный релиз версии 1.0.0.


За 6 недель до релиза Викхем начал публиковать серию статей, что бы постепенно ознакомить многочисленных пользователей dplyr со всеми грядущими изменениями.


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


Эта публикация поможет вам максимально быстро ознакомится со всем, что было изменено или добавлено в dplyr 1.0.0.

Читать дальше →

Карантин, онлайн-системы и data science. Кто думает об удержании клиентов?

Время на прочтение4 мин
Количество просмотров1.6K

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


Сейчас ИТ может прийти к бизнесу и потребовать десятки и сотни миллионов на внедрение или разработку модных онлайн-систем. Однако окажется ли это все оправданным? Без построения полноценного управления оттоком клиентов (то что в телекоме называлось 'customer churn prediction') эффективность затраченных средств окажется под большим вопросом и вот почему.


В тематике CRM существует два широко употребляемых маркетинговых тезиса:


  • Стоимость привлечения нового клиента в 10 раз выше стоимости продажи существующему клиенту.
  • Довольный клиент приводит двух, а недовольный уводит десятерых.
Читать дальше →

Бесплатные курсы по Data Science от Harvard University

Время на прочтение4 мин
Количество просмотров28K
image

Информационные технологии позволяют получить невероятно крутые образовательные ресурсы в один клик. Бесплатно.

Я сейчас решаю задачу, как из огромной массы жизненно важного контента выбрать тот, который стоит попробовать в первую очередь, как «разметить данные», чтобы нейросеточка у подрастающего поколения обучилась более эффективно. (ontol.org, «Выгорание», «Удаленка», телеграмм-канал).

Предлагаю вам подборку бесплатных онлайн-курсов по Data Scienceот одного из лучших университетов в мире:

Statistics and R


Введение в основные концепции статистики и навыки программирования на R, необходимые для анализа данных в науках о жизни.

Популярность: 284 784 регистраций
Длительность: 4 недели (2-4 часа в неделю)
Стоимость: Бесплатно (сертификат за $249)
Уровень: Intermediate


Data Science: R Basics


Освойте основы R и узнайте как обрабатывать, анализировать и визуализировать данные.

Популярность: 449 708 регистраций
Длительность: 8 недели (1-2 часа в неделю)
Стоимость: Бесплатно (сертификат за $49)
Уровень: Introductory

Простой пример кластерного анализа алкогольных предпочтений по странам на R

Время на прочтение8 мин
Количество просмотров12K

Привет, Хабр! Сегодня хочу поделиться небольшим примером того, как можно проводить кластерный анализ. В этом примере читатель не найдет нейронных сетей и прочих модных направлений. Данный пример может служить точкой отсчета для того, чтобы сделать небольшой и полный кластерный анализ для других данных. Всем заинтересованным — добро пожаловать под кат.

Читать дальше →

Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc, Oxxxymiron, Дядя Женя. Эпизод 2

Время на прочтение8 мин
Количество просмотров11K

R. Text Mining. Rap. Episode 2


Данная статья является продолжением материала «Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc and Kasta vs Pharaoh and Morgenshtern» и сейчас я постараюсь детально проанализировать творчество Нойз Мс и Оксимирона. Однако, хочу отметить, что это не будет сравнение между ними. Цель этой статьи не показать кто из них круче, а передать глубину и разнообразие их музыки, которой мы имеем возможность наслаждаться в реальном времени. Нам очень повезло, что мы можем следить за их успехами и ходить на их концерты. В этом материале не будет сопоставления как в первой части, не будет такого сильного контраста.

В этот раз анализ также делался при помощи R, Python и API Genius.com Подробнее можно прочитать в первой части, так как не хочу повторяться.
Читать дальше →

Применение R при вычислениях с неограниченной разрядностью

Время на прочтение4 мин
Количество просмотров2.7K

Периодически встречаются задачи, даже в обыденной жизни, когда разрядной точности float64/int64 оказывается недостаточной для того, чтобы получить ответ с требуемой точностью. Метаться в поисках другого инструмента? Тоже вариант.


А можно этого и не делать, а проявить любопытство и узнать, что для вычисления с произвольной точностью давным-давно сделана библиотека GNU MPFR к которой есть обертки почти к всем языкам. Практика показывает, что с этой библиотекой вообще мало кто знаком, что вызвано, наверное, особенностями программ обучения в ВУЗ-ах и последующим программистским мейнстримом.


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


Является продолжением предыдущих публикаций.

Читать дальше →

Вклад авторов