Одна из основных ошибок опрометчивого аналитика данных.

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

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

Я буду аргументировать важность MC в контексте линейных моделей. Проблема распространяется и на нелинейные модели, но ее просто не так легко раскрыть, потому что для интерпретации таких моделей необходимы сложные методы объяснения.

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

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

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

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

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

Другой способ взглянуть на проблему состоит в том, что мультиколлинеарная матрица не имеет полного ранга. Матрица X неполного ранга необратима. Кроме того, (X ^ T) X необратим. Аналитическое решение линейной регрессии методом наименьших квадратов требует точного обращения (X ^ T) X и, следовательно, не существует для мультиколлинеарных матриц. Для почти матриц МК проблема плохо обусловлена.

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

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

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

Надеюсь, вы узнали что-то полезное!