이 항을 이해하는 가장 좋은 방법은 손으로 회귀 계산을 수행하는 것입니다. 밀접하게 관련된 두 가지 답변 ( here 및 here )을 작성했지만 특정 사례를 이해하는 데 완전히 도움이되지는 않습니다. 그럼에도 불구하고 그들을 통해 읽어보십시오. 어쩌면 그들은 이러한 용어를 더 잘 개념화하는 데 도움이 될 것입니다.
아르 자형2아르 자형2아르 자형 S이자형
- 에스에스t o t a l
- 에스에스r e s i dU 리터
- 제곱의 모형 합 ( 에스에스m o d전자 리터 )
각 모델은 모델이 데이터를 얼마나 잘 설명하는지 평가하고 데이터 점에서 적합 모델까지의 제곱 거리의 합입니다 (아래 그림에서 빨간색 선으로 표시).
에스에스t o t a l 얼마나 잘 맞는 평균 데이터를 평가한다. 왜 그럴까요? 평균은 우리가 적합 할 수있는 가장 간단한 모형이므로 최소 제곱 회귀선을 비교할 모형으로 사용됩니다. cars
데이터 세트를 사용한이 플롯 은 다음을 보여줍니다.
에스에스r e s i dU 리터
에스에스m o d전자 리터에스에스t o t a l에스에스r e s i dU 리터
질문에 답하기 위해 먼저 모델로 시작하여 참조로 이해하고자하는 용어를 계산해 보겠습니다.
# 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이자형미디엄에스r e s i dU 리터
# Calculate residual standard error
res.se <- sqrt(ms.residual)
res.se
에스에스r e s i dU 리터미디엄에스r e s i dU 리터 에스에스r e s i dU 리터R S이자형모형에서 관측 된 데이터의 평균 거리를 나타냅니다. 직관적으로, 거리가 더 작 으면 모델에 적합하기 때문에 완벽하게 이해됩니다.
Q2 :
- RSE가 관측 포인트가 회귀선에서 얼마나 멀리 떨어져 있는지 알려 주면 RSE가 낮아서 실제로 "모델이 관측 된 데이터 포인트를 기반으로 잘 맞습니다"라고 말하여 모델이 얼마나 잘 맞는지 혼란스러워집니다. R 제곱과 RSE의 차이점은 무엇입니까?
아르 자형2에스에스m o d전자 리터에스에스t o t a l
# R squared
r.sq <- ss.model/ss.total
r.sq
아르 자형2에스에스t o t a l에스에스m o d전자 리터
R S이자형아르 자형2R S이자형
아르 자형2
Q3 :
- RSE가 높고 R 제곱이 낮도록 선형이 아닌 강한 관계를 나타내는 F 값을 가질 수 있다는 것이 사실입니까?
에프미디엄에스m o d전자 리터미디엄에스r e s i dU 리터
# Calculate F-value
F <- ms.model/ms.residual
F
# Calculate P-value
p.F <- 1-pf(F, df.model, df.residual)
p.F
에프
세 번째 질문은 이해하기 약간 어렵지만 제공 한 견적에 동의합니다.