Почему вам следует использовать R с Power BI

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

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

Когда использовать логистическую регрессию

Логистическая регрессия - это метод, используемый для анализа данных с целью прогнозирования дискретных результатов. Приведенные ниже данные представляют собой снимок пассажиров, которые были на Титанике. Данные показывают каждого пассажира, его данные, включая тариф, пол, возраст, класс приобретенного билета, братьев и сестер / супругов и родителей / детей, а также выжил ли пассажир. Если мы хотим предсказать шансы на выживание, мы могли бы использовать логистическую регрессию, потому что переменная ответа (Survived) этих данных является двоичной (1 или 0).

Как написать код для логистической регрессии с использованием R

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

  1. Выберите визуализацию R в меню «Визуализации» в Power BI.

2. После выбора визуального элемента сценария R перетащите имена столбцов из данных, которые будут использоваться для создания модели, в раздел «Значения» визуального элемента («Выжившие», «Возраст», «Пол», «Класс»). Запустите функцию glm () (обобщенная линейная модель) для выходной переменной и включите независимые переменные, чтобы выполнить логистическую регрессию. Установка «family = binomial» в коде будет указывать на то, что вы используете функцию логистической регрессии.

3. Следующим шагом является написание кода для прогнозирования результата на основе определенных функций. В приведенном ниже коде строка 8 создает фрейм данных, который устанавливает Pclass = 1, Sex = female и Age = 30. Строка 9 создает переменную под названием «pred.test», которая запускает pred..glm () в модели, созданной на шаге 1. Строка 10 кода - это штриховая диаграмма, показывающая значение прогнозируемого результата. Строка 11 добавляет метку к полосе, чтобы увидеть прогнозируемое значение результата.

В настоящее время наша модель предсказывает, что 30-летняя женщина с билетом первого класса имеет 87% шанс на выживание.

Визуальный элемент сценария Power BI R появляется как с редактором сценария, так и с экранным пространством для создаваемого визуального элемента. В отличие от более исчерпывающих терминалов R или IDE, редактор сценариев Power BI будет отображать только визуализации, созданные с помощью R. Это означает, что, возможно, потребуется выполнить некоторый первоначальный анализ перед переводом кода в Power BI. Это будет включать в себя шаги по определению значимых переменных, точности модели и запуск тестов для оценки качества соответствия. Существует множество онлайн-ресурсов, которые описывают процесс построения модели логистической регрессии в R.

Параметры «что, если» и логистическая регрессия

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

1. Чтобы создать параметр «что, если» в Power BI, перейдите на вкладку Моделирование и выберите Новый параметр. Появится всплывающее окно. Я установил минимальный возраст на 1, а максимальный - на 100 с шагом 1. После нажатия OK на странице появится слайсер, а также таблица с левой стороны, содержащая увеличенный возраст и значение, выбранное для возраста на срезе.

2. Следующей переменной, которую нужно изменить, будет пол пассажира. Параметры «Что, если» могут быть только числовыми значениями; следовательно, мы не можем использовать тот же метод для создания слайсера для секса. Вместо этого мы можем перейти на вкладку Главная и выбрать Ввести данные. Оттуда мы можем составить простую таблицу под названием «Половое измерение» и добавить столбец с женским и мужским полом. После ввода данных нажмите Загрузить.

3. Выберите многоточие рядом с только что созданной таблицей под названием «Половое измерение» и создайте новую меру под названием «Половое значение». Введите код DAX с снимка экрана ниже и нажмите галочку, чтобы завершить создание меры. Это предоставит выбранное значение из вновь созданной таблицы.

4. Выберите визуальный срез и перетащите столбец «Пол» из таблицы «Измерение пола», созданной на шаге 2.

5. Теперь, когда есть 2 параметра, которыми нужно управлять, мы можем вернуться к коду R и сделать график интерактивным. Выберите возраст и пол на 2 слайсерах. Щелкните визуальную полосу R из предыдущего раздела. Перетащите столбцы «Возрастное значение» и «Значение пола» в раздел значений, чтобы их можно было использовать в коде R. Измените Пол = «женский» на Пол = набор данных $ «Значение пола». Повторите этот процесс для возраста, чтобы создать набор данных $ "Возрастное значение". Кроме того, обновите код штриховой диаграммы, чтобы выбрать первое значение из прогнозируемого набора данных.

Теперь мы можем манипулировать срезом, чтобы увидеть разные показатели выживаемости.

6. Чтобы закончить это визуальное представление прогноза выживаемости, я решил создать прогноз для всех 3 классов билетов и нанести на столбчатую диаграмму рядом показатели выживаемости. Дублируйте код для прогноза и установите Pclass = 2 для второго прогноза. Снова продублируйте код и установите Pclass = 3 для третьего прогноза.

7. Создайте новую переменную с именем «y», которая будет содержать результаты прогнозов для каждого класса билетов. Это означает, что переменная «y» будет вектором с 3 точками данных. Добавьте заголовок к столбчатой ​​диаграмме и надписи к столбцам. На графике теперь будут показаны различные прогнозы выживаемости в зависимости от возраста и пола.

8. Окончательный код визуального элемента R будет следующим:

model <- glm(Survived ~ factor(Pclass) + Age + Sex, family=binomial, data = dataset)
predict.data <- data.frame(Pclass=1, Sex = dataset$”Sex Value”, Age = dataset$”Age Value”) 
pred.test = predict.glm(model,predict.data,type=”response”)
predict2.data <- data.frame(Pclass=2, Sex = dataset$”Sex Value”, Age = dataset$”Age Value”) 
pred2.test = predict.glm(model,predict2.data,type=”response”) 
predict3.data <- data.frame(Pclass=3, Sex = dataset$”Sex Value”, Age = dataset$”Age Value”) 
pred3.test = predict.glm(model,predict3.data,type=”response”)
y <- c(pred.test[1], pred2.test[1], pred3.test[1])
xx <- barplot(y, main=”Survival Rate”, names.arg=c(“Class 1”,”Class 2", “Class 3”))
text(x = xx, y = y, label = y, pos = 1, cex = 0.8, col = “black”

Этот готовый наглядный материал позволяет нам сравнивать и делать выводы о выживаемости разных пассажиров Титаника.



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

Последние мысли

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