Что происходит, когда вы включаете нерелевантные переменные в свою регрессионную модель?

Ваша модель теряет точность. Мы объясним, почему.

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

Что такое нерелевантные и лишние переменные?

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

  • Переменная, которая не может объяснить какую-либо дисперсию в переменной ответа (y) модели.
  • Переменная, чей коэффициент регрессии (β_m) статистически незначителен (т. е. равен нулю) на некотором заданном уровне α.
  • Переменная, которая сильно коррелирует с остальными переменными регрессии в модели. Поскольку другие переменные уже включены в модель, нет необходимости включать переменную, которая сильно коррелирует с существующими переменными.

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

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

К сожалению, в таких ситуациях, пока R-квадрат (или псевдо-R-квадрат) продолжает расти, модель становится менее точной.

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

Классическая линейная модель как наш верстак

Уравнение классической модели линейной регрессии можно выразить следующим образом:

Вот матричная форма приведенного выше уравнения:

В уравнении (1) y — это зависимая переменная, X — это матрица переменных регрессии, β – вектор k коэффициентов регрессии β_1, β_2, β_3, …, β_k, содержащие значения каждого коэффициента уровня генеральной совокупности и точку пересечения регрессии β_1, и ϵ — вектор терминов ошибки. ϵ – это разница между наблюдаемым значением y и смоделированным значением y. . Члены ошибки ϵрегрессионной модели отражают часть дисперсии зависимой переменной y, которую регрессия переменные X не смогли объяснить.

Предположим, что каждый из n ошибочных терминов ϵ_i [i=1 to n] в векторе ошибочных терминов ϵ колеблется вокруг определенного среднего значения (которое предполагается равным нулю), а дисперсия каждого члена ошибки относительно его среднего значения усредняется до некоторого значения σ². Таким образом, предполагается, что ошибки имеют нулевое среднее значение и постоянную дисперсию σ².

Если в модель включить правильный набор регрессионных переменных, они смогут объяснить большую часть дисперсии y, тем самым делая дисперсию σ ²термин ошибки очень мал. С другой стороны, если важные переменные опущены, та часть дисперсии в y, которую они в противном случае могли бы объяснить, теперь попадет в ошибку член, вызывающий большую дисперсию σ².

Решение (также известное как «подгонка» или обучение) линейной модели на наборе данных размером n дает оценочные значения β, который мы будем обозначать как β_cap. Таким образом, уравнение подобранной линейной модели выглядит следующим образом:

В приведенном выше уравнении e – это вектор-столбец остаточных ошибок (также известных как остатки). Для наблюдения ith невязка e_i представляет собой разницу между ith наблюдаемым значением y_i и соответствующим ith соответствует (прогнозируемому) значению y_cap_i. e_i=(y_i — y_cap_i)

Прежде чем мы продолжим наши поиски влияния нерелевантных переменных на модель, мы сделаем следующее важное наблюдение:

Расчетные коэффициенты регрессии β_cap являются случайными величинами со средним значением и дисперсией

Давайте разберемся, почему это так: каждый раз, когда мы обучаем модель на другом случайно выбранном наборе данных размером n, мы будем получать разные наборы оценок истинных значений коэффициентов β. Таким образом, вектор оценочных коэффициентов β_cap=[β_cap_1, β_cap_2, …, β_cap_k] представляет собой набор случайных величин, имеющих некоторое неизвестное распределение вероятностей. Если алгоритм обучения не дает смещенных оценок, среднее значение (также известное как ожидание) этого распределения представляет собой набор истинных значений уровня совокупности коэффициентов β.

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

Можно показать, что условная дисперсия β_cap может быть рассчитана по следующему уравнению:

В приведенном выше уравнении:

  • β_cap – это вектор-столбец подобранных коэффициентов регрессии размером (k x 1), т. е. k строк и 1, при условии, что в модели есть k переменных регрессии, включая точку пересечения, а также любые нерелевантные переменные.
  • X — матрица переменных регрессии размером (n x k), где n — размер набора обучающих данных. .
  • X' — это транспонирование X, т. е. X с переставленными строками и столбцами. Как будто X перевернули на бок. Следовательно, X’имеет размер (k x n).
  • σ² — это дисперсия члена ошибки ϵрегрессионной модели. На практике мы используем , который представляет собой дисперсию остаточных ошибок e подобранной модели в качестве объективной оценки σ². σ²и s² — скалярные величины (поэтому они не выделены жирным шрифтом).
  • X’X — это матричное умножение X на его транспонирование. Поскольку X имеет размер (n x k), а X' имеет размер (k x n), X'Xимеет размер (k x k).
  • Верхний индекс (-1) указывает, что мы взяли обратную матрицу (k x k), которая является другой матрицей размера (k x k).
  • Наконец, мы масштабировали каждый элемент этой обратной матрицы с дисперсией σ² члена ошибки ϵ.

Уравнение (4) дает нам так называемую матрицу дисперсии-ковариации коэффициентов регрессионной модели. Как объяснялось выше, это матрица (k x k), которая выглядит следующим образом:

Элементы, идущие вниз по главной диагонали, т. е. элементы, идущие от верхнего левого угла к нижнему правому углу матрицы дисперсии-ковариации, содержат дисперсии оценочных значений k коэффициенты регрессии β_cap=[β_cap_1, β_cap_2,…,β_cap_k]. Каждый другой элемент (m,n) в этой матрице содержит ковариацию между оценочными коэффициентами β_cap_m и β_cap_n.

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

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

Полезно изучить два граничных случая, возникающих из приведенного выше наблюдения:

Var(β_cap_m|X) = 0:В этом случае дисперсия оценки коэффициента равна нулю, и поэтому значение оценки коэффициента равно значению генеральной совокупности коэффициента β_m.

Var(β_cap_m|X) = ∞ :В этом случае оценка бесконечно неточна, и поэтому соответствующая переменная регрессии совершенно не имеет значения.

Давайте рассмотрим регрессионную переменную mth в матрице X:

Эта переменная может быть представлена ​​вектором-столбцом x_m размером (n x 1). В подобранной модели коэффициент регрессии равен β_cap_m.

Дисперсия этого коэффициента, т. е. Var(β_cap_m|X), является m-м диагональным элементом матрицы дисперсии-ковариации в уравнении (4). Эту дисперсию можно выразить следующим образом:

В приведенном выше уравнении

  • σ² — дисперсия члена ошибки модели. На практике мы оцениваем σ², используя дисперсию остаточных ошибок подобранной модели.
  • n — количество выборок данных.
  • R²_m — это R-квадрат модели линейной регрессии, в которой зависимой переменной является mth переменная регрессии x_m а независимые переменные — это остальные переменные в матрице X. Таким образом, R²_m — это R-квадрат регрессии x_m от остальных X. .
  • Var(x_m) — это дисперсия x_m, которая задается обычной формулой для дисперсии как следует:

Прежде чем анализировать уравнение (5), вспомним, что для m-йпеременной регрессии чем больше дисперсия β_cap_m, тем меньше точность оценки, и наоборот.

Теперь рассмотрим следующие сценарии:

Сценарий 1

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

В данном случае R²_m, который представляет собой R-квадрат, полученный в результате регрессии x_m с остальными X будет близко к 1,0. В уравнении (5) это приведет к тому, что (1 — R²_m) в знаменателе будет близко к нулю, что приведет к чрезвычайно большой дисперсии β_cap_m и, следовательно, к неточности. . Следовательно, мы имеем следующий результат:

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

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

Хорошо известным последствием наличия мультиколлинеарности среди регрессионных переменных является потеря точности в оценках коэффициентов.

Сценарий 2

Теперь рассмотрим вторую регрессионную переменную x_j, так что x_m сильно коррелирует с х_j. Уравнение (5) также можно использовать для расчета дисперсии x_j следующим образом:

R²_j — значение R-квадрата линейной регрессии x_j от остальных X. (включая x_m). Поскольку предполагается, что x_m сильно коррелирует с x_j, если мы опустим x_m от модели, это уменьшило бы R²_j на значительную величину (1 —R²_j) в знаменателе приведенное выше уравнение соответственно увеличится и приведет к уменьшению дисперсии β_cap_j. К сожалению, верно и обратное утверждение! Включение высококоррелированной переменной x_m увеличит дисперсию (т. е. снизит точность) β_cap_j. Отсюда вытекает еще одно важное последствие включения высококоррелированной переменной, такой как x_m:

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

Сценарий 3

Рассмотрим третий сценарий. Независимо от того, коррелирует ли x_m с какой-либо другой переменной в модели, само присутствие x_m в модели вызовет R²_j, что равноR-квадрату модели, в которой мы регрессируем x_j на остальной части X, быть больше, чем когда x_m не включен в модель . Такое поведение вытекает из формулы для R-квадрата. Из уравнения (5) мы знаем, что при увеличении R²_j знаменатель уравнения (5) становится меньше, что приводит к увеличению дисперсии β_cap_j. Этот эффект, а именно потеря точности β_cap_j, особенно заметен, если x_m также не объясняет какую-либо дисперсию зависимой переменной г. В этом случае добавление к модели x_m не уменьшает дисперсию σ²термина ошибки ϵ модели. Помните, что термин ошибки содержит часть дисперсии в y, которую X не может объяснить. Таким образом, когда x_m является нерелевантной переменной, ее добавление в модель приводит только к уменьшению знаменателя уравнения (5), не вызывая компенсирующего уменьшения числителя уравнения (5), тем самым вызывая Var(β_cap_j|X) для всех j в X, чтобы быть больше. Таким образом, мы получили еще один важный результат:

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

Наконец, давайте рассмотрим еще две вещи, которые выявляет уравнение (5):

n в знаменателе — это размер набора данных. Мы видим, что чем больше размер набора данных, на котором обучается модель, тем меньше дисперсия в оценках коэффициентов и, следовательно, выше их точность. Это кажется интуитивно понятным. Предельным случаем является обучение модели на всей совокупности.

Точность расчетных коэффициентов регрессии улучшается с увеличением размера набора обучающих данных.

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

Если вам понравилась эта статья, подпишитесь на меня в Sachin Date, чтобы получать советы, инструкции и советы по программированию по темам, посвященным регрессии, анализу временных рядов и прогнозированию.