Анализ объявлений на Airbnb

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

Здесь мы используем модель, построенную на данных Airbnb, чтобы проиллюстрировать:

  • Объяснимые технологии ИИ (XAI)
  • Что может сделать XAI для глобального и локального объяснения
  • Что может XAI сделать для улучшения модели

XAI - краткий обзор

По мере того, как ИИ набирает обороты с большим количеством приложений, объяснимый ИИ (XAI) становится все более важным компонентом, который требует ясного объяснения и уверенного развертывания. Технологии XAI становятся все более зрелыми как для машинного обучения, так и для глубокого обучения. Вот пара алгоритмически нейтральных методов, которые можно использовать сегодня:

SHAP

SHAP (SHAPley Additive ExPlanations) разработан Скоттом Лундбергом из Вашингтонского университета. SHAP вычисляет значения Шепли на основе теории игр, предполагая, что каждое значение признака экземпляра является «игроком» в игре, где прогноз является выплатой. Затем прогноз можно объяснить путем вычисления вклада каждой функции в прогноз. Примечание. SHAP обладает следующими желательными свойствами:

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

2. Отсутствие: функции, которые уже отсутствуют, не влияют

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

SHAP поддерживает ансамбль деревьев, глубокое обучение и другие модели. Его можно использовать как для глобального, так и для локального объяснения. См. Статью Скотта Лундберга SHAP paper.

ЛАЙМ

Local Interpretable Model-Agnostic Explanations (LIME) основан на концепции суррогатных моделей. При интерпретации модели черного ящика LIME проверяет, что происходит с прогнозами с вариациями данных, и обучает локальные суррогатные модели с взвешенными функциями. Наконец, индивидуальные прогнозы для моделей «черного ящика» можно объяснить с помощью локальных интерпретируемых суррогатных моделей.

См. Статью LIME: Почему я должен тебе доверять »

Модель тарифа бронирования Airbnb

Используемая здесь модель прогнозирует уровень бронирования Airbnb. Он подготовлен с использованием данных для списков районов Лос-Анджелеса, полученных с сайта insideairbnb.com. Для простоты я использую подмножество функций для обучения модели XGBoost.

Для получения дополнительной информации о конструкции модели перейдите по ссылке https://towardsdatascience.com/predicting-market-rank-for-airbnb-listings-59009a886d6.

Понимание с глобальным объяснением

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

Вот несколько идей, полученных с помощью глобального анализа функций:

Кто самые успешные хозяева?

Используя графики зависимости, мы можем изучить взаимосвязь между значениями признаков и прогнозируемым результатом. На первой диаграмме по мере увеличения количества объявлений хоста мы видим тенденцию к уменьшению значений SHAP. На второй диаграмме ось X показывает количество списков хостов, цвет показывает количество списков «всего дома».

Вероятно, мы можем получить следующие типы хостов:

  • хозяин с одним или несколькими объявлениями - это отдельные лица и семья, их объявления обычно привлекательны, вероятно, из-за внимания и личной заботы
  • хост с 15–60 объявлениями - у этих хозяев наименее привлекательные объявления, вероятно, это небольшие отели или отели типа мотелей, которые сдают комнаты?
  • хост с более чем 150 объявлениями - на второй диаграмме мы видим, что по мере того, как количество размещенных в списке хостов увеличивается до более чем 50, прогнозируемая скорость бронирования существенно возрастает (обращая вспять предыдущую тенденцию). Кроме того, почти все эти объявления относятся к «целому дому». В верхнем диапазоне те хозяева, у которых более 100 объектов недвижимости «целиком», достигают уровня бронирования 75% и выше, что намного выше, чем у других. Являются ли эти компании Airbnb собственностью профессионально управляемыми?

Плата за уборку выше или цена выше?

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

Таким образом, размещение с более высокой платой за уборку действительно выгодно, когда речь идет о прогнозируемой скорости бронирования. Хозяин, который меняет оплату за уборку, вероятно, выиграет, побудив гостей остаться подольше и сделав так, чтобы цена объявления на первой странице казалась дешевле.

Больше обзоров или более высокий рейтинг в обзоре?

На диаграмме мы видим, что увеличение рейтинга отзывов (ось x) приводит к более высокому уровню бронирования. Однако увеличение количества отзывов не означает лучшего бронирования (красные точки разбросаны по вертикали). Хозяину гораздо лучше получить несколько хороших отзывов, чем множество посредственных.

Понимание местного объяснения

График силы SHAP может использоваться для объяснения индивидуальных прогнозов.

Например, мы видим, что существует базовое значение (член смещения) 0,01249, при этом функции, выделенные красным, сдвигают это значение вправо, а функции, отмеченные синим цветом, сдвигают это значение влево, с комбинированным выходом 0,58. Следовательно, влияние верхней особенности на прогноз количественно оценивается с локальной точностью. Конкретный список имеет ряд сильных характеристик (суперхозяин, низкая цена, весь дом, последние обновления календаря), что делает его благоприятным для бронирования.

В приведенном ниже списке есть ряд значений функций (высокая цена 390 долларов США, длительное минимальное пребывание 30 дней, длительный календарь не обновлялся), что снижает вероятность бронирования.

Метод LIME также может использоваться для объяснения индивидуальных прогнозов, он количественно показывает влияние основных характеристик (оранжевый - положительный, синий - отрицательный).

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

Во втором примере показан список с отрицательными значениями характеристик (минимальный срок пребывания составляет 30 ночей и взимается плата за уборку в размере 150 долларов США).

Понимание для улучшения модели

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

  • недостаток бизнес-анализа
  • ошибка со сбором данных
  • улучшение обработки данных (условное исчисление и шкала)
  • или необычный узор - истинное отражение новых знаний, которые нужно изучить

На диаграмме ниже показано, что в основном существует два типа списков с высоким значением «calendar_updated» (красные точки). Одна группа в крайней левой части оси x, у которой 0 отзывов за последние двенадцать месяцев, представляет собой устаревший листинг с отрицательным значением SHAP и, следовательно, с низким прогнозируемым уровнем бронирования. Другие красные точки разбросаны в верхней части, что указывает на то, что они имеют более высокое значение SHAP и с большей вероятностью будут забронированы. Это списки, которые постоянно доступны и требуют небольшого обновления календаря от хозяев. Это дает ключ к разработке функций с целью отличить стабильный листинг от обучающих данных.

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

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

Github

Упрощенную версию модели и код XAI можно найти здесь: https://github.com/seanxwang/XAI-airbnb-booking

Что следующее

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