среда, 2 января 2019 г.

Что можно понять по графику зависимости остатков от значений регрессора? (Линейная регрессия)

1. Нелинейность регрессионной функции. 

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

Сформируем данные:
x <- c(80, 220, 140, 120, 180, 100, 200, 160)
y <- c(.60, 6.70, 5.30, 4.00, 6.55, 2.15, 6.60, 5.75)

> library(ggplot2)
> fit <- lm(y ~ x)
> e <- fit$residuals
> mydata <- data.frame(x, e)
  ggplot(data = mydata) +
    geom_point(aes(x = x, y = e), size = 2) +
    geom_abline(aes(intercept = 0,  slope = 0), size = 1) + theme_bw()
На (рис. 1) представлен график зависимости остатков \(e_i\) от значений регрессора \(x_i\). 
Рис. 1
Если линейность регрессионной функции имеет место, то ординаты на полученном графике должны попадать в симметричный относительно нуля коридор значений, а также должны отсутствовать любая систематическая тенденция для этих величин быть положительными или отрицательными. В нашем случае остатки отклоняются от значения \(0\) систематическим образом: они отрицательны для малых значений \(x\), положительны для средних по величине значений \(x\) и снова отрицательны для больших значений \(x\), таким образом, предположение о линейности регрессионной функции неоправданно.

Отметим, что нелинейность регрессионной функции также можно оценить по диаграмме рассеивания, однако график остатков имеет следующее преимущество: может оказаться, что из-за масштаба, например, при крутом угле наклона прямой, на диаграмме рассеивания значения \(y_i\) будут близко расположены к соответствующим значениям \(\hat{y}_i\), что затруднит оценку линейности регрессионной функции. График остатков в аналогичных условиях, напротив, ясно покажет систематическое поведение отклонений \(y_i\) от подобранной регрессионной прямой.

График остатков \(e_i\) относительно подобранных значений \(\hat{y}_i\) содержит ту же информацию, что и график остатков относительно значений независимой переменной, так как значения \(\hat{y}_i\) и \(x_i\) линейно связаны. Однако, в случаях криволинейной зависимости или множественной регрессии строить отдельные графики \(e_i(\hat{y}_i)\) и \(e_i(\hat{x}_i)\) окажется полезным.

2. Непостоянство дисперсии ошибки.

По графику \(e_i(x_i)\) также можно изучать постоянство дисперсии ошибки. Смоделируем исходные данные, в которых дисперсия ошибки увеличивается с увеличением значений регрессора и проведем для них линейную регрессионную обработку.
> x1 <- seq(10, 60)
> var1 <- x1 / 5
> y1 <- 1 + 2 * x1 + rnorm (51, 0, var1)
> fit1 <- lm(y1 ~ x1)
> e1 <- fit1$residuals
> mydata1 <- data.frame(x1, e1)
> ggplot(data = mydata1) +
   geom_point(aes(x = x1, y = e1), size = 2) +
   geom_abline(aes(intercept = 0,  slope = 0), size = 1) + theme_bw()
На (рис. 2) изображен соответствующий график зависимости остатков \(e_i\) от значений \(x_i\). 
Рис. 2
На графике видно, что размах остатков не постоянен, а имеет треугольный вид.

Так как знак остатков не влияет на величину дисперсии ошибки, то диагностику постоянства последней можно также оценить по графикам абсолютных значений остатков \(|e_i|\) или квадратов остатков \(e^2_i\) относительно \(x\) или \(\hat{y}\).
На (рис. 3) изображен график зависимости абсолютных значений остатков от значений предиктора и регрессионная прямая, построенная для этой зависимости.
> lm(abs(e1) ~ x1)
> ggplot(data = mydata1) +
   geom_point(aes(x = x1, y = abs(e1)), size = 2) +
   geom_abline(aes(intercept = 0.6939,  slope = 0.1278), size = 1) + theme_bw()
Рис. 3
На графике отчетливо прослеживается положительная тенденция увеличения абсолютных величин остатков при увеличении значений независимой переменной. Такой график особенно полезен в случае, когда число наблюдений не велико, так как помещает всю информацию об изменении магнитуды остатков в положительную полуплоскость и позволяет легко проводить анализ дисперсии ошибки (безотносительно знака) в зависимости от значений \(x_i\) (или \(\hat{y}_i\)).

3. Наличие выбросов.

Выбросы - это наблюдения с экстремальными значениями. Экстремальные остатки также легко идентифицировать на графиках \(e_i(x_i)\) или \(e_i(\hat{y}_i)\). Графики полустьюдентизированных остатков \(e^*_i(x_i)\) и \(e^*_i(\hat{y}_i)\) также могут оказаться полезными, так как в них остатки разбросаны относительно нуля на величину, пропорциональную стандартному отклонению, которое в данном случае принято за единицу отсчета. 

На (рис. 4) изображен график \(e^*_i(x_i)\) для смоделированных данных:
> x2 <- c(2, 4, 5, 6, 7, 8, 9, 12)
> y2 <- c(2.98,  4.44,  4.57,  10.52,  6.84,  7.61, 9.02, 11.07)
> fit2 <- lm(y2 ~ x2)
> e2 <- fit2$residuals
> summary(lm(y2 ~ x2))
> e_semi <- (e2 - mean(e2)) / 1.738
> mydata2 <- data.frame(x2, e_semi)
> ggplot(data = mydata2) +
   geom_point(aes(x = x2, y = e_semi), size = 2) + theme_bw()
Рис. 4
На графике отчетливо виден выделяющийся на фоне остальных остаток \(e^*_4\), полученный для наблюдения \(y_4=10.52\) при значении регрессора \(x_4=6\).

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

Также следует отметить, что в случае, когда линейная регрессионная модель строится на основе малого количества наблюдений и в данных присутствует выброс, на графике остатков в дополнение к сигналу о наличии выброса можно обнаружить закономерность, что может ошибочно означать отсутствие линейной зависимости. На (рис. 5) и (рис. 6) проиллюстрирована данная ситуация для данных модели fit2:
Рис. 5
Рис. 6
На диаграмме рассеяния (рис. 5) все наблюдения за исключением одного расположены около прямой линии. Когда для построения модели использована линейная регрессионная функция, то из-за наличия выброса, на соответствующем графике остатков (рис. 6) формируется закономерность - подавляющее число остатков отрицательны, что, в свою очередь, ошибочно означает отсутствие линейной зависимости.

Комментариев нет:

Отправить комментарий