Вступление

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

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

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

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

Https://www.analyticsvidhya.com/blog/2016/07/deeper-regression-analysis-assumptions-plots-solutions/

Мы рассмотрим следующие вопросы, касающиеся мультиколлинеарности:

  1. Что такое мультиколлинеарность?
  2. Как мультиколлинеарность влияет на интерпретацию?
  3. Как его обнаружить и удалить?

Итак, давайте начнем отвечать на эти вопросы один за другим.

1. Что такое мультиколлинеарность?

Мультиколлинеарность - это условие, когда существует значимая зависимость или связь между независимыми переменными или переменными-предикторами. Значительная корреляция между независимыми переменными часто является первым свидетельством наличия мультиколлинеарности.

Давайте разберемся в этом на примере:

Учтите, что я работаю с подмножеством набора данных BigMart, как показано на изображении.

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

Итак, давайте посмотрим на корреляционную матрицу

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

2. Как мультиколлинеарность влияет на интерпретацию

Рассмотрим следующую модель регрессии

В этой модели мы можем ясно видеть, что есть 4 независимых переменных как X, а соответствующие коэффициенты даны как β. Теперь рассмотрим ситуацию, когда все переменные независимы, кроме X3 и X4.

Другими словами, X3 и X4 имеют значительную корреляцию между собой.

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

Дело 1:

Учитывая переменные X1 и X2, они не зависят от всех остальных переменных. Если мы попытаемся изменить величину X1 или X2, они не заставят любую другую независимую переменную изменить свое значение или на некоторую незначительную величину. В результате мы можем ясно наблюдать влияние независимой переменной X на Y.

Случай 2:

В случае переменных X3 и X4 они существенно коррелированы. Можете ли вы догадаться, что будет, если мы применим ту же процедуру, что и в случае 1?

Изображение ниже показывает то же самое.

Согласно этому изображению, Если мы попытаемся изменить величину X3 (как показано красным), чтобы наблюдать изменение Y (красный), также будет значительная разница в значении X4 (оранжевый) . В результате изменение, которое мы наблюдаем в Y, связано с изменением как X3 (красный), так и X4 (оранжевый). Результирующее изменение (синий) больше, чем фактическое изменение (оранжевый).

Теперь вы можете спросить, а это вообще проблема?

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

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

Но мы полны решимости его устранить. Давайте узнаем, как мы это делаем.

3. Как мы обнаруживаем и устраняем мультиколлинеарность?

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

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

Считайте, что у нас есть 9 независимых переменных, как показано. Чтобы вычислить VIF переменной V1, мы выделяем переменную V1 и рассматриваем как целевую переменную, а все другие переменные будут рассматриваться как переменные-предикторы.

Мы используем все остальные переменные-предикторы, обучаем регрессионную модель и находим соответствующее значение R2.

Используя это значение R2, мы вычисляем значение VIF, как показано на изображении ниже.

Глядя на формулировку, мы можем ясно видеть, что с увеличением значения R2 увеличивается и значение VIF. Более высокое значение R2 означает, что:

«целевая независимая переменная очень хорошо объясняется другими независимыми переменными»

Теперь, каким должно быть пороговое значение VIF, чтобы решить, следует ли удалять переменную или нет?

Всегда желательно иметь как можно меньшее значение VIF, но это может привести к удалению многих важных независимых переменных из набора данных. Поэтому VIF = 5 часто принимается за порог. Это означает, что любая независимая переменная больше 5 должна быть удалена. Хотя идеальное пороговое значение зависит от решаемой проблемы.

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