Найкращий спосіб зрозуміти ці терміни - це обчислення регресії вручну. Я написав дві тісно пов'язані відповіді ( тут і тут ), однак вони можуть не повністю допомогти вам зрозуміти ваш конкретний випадок. Але прочитайте їх все-таки. Можливо, вони також допоможуть вам краще зрозуміти ці терміни.
R2R2RSE
- SStotal
- SSresidual
- SSм о де л
Кожен з них оцінює, наскільки добре модель описує дані та чи є сума квадратичних відстаней від точок даних до встановленої моделі (проілюстрована червоними лініями на графіку нижче).
SSt o t a lcars
SSr e s i du a l
SSм о де лSSt o t a lSSr e s i du a l
Щоб відповісти на ваші запитання, давайте спочатку обчислимо ті терміни, які ви хочете зрозуміти, починаючи з моделі та результату як орієнтир:
# 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ЕМSr e s i du a l
# Calculate residual standard error
res.se <- sqrt(ms.residual)
res.se
SSr e s i du a lМSr e s i du a l SSr e s i du a lR SЕпредставляє середню відстань спостережуваних даних від моделі. Інтуїтивно це також має ідеальний сенс, оскільки якщо відстань менша, то ваша модель також підходить.
Q2:
- Тепер я заплутався, тому що якщо RSE повідомляє нам, наскільки наші спостережувані точки відхиляються від лінії регресії, низький показник RSE насправді говорить нам, "ваша модель добре підходить на основі спостережуваних точок даних" -> таким чином, наскільки добре підходять наші моделі , то в чому різниця між R квадратом і RSE?
R2SSм о де лSSt o t a l
# R squared
r.sq <- ss.model/ss.total
r.sq
R2SSt o t a lSSм о де л
R SЕR2R SЕ
R2
Q3:
- Це правда, що у нас може бути значення F, що вказує на міцний зв'язок, який є НЕ ЛІНІЙНИМ, щоб наш RSE був високим, а наш R квадрат низьким
FMSmodelMSresidual
# Calculate F-value
F <- ms.model/ms.residual
F
# Calculate P-value
p.F <- 1-pf(F, df.model, df.residual)
p.F
F
Ваше третє питання трохи важко зрозуміти, але я погоджуюся з цитатою, яку ви надали.