Предсказывать будущее… Используя только прошлое

Иногда чем меньше, тем лучше, чтобы что-то найти. Почему вам может понадобиться меньше? Меньше информации… меньше данных… Это может звучать наоборот. Разве больше данных не лучше? Вот пример.

Банки:

Иногда банки хотят дать (взаймы) людям деньги. Иногда банки не хотят давать людям деньги. Что, если…

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

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

Задумайтесь на мгновение:

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

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

Давайте посмотрим на одну область…

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

Когда мы смотрим на человека (когда банк смотрит на нового человека) что мы МОЖЕМ увидеть?

Можем ли мы посмотреть на работу человека? Конечно. У них есть работа (а может и нет).

Можем ли мы посмотреть на дом человека? Конечно. Они где-то живут, а может и нигде.

Сколько денег этот человек отдал банку в прошлом месяце?… э…

Заплатил ли человек банку штраф (штраф)?…хм….

Помните, это новый человек в банке. Банк и человек незнакомы. Ни банк им ничего не дал, ни наоборот. Поэтому любой вопрос о том, кто что-то отдает банку, или наоборот, не имеет никакого смысла… иначе это будет информация из будущего. Но мы не можем путешествовать во времени, мы можем моделировать только то, что знаем СЕЙЧАС.

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

Важный момент проверки. Для каждого типа информации, которую вы используете, спросите: "Можем ли мы узнать это СЕЙЧАС?"

Поэтому мы отбрасываем всю эту «информацию о будущем».

В этом случае у нас остается 2 ответа о вещах, которые уже произошли в прошлом (а не о вещах, которые все еще происходят сейчас или могут произойти в будущем): было оплачено или НЕ оплачено. Это меньше информации, но гораздо лучше информации.

Сейчас у нас есть только информация из прошлого. У нас меньше информации, и наш прогноз будет намного лучше. Наше понимание того, что важно, намного лучше. Но почему?

Что произойдет, если мы попытаемся использовать (мошенническую, незаконную) информацию из будущего?

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

Как мы можем узнать, какие функции могут быть более важными?

Подробнее

Давайте рассмотрим еще три способа быть внимательным к тому, важно что-то или нет.

1. ~Недопустимые функции

2. (Относительная) особенность-важность

3. Прогнозирование оценки: использование матрицы путаницы

1. Незаконные функции

Раньше мы рассматривали «незаконные» функции, которые были слишком хороши, потому что обманывали будущее.

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

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

Но как они вносят свой вклад? Все ли они вносят одинаковый вклад?

2. Важность функции:

Что такое особенность? «Функция» — это слово, используемое для конкретного наблюдения или чего-то, что отвечает на очень конкретный вопрос. «Откуда этот человек?» или «Какова работа этого человека?»

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

Если функция «слишком хороша», то это может быть «информация из будущего».

Если функция «бесполезна», ее также можно игнорировать.

Мы можем посмотреть на положительные случаи:

И мы можем посмотреть на негативные случаи:

Эти (выше) изображения называются «Shapely» (произносится: Shapp — Lee) сюжетами. Они хороши тем, что позволяют вам увеличить масштаб одного конкретного случая и увидеть, какие особенности внесли наибольший вклад в прогноз. (Это также можно использовать для просмотра неправильно предсказанных случаев, что может позволить вам увидеть, как работает модель, несмотря на то, что некоторые люди жалуются, что модели невозможно исследовать.)

3. Прогноз:

Когда мы делаем прогноз, как мы можем сказать, был ли он хорошим или плохим?

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

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

Чтобы помочь в этом… существует удивительный инструмент (я искренне считаю его одной из самых замечательных вещей, когда-либо открытых в истории Вселенной…) под названием: Матрица путаницы!

Название может звучать… сбивающим с толку… (не шутка, это действительно название), но вот что делает «матрица путаницы»: матрица путаницы фокусируется на четырех вещах:

1. Что было предсказано как «да»?

2. Что было предсказано «нет»?

3. Что на самом деле «да» (что должно было быть предсказано как «да»)?

4. Что на самом деле «нет» (что должно было быть предсказано как «нет»)?

Это все!

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

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

  • Точность (это имеет техническое значение, помимо повседневного значения)
  • Напомним (большинство людей даже не слышали об этом)
  • Точность (Опять же, это техническое значение, не то же самое, что «точный»
  • ROC-AUC (значение AUC: площадь под кривой. Он использует истинные и ложные срабатывания для измерения того, насколько хороша модель при сравнении групп (примечание: не непрерывные измеренные числа))
  • F1:
  • Ложные срабатывания:
  • Ложноотрицательные:
  • Истинные положительные стороны:
  • Истинные минусы:

(Вот краткое визуальное руководство по ложному/истинному положительному/отрицательному результату:)

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

Есть много других веб-сайтов и блогов на эту замечательную тему. например

https://towardsdatascience.com/beyond-accuracy-precision-and-recall-3da06bea9f6c

https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5

Контрольный опрос:

Чему вы сегодня научились? Во всяком случае, надеюсь, вы научились задавать больше вопросов. Например, если кто-то говорит: «У меня есть модель, которая предсказывает банковские кредиты с точностью 99,999999%», то вам следует спросить, использовала ли она информацию о будущем.

Если кто-то скажет: «Вот причудливо звучащая модель случайного лесного классификатора, и результаты были точными на 83%», вы должны спросить, что именно они имеют в виду под «точностью» и соответствует ли это ситуации, которую вы хотите. Как выглядит вся матрица путаницы? Что такое отзыв? Точность? Ф1? Ложные срабатывания? И самое главное, чего требует ситуация?