Расширение возможностей ваших информационных панелей с помощью ИИ

Microsoft недавно предприняла решительные шаги по согласованию технологий с открытым исходным кодом и внедрению технологий искусственного интеллекта в свои продукты, и Power BI включен в этот план. Power BI - один из основных инструментов для создания панелей мониторинга сегодня, и Microsoft с каждым днем ​​увеличивает возможности и гибкость разработки.

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

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

  1. Установка зависимостей
  2. Анализ данных
  3. Практика - код
  4. Результаты
  5. Вывод

1. Установка зависимостей

Первым шагом является установка R Studio на ваш компьютер, поскольку разработка будет вестись на языке R. Поскольку PowerBI имеет встроенную интеграцию с языком R, он требует, чтобы пользователь установил пакеты R.

Загрузить можно по этой ссылке: https://www.rstudio.com/products/rstudio/download/

Сразу после установки вы должны открыть R studio и установить библиотеки зависимостей.

  • каретка
  • наборы данных
  • мономвн

Чтобы установить пакеты в R, на веб-сайте R-bloggers есть отличный учебник, который научит вас устанавливать и загружать пакеты в R Studio. Ссылка: https://www.r-bloggers.com/2013/01/how-to-install-packages-on-r-screenshots/

Анализ данных

Набор данных был получен с веб-сайта kaggle.com и состоит из данных о потреблении пива в университете Сан-Паулу, а также минимальной, максимальной и средней температуры за каждый день и объемных осадков.

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

3 - Практическое руководство - Код

Для тестов я собрал байесовскую модель линейной регрессии с использованием пакета monomvn (регрессия Байесовского хребта), чтобы предсказать данные о потреблении пива в литрах в день, наряду с проверкой с помощью перекрестной проверки с 10-кратной проверкой.

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

Первая часть кода импортирует библиотеки

library(caret)
library(datasets)
library(monomvn)

Сразу после импорта данных Power BI в виде набора данных внутри R

mydata <- dataset
mydata <- data.frame(mydata)

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

fitControl <- trainControl(
  method = "repeatedcv",
  number = 10,
  repeats = 10)


lmFit <- train(mydata[1:365, 2:6],mydata[1:365,7], method ='bridge',trControl = fitControl)


predictedValues <- predict(lmFit,newdata = mydata[, 2:6])

Наконец, мы создали новый столбец в наборе данных PowerBI со значениями, сгенерированными прогнозом модели.

mydata$PredictedValues <- predictedValues

Полный код

library(caret)
library(datasets)
library(monomvn)


mydata <- dataset
mydata <- data.frame(mydata)



fitControl <- trainControl(
  method = "repeatedcv",
  number = 10,
  repeats = 10)


lmFit <- train(mydata[1:365, 2:6],mydata[1:365,7], method ='bridge',trControl = fitControl)


predictedValues <- predict(lmFit,newdata = mydata[, 2:6])


mydata$PredictedValues <- predictedValues

4 - Результаты

Ниже приведен полный набор данных с реальным значением, прогнозом и ошибкой (%). Средняя ошибка обучения составила 7,82% с максимумом 20,23% и минимумом 0,03%.

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

4.1 - Корреляция с температурой

При нанесении на график потребления пива (черный / красный) с температурой (синий) мы видим, что потребление хорошо соответствует колебаниям температуры между месяцами, как «микро» (дневным) колебаниям, так и «макро» (трендам) изменение температуры. Мы видим, что повышение температуры приводит к увеличению потребления, например, в конце и начале года, когда у нас лето, а более низкая температура зимой приводит к снижению потребления пива в SP.

4.2. Корреляция между реальными данными и прогнозом

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

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

4.3 Испытания - данные 2018 г.

После обучения модели с данными 2015 года я попытался получить данные для вывода и получил набор данных 2018 года с данными о температуре и осадках для города Сан-Паулу.

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

4.3.1 Корреляция с температурой

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

4.3.2 Сезонность выходных

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

Эта сезонность также проявляется в реальных данных: когда мы строим график реального потребления за 2015 год, модель высокого потребления повторяется по выходным, что показывает, что модель, хотя и простая, была хорошо адаптирована к динамике данных.

5. Заключение

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

Наконец, любые вопросы или предложения по статье или темам машинного обучения, PowerBI, R, Python и других, не стесняйтесь обращаться ко мне в LinkedIn: https://www.linkedin.com/in/octavio-b-santiago /