Понимание того, как рассчитываются выходные данные модели, улучшает понимание их интерпретации

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

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

Прогнозирование оценки ACT на основе среднего балла

Цель состоит в том, чтобы предсказать результат ACT ученика с учетом его среднего балла. Мы начинаем с создания фрейма данных из 15 баллов ACT и GPA. Затем мы создаем линейную модель с помощью функции lm.

gpa = c(2.931,3.682,3.113,3.910,2.568,
 3.292,3.684,3.835,3.180,3.516,
 3.358,2.801,2.729,3.989,2.679)
act = c(28,31,26,36,27,31,28,34,29,32,28,24,30,33,26)
df = data.frame(cbind(gpa,act))
mod = lm(act~gpa,data=df)
summary(mod)

act = 11,877 + 5,376 * gpa

Мы видим, что gpa поддерживается низким значением p, что позволяет предположить, что это сильный предиктор действия. Оценка составляет 5,376, что означает, что на каждое увеличение gpa на 1,0 мы ожидаем увеличения ACT на 5,376 пункта. Давайте посмотрим, откуда берутся эти разные значения в сводной таблице.

Суммы квадратов

На диаграмме ниже каждая точка - yᵢ, каждое прогнозируемое значение - ŷᵢ, а среднее - ȳ.

Остаточная сумма квадратов (RSS / SSE)

eᵢ = yᵢ - ŷᵢ

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

Напомним, ŷ = b₀ + b₁x

следовательно, eᵢ = yᵢ - ŷᵢ = yᵢ - b₀ - b₁xᵢ

RSS = Σ (yᵢ - b₀ - b₁xᵢ) ²

Начнем с того, что возьмем частную производную RSS по b₀ и b₁, а затем установим их равными нулю.

∂RSS / ∂b₀ = -2Σ (yᵢ - b₀ - b₁xᵢ)

b₀ = ȳ - b₁x̄

∂RSS / ∂b₁ = -2Σ (yᵢ - b₀ - b₁xᵢ) xᵢ

b₁ = (Σ (xᵢ - x̄) (yᵢ - ȳ)) / Σ (xᵢ - x̄) ² = SXY / SXX

Давайте воспользуемся приведенными выше формулами и посмотрим на результаты, начиная с b₁.

avg_act = mean(df$act)
avg_gpa = mean(df$gpa)
b1 = sum((df$gpa - avg_gpa)*(df$act - avg_act))/sum((df$gpa - avg_gpa)**2)

Это дает 5,376. Обратите внимание, что это соответствует оценке lm gpa. Отлично, давайте повторим процесс для b₀

b0 = avg_act - b1*(avg_gpa)

Это дает 11,877, что соответствует оценке точки пересечения. Отлично, мы показали, как рассчитать оценки параметров, но теперь нам нужно проверить их важность. Давайте начнем с рассмотрения двух других значений, тесно связанных с RSS.

Регрессия суммы квадратов (SSReg)

SSReg = Σ (ŷᵢ - ȳ) ²

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

Сумма квадратов (SST)

SST = Σ (yᵢ - ȳ) ²

SST = RSS + SSReg

Давайте проверим, что это уравнение выполняется на нашем примере.

rss = sum(((df$act - fitted.values(mod)))**2)
ssreg = sum(((fitted.values(mod) - avg_act))**2)
sst = sum(((df$act - avg_act))**2)
all.equal((rss+ssreg),sst)

Связь RSS, SSReg и SST с итоговыми выводами

Остаточная стандартная ошибка

Предположим, что наши ошибки независимы, гомоскедастичны и нормально распределены со средним значением 0 и дисперсией σ². Остатки можно использовать для создания несмещенной оценки дисперсии ошибки. Стандартная остаточная ошибка - это квадратный корень из этой оценки σ². Это дает нам представление о том, как далеко наши точки находятся от линии регрессии.

n = nrow(df)
p = 1
rse = sqrt(rss/(n-p-1))

Здесь p - количество предикторов без перехвата. В нашем примере SLR у нас есть только один предиктор, поэтому знаменатель становится n-2.

Станд. ошибка (оценок параметров)

Var (b₀ | X) = σ² [(1 / n) + (x̄² / SXX)]

sxx = sum((df$gpa - avg_gpa)**2)
sigma_squared = rss/(n-p-1)
var_b0 = sigma_squared*((1/n)+(avg_gpa**2/sxx))
se_b0 = sqrt(var_b0)

Var (b₁ | X) = σ² / SXX

var_b1 = (rss/(n-p-1))/(sxx)
se_b1 = sqrt(var_b1)

значение t

T-статистика рассчитывается путем деления бета-оценок на их стандартные ошибки. Числители - стандартные нормальные переменные, а знаменатели - квадратные корни от переменных хи-квадрат с n-p-1 степенями свободы. Следовательно, эти статистические данные следуют распределению T с n-p-1 степенями свободы.

t_b0 = b0/se_b0
t_b1 = b1/se_b1
2*pt(t_b0,n-p-1,lower.tail=F)
2*pt(t_b1,n-p-1,lower.tail=F)

Множественный R-квадрат

R² = SSReg / SST = 1 - RSS / SST

Проще говоря, R² - это мера того, какая дисперсия объясняется линией регрессии (SSReg) по отношению к общей дисперсии (SST).

Скорректированный R-квадрат

R²ᵃᵈʲ = 1 - (RSS / n-p-1) / (SST / n-1)

При преобразовании скорректированного уравнения R² в числителе останется n-1, а в знаменателе - n-p-1. В результате скорректированное R² всегда меньше, чем кратное R², даже в контексте простой линейной регрессии.

F-статистика

f = MSReg / MSE

МС относится к среднему квадрату. Эти значения вычисляются путем деления SSReg и RSS на их соответствующие степени свободы, 1 и n-p-1. Поскольку это отношение двух переменных хи-квадрат, новая статистика следует F-распределению с 1 и n-p-1 степенями свободы.

f = (ssreg/1)/(rss/(n-2))
pf(f,1,n-p-1,lower.tail=F)

Вывод

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