$ SSR = \ sum_ {i = 1} ^ {n} (\ hat {Y} _i-\ bar {Y }) ^ 2 $는 적합치와 평균 반응 변수 간의 차이 제곱합입니다. 즉, 회귀선이 $ \ bar {Y} $에서 얼마나 멀리 떨어져 있는지 측정합니다. $ SSR $이 높을수록 결정 계수 인 $ R ^ 2 $가 높아져 모델이 데이터에 얼마나 잘 맞는지에 해당합니다. 회귀선이 평균 $ Y $에서 멀어 질수록 모델이 더 적합하다는 것을 의미합니다.
답변
정의 에 대한 약간의 오해가 있습니다.
\ begin {align} \ text {SST} _ {\ text {otal}} & = \ color {red} {\ text {SSE} _ {\ text {xplained}}} + \ color { blue} {\ text {SSR} _ {\ text {esidual}}} \\ \ end {align}
또는 동등하게
\ begin {align} \ sum ( y_i- \ bar y) ^ 2 & = \ color {red} {\ sum (\ hat y_i- \ bar y) ^ 2} + \ color {blue} {\ sum (y_i- \ hat y_i) ^ 2} \ end {align}
및
$ \ large \ text {R} ^ 2 = 1-\ frac {\ text {SSR } _ {\ text {esidual}}} {\ text {SST} _ {\ text {otal}}} $
모델이 모든 변형을 설명했다면 $ \ text {SSR} _ { \ text {esidual}} = \ sum (y_i- \ hat y_i) ^ 2 = 0 $ 및 $ \ bf R ^ 2 = 1. $
위키 백과에서 :
$ r = 0.7 $이고 $ R ^ 2 = 0.49 $라고 가정하면 $ 49 \ % $가 두 변수 사이의 변동성이 고려되었으며 변동성의 나머지 $ 51 \ % $는 여전히 고려되지 않았습니다.
사이의 제곱 거리의 합 평균 ($ \ bar Y $) 및 적합치 ($ \ hat Y $) ( SSExplained )는 평균에서 실제 값까지의 거리 ($ Y $) ( TSS ) 중 일부 계정. 이 두 계산의 차이점은 설명되지 않은 변동 부분 (잔차)입니다. TSS 를 고정 값으로 사용하면 SSExplained가 높을수록 SSResidual이 낮아져 1R에 가까워집니다. . 스퀘어가 될 것입니다.
실제로 맑은 바닷물을 어둡게 만들 위험이있는 몇 가지 직감이 있습니다. OLS에서는 과도하게 결정된 시스템에서 데이터 클라우드의 포인트까지의 거리를 최소화 하여 $ \ text {SST} \ text {SSE} $. 차이점은 $ \ text {SSR} $ (잔차)입니다.
하지만 완벽하게 정렬 된 세 점의 데이터 “구름”을 상상해 봅시다. 이제 실제로 OLS의 반대 : 평균을 지지점으로 사용하여 모든 점을 통과하는 선과 다른 선을 제안함으로써 오류를 증가시킬 것입니다. OLS는 중간의 파란색 점인 평균 값 $ ({\ bf \ bar X, \ bar Y}) $를 통과하며이를 통해 수평선을 그립니다. 이 경우 OLS의 예상 상황과 반대이고 요점을 설명하기 위해 선을 이동하여 방법을 볼 수 있습니다. 다이어그램의 왼쪽 “열”에 $ \ text {SSR} $ (모든 분산, $ \ text {SST} $, 모델 (줄), $ \ text {SSE} $)가 0이면 잔여 오류 (다이어그램 오른쪽에 빨간색) :
논리적으로 오류를 최소화하고 과도하게 결정된 시스템의 일반적인 상황에서 $ \ text {SST} > \ text { SSE} $이며 그 차이는 $ \ text {SSR} $에 해당합니다.
다음은 R에서 광범위하게 사용 가능한 데이터 세트를 사용한 간단한 예입니다.
fit = lm(mpg ~ wt, mtcars) summary(fit)$r.square [1] 0.7528328 > sse = sum((fitted(fit) - mean(mtcars$mpg))^2) > ssr = sum((fitted(fit) - mtcars$mpg)^2) > 1 - (ssr/(sse + ssr)) [1] 0.7528328
댓글
- 답변에 반대 한 사람이 오류의 위치를 지적 해주면 고맙겠습니다.
- 게시물이 정확합니다. 하지만 내 질문은 직관적으로 말하면 왜 $ \ hat {Y} $와 $ \ bar {Y} $ 사이의 거리가 회귀선이 데이터에 얼마나 적합한 지 측정하는 척도라고 생각합니다. 회귀 제곱합이 높기를 원합니다. 직관적으로 $ \ hat {Y} $와 $ \ bar {Y} $
- 평균 ($ \ bf \ bar Y $) 사이의 거리 제곱의 합이 왜 큰 차이를 원합니까? 적합치 ($ \ bf \ hat Y $) (SSExplained)는 평균에서 모델이 설명 할 수있는 실제 값 ($ \ bf Y $) (TSS)까지의 거리의 일부입니다. 이 두 계산의 차이는 설명 할 수없는 변동 부분 (잔차)입니다. TSS를 고정 값으로 취하면 SSExplained가 높을수록 SSResidual이 낮아져 1 R.Square에 가까워집니다.
- 답은 좋게 보이지만 포스터는 그렇지 않습니다. ‘ 감사하지 않습니다.@Adrian $ \ hat {y} _i $가 $ \ bar {y} $에 가까우면 회귀선이 예측 측면에서 거의 추가되지 않습니다. $ \ bar {y} $를 사용하여 예측할 수 있습니다. 우리가 지금 중요하다고 알고있는 회귀선과 $ \ bar {y} $의 상 수선 사이의 거리는 회귀 제곱합으로 측정됩니다.
- @dsaxton OP는 완전히 잘못되었습니다. 그 정의. 오해를 바로 잡으면 아이디어가 명확 해지기를 바랐습니다.
답변
왜 우리는 ŷ와 ȳ 사이에 큰 차이를 원합니까?
그래프 A, B, C, D는 각 사람의 1. 수축기 혈압 사이의 차이 또는 거리를 시각화하여 직관적으로 유용 할 수 있습니다. 평균 수축기 혈압 (y-ȳ)에서, 2. 회귀선에서 각 사람의 수축기 혈압 사이 (y-ŷ), 3. 회귀선과 평균 수축기 혈압 사이 (ŷ-ȳ) .
제곱합 평균과 각 sbp의 차이는 그래프 A에 표시된대로 총 제곱합 (tss)입니다.
혈청 콜레스테롤이 예측 변수 (x)로 추가되거나 적합하면 회귀선을 배치 할 수 있습니다. 그래프. 회귀선에서 각 sbp 값의 차이 제곱의 합은 그래프 B에 표시된 것처럼 회귀 제곱합 또는 설명 제곱합 (rss 또는 ess)입니다.
회귀선의 sbp 값이 총 제곱합보다 작 으면 회귀선 (혈청 콜레스테롤)이 평균 sbp보다 데이터에 더 적합합니다. 회귀선의 적합도가 좋을수록 잔차 제곱합 (그래프 C)이 작아집니다.
모든 sbp가 회귀선에 완벽하게 떨어지면 잔차 제곱합은 0이고 회귀 합계입니다. 제곱합 또는 설명 제곱합은 총 제곱합과 같습니다 (그래프 D). 이것은 sbp의 모든 변화가 혈청 콜레스테롤의 변화에 의해 설명 될 수 있음을 의미합니다.
질문을 해결하기 위해 : 왜 우리는 ŷ와 ȳ 사이에 큰 차이를 원합니까?
잔차로 제곱합이 0에 가까워지면 y = ŷ 일 때 제곱합이 회귀 제곱합과 같아 질 때까지 전체 제곱합이 줄어 듭니다. 이 경우, ŷ = ȳ의 평균입니다.
답변
이것은 제가 독학 목적으로 쓴 메모입니다. 영어 실력이 부족해서 개선 할 시간이 많지 않습니다. 도움이 될 것 같습니다. 여기에 붙여 넣기 만하면됩니다. 나중에 세부 사항을 추가하겠습니다.
선형 모델 $ \ vec \ epsilon $
$ \ vec y 오류가있는 여러 선형 모델을 생각해 낼 수 있습니다. = \ vec \ epsilon $ (기술적으로 모델이 아닙니다. $ \ beta $ s는 없지만 설명을위한 선형 모델로 간주합니다.)
$ \ vec y = \ beta_0 \ vec 1+ \ vec \ epsilon $ (0 번째 모델)
$ \ vec y = \ beta_0 \ vec 1+ \ beta_1 \ vec x_1 + \ vec \ epsilon $ (첫 번째 모델)
$ \ vec y = \ beta_0 \ vec 1 + \ beta_1 \ vec x_1 + … + \ beta_n \ vec x_n + \ vec \ epsilon $ (n 번째 모델)
$ m $ 차 모델 최소 제곱 맞춤 오류 최소화 $ \ vec \ epsilon “\ vec \ epsilon $
$ \ hat y _ {(m)} = X _ {(m)} \ hat \ beta _ {(m)} $ (벡터 기호 생략) $ X _ {(m)} = [\ vec 1 \ \ \ vec x_1 \ \ \ vec x_2 \ \ … \ \ \ vec x_m] $ $ \ hat \ beta _ {(m)} = (X _ {(m)} “X _ {(m)}) ^ {-1} X _ {(m)} “\ vec y = (\ hat \ beta_0 \ \ \ hat \ beta_1 \ \ … \ \ \ hat \ beta_m)”$
$ SS_ {residual} = \ sum (\ hat y ^ 2_ {i (m)}-y_i) ^ 2 $
$ 0 $ 차 모델 최소 제곱 적합. $ \ hat y _ {(0)} = \ vec 1 (\ vec 1 “\ vec 1) ^ {-1} \ vec 1″\ vec y = \ bar y \ vec 1 $
회귀의 진정한 의미는 무엇입니까? 다음을 고려해 보겠습니다. $ \ sum y_i ^ 2 $.
모델이 없으면 회귀가 없으므로 모든 $ y_i $를 오류로 처리 할 수 있습니다. (즉, 모델이 0이라고 말할 수 있습니다.) 그러면 총 오류는 $ \ sum y_i ^ 2 $가됩니다.
이제 회귀자를 고려하지 않는 0 번째 모델을 채택하겠습니다 ( $ x $ s) 0 번째 모델의 오류는 $ \ sum (\ hat y_ {i (0)}-y_i) ^ 2 = \ sum (\ bar y-y_i) ^ 2 $입니다. 우리는 $ \ sum y_i ^ 2- \ sum (\ bar y-y_i) ^ 2 = \ sum \ bar y ^ 2 $ 오류를 설명 할 수 있으며 이것은 0 번째 모델의 회귀입니다.
아래 식과 같이 n 번째 모델까지 확장 할 수 있습니다.
$$ \ sum y_i ^ 2 = \ sum \ bar {y} ^ 2 _ {(0)} + \ sum (\ bar {y} _ {(0)}-\ hat y_ {i (1)}) ^ 2+ \ sum (\ hat y_ {i (1)}-\ hat y_ {i (2)}) ^ 2 + … + \ sum (\ hat y_ {i (n-1 )}-\ hat y_ {i (n)}) ^ 2+ \ sum (\ hat y_ {i (n)}-y_i) ^ 2 $$ proof> 먼저 $ \ sum (\ hat y_ {i ( n-1)}-\ hat y_ {i (n)}) (\ hat y_ {i (n)}-y_i) = 0 $
마지막 항을 제외하고 오른손에는 n 번째 모델의 회귀.
참고 : $ \ sum (\ hat y_ {i (n-1)}-\ hat y_ {i (n)}) ^ 2 = (X _ {(n-1)} \ hat \ beta _ {(n-1)}-X _ {(n)} \ hat \ beta _ {(n)}) “(X _ {(n-1)} \ hat \ beta _ {(n-1)}-X_ { (n)} \ hat \ beta _ {(n)}) $
$ = \ vec y “X _ {(n)} (X _ {(n)}”X _ {(n)}) ^ {-1} X _ {(n)} “\ vec y- \ vec y”X _ {(n-1)} (X _ {(n-1)} “X _ {(n-1)}) ^ {-1 } X _ {(n-1)} “\ vec y $
$ = \ hat \ beta _ {(n)}”X _ {(n)} “\ vec y- \ hat \ beta _ {( n-1)} “X _ {(n-1)}”\ vec y $
이를 사용하여 이러한 용어를 줄일 수 있습니다.
n 번째 모델 $ SS_R (\ hat \ beta _ {(n)}) = \ hat \ beta _ {(n)} “X _ {(n)}”\ vec y $의 회귀. 이것은 다음으로 인한 제곱의 회귀 합입니다. $ \ hat \ beta _ {(n)} $
$$ \ sum y_i ^ 2 = SS_R (\ hat \ beta _ {(n)}) + \ sum (\ hat y_ {i (n)}-y_i) ^ 2 $$
이제 방정식의 각 변에서 0 번째 모델의 회귀를 뺍니다.
$ SS_ {total} = \ sum (y_i- \ bar y) ^ 2 = SS_R (\ hat \ beta _ {(n)}) -SS_R (\ hat \ beta _ {(0)}) + \ sum (\ hat y_ {i (n)}-y_i) ^ 2 $
이것은 ANOVA 방법에서 일반적으로 고려하는 방정식입니다.
이제 $ SS_R ((\ hat \ beta_1 \ \ … \ \ \ hat \ beta_n) “) = SS_R (\ hat \ beta _ {(n)}) -SS_R ( \ hat \ beta _ {(0)}) $, $ (\ hat \ beta_1 \ \ … \ \ \ hat \ beta_n) “$로 인한 추가 제곱합 $ \ beta _ {(0)} = \ hat \ beta_0 \ vec 1 = \ bar y \ vec 1 $
그러므로 회귀 제곱합은 0 번째 모델보다 데이터를 더 많이 설명 할 수있는 것 같습니다.
차단이없는 모델 여기서는 0 번째 모델을 고려하지 않습니다.
$ \ vec y = \ beta_1 \ vec x_1 + \ vec \ epsilon $
$ \ vec \ epsilon “\ vec \ epsilon $을 최소화하면 얻을 수 있습니다.
$ \ sum y_i ^ 2 = \ sum (\ hat y_ {i (1)}) ^ 2+ \ sum (\ hat y_ {i (1)}-y_i) ^ 2 $
case $ SS_R = \ sum (\ hat y_ {i (1)}) ^ 2 $
댓글
- 베타가 없다는 것은 모델이 없음을 의미합니다. 0 번째 모델이 아닙니다.