Разберись в Data Science. Как освоить науку о данных и научиться думать как эксперт - Алекс Дж. Гатман
Шрифт:
Интервал:
Закладка:
Вот еще один пример. Рассмотрим модель линейной регрессии, которая выявила положительную корреляцию между размером обуви и количеством слов, которые человек может прочитать за минуту. Очевидно, что в данной модели отсутствует такая входная переменная, как возраст, включение которой позволило бы обойтись без входной переменной «размер обуви». Разумеется, в своей работе вы редко будете сталкиваться со столь очевидными примерами, однако поверьте нам на слово: пропущенные переменные могут и будут порождать проблемы и неверные интерпретации. Кроме того, многие вещи коррелируют с такой часто опускаемой переменной, как время.
Мы надеемся, что при чтении этого раздела вы вспомните о том, что «корреляция не говорит о наличии причинно-следственной связи». Если одна переменная помечена в модели как входная, а другая – как выходная, это не означает, что входные данные обусловливают выходные.
Мультиколлинеарность
Если при использовании линейной регрессии вашей целью является интерпретируемость – возможность определить влияние входных переменных на выходные путем изучения коэффициентов – то вам следует знать о так называемой мультиколлинеарности. Мультиколлинеарность означает, что несколько переменных коррелируют друг с другом – и это создает проблему для интерпретируемости вашей модели.
Как вы помните, цель множественной регрессии – изолировать влияние одной из переменных при сохранении постоянных значений остальных входных переменных. Однако это возможно лишь в том случае, если данные являются некоррелированными.
Например, предположим, что данные о продажах лимонада, которые мы анализировали ранее, имеют температуру как в градусах Цельсия, так и в градусах Фаренгейта. Очевидно, что эти два показателя полностью коррелированы, поскольку один является функцией другого. Однако допустим, что показания температуры регистрируются с помощью разных приборов с целью внесения некоторой вариации[88]. В этом случае модель превратится:
1. Из Продажи = 1,03 (Температура) – 71,07.
2. В Продажи = –0,2(Температура в градусах Фаренгейта) + 2,1(Температура в градусах Цельсия) – 30,8.
Теперь похоже, что температура в градусах Фаренгейта отрицательно коррелирует с выходным параметром! Однако нам известно, что входные данные смешаны, даже избыточны, и линейная регрессия не в состоянии разрушить имеющуюся взаимосвязь. Мультиколлинеарность имеет место в большинстве наборов данных наблюдений, так что считайте это предупреждением. Что касается экспериментальных данных, то они обычно собираются таким образом, чтобы предотвратить мультиколлинеарность, насколько это возможно[89].
Утечка данных
Вернемся к построению модели для прогнозирования цены продажи дома. Но на этот раз допустим, что набор обучающих данных включает не только характеристики дома (площадь, количество спален и так далее), но и первоначально предложенную цену. Этот набор данных показан в табл. 9.3.
Табл. 9.3. Выборка данных о домах
Запустив модель на этих данных, вы можете заметить, что начальное предложение очень хорошо предсказывает цену продажи. «Отлично!» – думаете вы и решаете положиться на это, чтобы спрогнозировать цены на жилье для своей компании.
Затем модель запускается в производство. При попытке использовать модель вы обнаруживаете, что у вас нет доступа к первоначальному предложению по домам, цены продажи которых вы пытаетесь предсказать, поскольку они еще не проданы! Это пример утечки данных[90], которая происходит, когда некая сопутствующая выходная переменная маскируется под входную.
Проблема с использованием первоначального предложения заключается во времени. Представьте, что вы можете узнать значение начального предложения только после фактической продажи дома.
Поскольку мы погружены в данные, нам очень трудно заметить подобные утечки. К сожалению, во многих учебниках этой проблеме не уделяется внимание, потому что там используются идеализированные наборы данных, тогда как в реальных наборах вероятность утечки есть всегда. Как главный по данным, вы должны следить за тем, чтобы ваши входные и выходные параметры не содержали перекрывающуюся информацию.
Мы вернемся к обсуждению проблемы утечки данных в следующих главах.
Ошибки экстраполяции
Экстраполяция – это прогнозирование значения за пределами диапазона входных данных, использованных для построения модели. В случае торговли лимонадом при температуре 0 °F модель предсказала бы объем продаж на уровне –71,07 доллара. Если бы в доме не было ни одного квадратного фута площади и ни одной ванной комнаты (то есть если бы дома фактически не существовало), модель предсказала бы цену продажи в –1 614 841,60 доллара. Оба значения не имеют смысла.
Модели делают прогнозы за пределами диапазона данных, на которых они «учились». В отличие от людей, уравнения не имеют здравого смысла, позволяющего понять, что их результаты неверны. Математические уравнения не способны думать. Если вы подставите в них числа в качестве входных данных, они выдадут вам некий численный результат. Именно вы как главный по данным должны понимать, что имеет место экстраполяция.
Следует подчеркнуть, что результаты модели всегда рассчитываются на основе конкретных данных. То есть вы не должны делать прогнозы на основе данных, которые «соответствуют» диапазону обучающих данных, но не соответствуют контексту, в котором эти данные были собраны, поскольку модель ничего не знает о происходящих в мире изменениях.
Если бы вы построили модель, предсказывающую цены на дома в 2007 году, она показала бы себя ужасно в 2008 году после обвала рынка жилья. Использование такой модели в 2008 году означало бы экстраполяцию данных о рыночных условиях 2007 года, которые весьма сильно отличались от условий 2008 года. В 2021 году, пока мы писали эту книгу, многие отрасли сталкивались с этой проблемой из-за пандемии COVID-19. Модели, обученные на данных, собранных до ее начала, больше не отражают многие из вновь возникших взаимосвязей, а значит, больше не актуальны.
Многие взаимосвязи не являются линейными
Линейная регрессия не годится для моделирования поведения фондового рынка, который на протяжении всей своей истории рос экспоненциально, а не линейно. Статистический отдел компании Procter & Gamble посоветовал бы «не подгонять прямую линию к кривой в форме банана».
В арсенале статистиков есть инструменты для преобразования некоторых нелинейных данных в линейные. Тем не менее иногда стоит просто признать тот факт, что линейная регрессия не подходит для решения стоящей перед вами задачи.
Вы объясняете или предсказываете?
В этой главе мы обсуждали две цели применения регрессионных моделей – объяснение взаимосвязей и прогнозирование. Судя по всему, модели линейной регрессии могут делать и то и другое. Коэффициенты модели линейной регрессии (при правильных условиях) обеспечивают интерпретируемость, которой уделяется большое внимание во многих отраслях – например, в клинических