Лучший способ понять эти термины - выполнить регрессионный расчет вручную. Я написал два тесно связанных ответа ( здесь и здесь ), однако они могут не полностью помочь вам понять ваш конкретный случай. Но все же прочитайте их. Возможно, они также помогут вам лучше понять эти термины.
р2р2R SЕ
- SSт о т л
- SSт е с я ду л
- SSм о дэ л
Каждый из них оценивает, насколько хорошо модель описывает данные и является суммой квадратов расстояний от точек данных до подобранной модели (показаны на графике ниже красными линиями).
SSт о т лcars
SSт е с я ду л
SSм о дэ лSSт о т лSSт е с я ду л
Чтобы ответить на ваши вопросы, давайте сначала вычислим те термины, которые вы хотите понять, начиная с модели и выводя в качестве справки:
# The model and output as reference
m1 <- lm(dist ~ speed, data = cars)
summary(m1)
summary.aov(m1) # To get the sums of squares and mean squares
Суммы квадратов - это квадраты расстояний отдельных точек данных до модели:
# Calculate sums of squares (total, residual and model)
y <- cars$dist
ybar <- mean(y)
ss.total <- sum((y-ybar)^2)
ss.total
ss.residual <- sum((y-m1$fitted)^2)
ss.residual
ss.model <- ss.total-ss.residual
ss.model
Средние квадраты - это суммы квадратов, усредненные по степеням свободы:
# Calculate degrees of freedom (total, residual and model)
n <- length(cars$speed)
k <- length(m1$coef) # k = model parameter: b0, b1
df.total <- n-1
df.residual <- n-k
df.model <- k-1
# Calculate mean squares (note that these are just variances)
ms.residual <- ss.residual/df.residual
ms.residual
ms.model<- ss.model/df.model
ms.model
Мои ответы на ваши вопросы:
Q1:
- Таким образом, это фактически среднее расстояние наблюдаемых значений от линии lm?
R SЕMSт е с я ду л
# Calculate residual standard error
res.se <- sqrt(ms.residual)
res.se
SSт е с я ду лMSт е с я ду л SSт е с я ду лR SЕпредставляет среднее расстояние наблюдаемых данных от модели. Интуитивно понятно, что это также имеет смысл, потому что, если расстояние меньше, ваша модель будет лучше.
Q2:
- Теперь я в замешательстве, потому что, если RSE говорит нам, как далеко наши наблюдаемые точки отклоняются от линии регрессии, низкий RSE фактически говорит нам, что «ваша модель хорошо согласуется на основе наблюдаемых точек данных» -> таким образом, насколько хорошо наши модели соответствуют Так в чем же разница между R в квадрате и RSE?
р2SSм о дэ лSSт о т л
# R squared
r.sq <- ss.model/ss.total
r.sq
р2SSт о т лSSм о дэ л
R SЕр2R SЕ
р2
Q3:
- Верно ли, что мы можем иметь значение F, указывающее на сильные отношения, которые НЕ являются ЛИНЕЙНЫМИ, так что наш RSE высокий, а наш квадрат R низкий
FMSм о дэ лMSт е с я ду л
# Calculate F-value
F <- ms.model/ms.residual
F
# Calculate P-value
p.F <- 1-pf(F, df.model, df.residual)
p.F
F
Ваш третий вопрос немного сложен для понимания, но я согласен с приведенной вами цитатой.