변수 사이의 변동량을 나타내는 의 개념을 완전히 이해하고 싶습니다 . 모든 웹 설명은 약간 기계적이고 모호합니다. 나는 기계적으로 숫자를 사용하는 것이 아니라 개념을 "얻고 싶다".
예 : 공부 한 시간 대 시험 점수
= 0.8
= .64
- 이것이 무엇을 의미합니까?
- 시험 점수 변동의 64 %는 몇 시간으로 설명 할 수 있습니까?
- 우리는 단지 제곱하여 그것을 어떻게 알 수 있습니까?
변수 사이의 변동량을 나타내는 의 개념을 완전히 이해하고 싶습니다 . 모든 웹 설명은 약간 기계적이고 모호합니다. 나는 기계적으로 숫자를 사용하는 것이 아니라 개념을 "얻고 싶다".
예 : 공부 한 시간 대 시험 점수
= 0.8
= .64
답변:
변형의 기본 아이디어로 시작하십시오. 시작 모형은 평균과의 제곱 편차의 합입니다. R ^ 2 값은 대체 모델을 사용하여 설명 된 변동의 비율입니다. 예를 들어, R- 제곱은 평균이 아닌 회귀선에서 제곱 거리를 합산하여 제거 할 수있는 Y의 변동량을 나타냅니다.
단순한 회귀 문제에 대해 생각하면 이것이 명확하게 보인다고 생각합니다. 가로 축을 따라 예측 변수 X가 있고 세로 축을 따라 응답 Y가있는 일반적인 산점도를 고려하십시오.
평균은 Y가 일정한 플롯의 수평선입니다. Y의 총 변동은 Y의 평균과 각 개별 데이터 요소 간의 제곱 차이의 합입니다. 평균선과 모든 개별 점 사이의 거리가 제곱되고 합산됩니다.
모형에서 회귀선을 사용한 후 다른 변동성 측정 값을 계산할 수도 있습니다. 이것은 각 Y 지점과 회귀선의 차이입니다. 각 (Y-평균) 제곱 대신 (Y-회귀선의 점)을 제곱합니다.
회귀선이 수평이 아닌 경우이 회귀선을 평균보다 사용하면 전체 거리가 줄어들게됩니다. 설명 된 추가 변형과 원래 변형 간의 비율은 R ^ 2입니다. 회귀선을 맞추는 것으로 설명 된 반응의 원래 변형 비율입니다.
다음은 시각화를 돕기 위해 평균, 회귀선 및 회귀선에서 각 점으로 세그먼트가있는 그래프에 대한 R 코드입니다.
library(ggplot2)
data(faithful)
plotdata <- aggregate( eruptions ~ waiting , data = faithful, FUN = mean)
linefit1 <- lm(eruptions ~ waiting, data = plotdata)
plotdata$expected <- predict(linefit1)
plotdata$sign <- residuals(linefit1) > 0
p <- ggplot(plotdata, aes(y=eruptions, x=waiting, xend=waiting, yend=expected) )
p + geom_point(shape = 1, size = 3) +
geom_smooth(method=lm, se=FALSE) +
geom_segment(aes(y=eruptions, x=waiting, xend=waiting, yend=expected, colour = sign),
data = plotdata) +
theme(legend.position="none") +
geom_hline(yintercept = mean(plotdata$eruptions), size = 1)
둘 사이의 관계의 수학 데모는 여기에 있습니다 : 피어슨의 상관 관계 및 최소 제곱 회귀 분석 .
수학과 별도로 제공 될 수있는 기하학적 또는 다른 직관이 있는지 확실하지 않지만, 생각할 수 있으면이 답변을 업데이트하겠습니다.
업데이트 : 기하학적 직관
대체 텍스트 http://a.imageshack.us/img202/669/linearregression1.png
피타고라스 정리에 의하면,
따라서 필요한 관계가 있습니다.
희망이 도움이됩니다.