Главные по данным, будучи осведомленными об этой проблеме, могут предложить для включения в модели информативные, релевантные признаки. Однако не стоит отдавать выбор признаков на откуп аналитикам. Ключ к созданию успешной модели контролируемого обучения – включение в нее правильных данных и наличие опыта в интересующей предметной области.
Например, модель с ценами на жилье, описанная в предыдущем разделе, имеет значение R2, равное 0,75. Это означает, что с помощью нашей модели мы объяснили 75 % вариаций цены продажи. Теперь подумайте о не включенных в эту модель признаках, которые помогли бы предсказать цену дома, – например о таких вещах, как экономические условия, процентные ставки, рейтинги начальных школ и так далее. Эти пропущенные переменные не только влияют на прогнозы модели, но и могут привести к сомнительным толкованиям. Вы заметили, что указанный в табл. 9.2 коэффициент, связанный с количеством ванных комнат, является отрицательным? Это не имеет никакого смысла.
Вот еще один пример. Рассмотрим модель линейной регрессии, которая выявила положительную корреляцию между размером обуви и количеством слов, которые человек может прочитать за минуту. Очевидно, что в данной модели отсутствует такая входная переменная, как возраст, включение которой позволило бы обойтись без входной переменной «размер обуви». Разумеется, в своей работе вы редко будете сталкиваться со столь очевидными примерами, однако поверьте нам на слово: пропущенные переменные могут и будут порождать проблемы и неверные интерпретации. Кроме того, многие вещи коррелируют с такой часто опускаемой переменной, как время.
Мы надеемся, что при чтении этого раздела вы вспомните о том, что «корреляция не говорит о наличии причинно-следственной связи». Если одна переменная помечена в модели как входная, а другая – как выходная, это не означает, что входные данные обусловливают выходные.
Если при использовании линейной регрессии вашей целью является интерпретируемость – возможность определить влияние входных переменных на выходные путем изучения коэффициентов – то вам следует знать о так называемой мультиколлинеарности. Мультиколлинеарность означает, что несколько переменных коррелируют друг с другом – и это создает проблему для интерпретируемости вашей модели.
Как вы помните, цель множественной регрессии – изолировать влияние одной из переменных при сохранении постоянных значений остальных входных переменных. Однако это возможно лишь в том случае, если данные являются некоррелированными.
Например, предположим, что данные о продажах лимонада, которые мы анализировали ранее, имеют температуру как в градусах Цельсия, так и в градусах Фаренгейта. Очевидно, что эти два показателя полностью коррелированы, поскольку один является функцией другого. Однако допустим, что показания температуры регистрируются с помощью разных приборов с целью внесения некоторой вариации[88]. В этом случае модель превратится:
1.
2.
Теперь похоже, что температура в градусах Фаренгейта отрицательно коррелирует с выходным параметром! Однако нам известно, что входные данные смешаны, даже избыточны, и линейная регрессия не в состоянии разрушить имеющуюся взаимосвязь. Мультиколлинеарность имеет место в большинстве наборов данных наблюдений, так что считайте это предупреждением. Что касается экспериментальных данных, то они обычно собираются таким образом, чтобы предотвратить мультиколлинеарность, насколько это возможно[89].
Вернемся к построению модели для прогнозирования цены продажи дома. Но на этот раз допустим, что набор обучающих данных включает не только характеристики дома (площадь, количество спален и так далее), но и первоначально предложенную цену. Этот набор данных показан в табл. 9.3.
Табл. 9.3. Выборка данных о домах
Запустив модель на этих данных, вы можете заметить, что начальное предложение очень хорошо предсказывает цену продажи. «Отлично!» – думаете вы и решаете положиться на это, чтобы спрогнозировать цены на жилье для своей компании.
Затем модель запускается в производство. При попытке использовать модель вы обнаруживаете, что у вас нет доступа к первоначальному предложению по домам, цены продажи которых вы пытаетесь предсказать, поскольку они еще не проданы! Это пример утечки данных[90], которая происходит, когда некая сопутствующая выходная переменная маскируется под входную.
Проблема с использованием первоначального предложения заключается во времени. Представьте, что вы можете узнать значение начального предложения только после фактической продажи дома.