21.통계데이터분석 - 회귀분석 - 단순회귀분석.Rmd
0.02MB
21.통계데이터분석---회귀분석---단순회귀분석.html
1.89MB
21.통계데이터분석 - 회귀분석 - 단순회귀분석
2022-08-14
https://www.youtube.com/watch?v=8opxpVeWmGY&list=PLY0OaF78qqGAxKX91WuRigHpwBU0C2SB_&index=22
1. 회귀분석(regression analysis) 개요
- 회귀분석 사용의 의의
- 어떤 두 변수의 관측값을 이용해 둘간의 관계를 그래프로 표현하면 두 변수간의 대략적인 관계 패턴을 파악을 할 수 있음
- 산점도로부터 두 변수 간 존재하는 일정한 모양의 패턴을 관찰할 수 있음
- 이 패턴을 수리적 모델로 표현할 수 있다면 두 변수 간 관계를 설명하는 적절한 도구로 활용할 수가 있고 이를 이용해 한 변수 값을 알고 있을 때 다른 변수 값을 예측하는 것도 가능
- 선형회귀모델과 회귀분석의 정의
- 선형회귀모델
- 광고비와 매출액의 관측값을 산점도 상에 표현 후, 하나의 직선을 따라서 주변에 분포하는 패턴을 보인다면 그 직선을 표현하는 하나의 방정식을 도출해 두 변수간 관계를 설명하는데 활용가능
- 이러한 직선을 나타내는 방정식 선형회귀모델 또는 선형회귀식이라고 함
- 회귀분석: 선형회귀식을 도출해 변수 간 연관성을 분석하는 통계기법
- 선형회귀모델
- 회귀분석의 종류
- 단순회귀분석: 1개의 연속형 독립변수를 이용해 1개의 연속형 종속변수를 예측
- 다중회귀분석: 2개 이상의 연속형 독립변수를 이용해 1개의 연속형 종속변수를 예측
- 다항회귀분석
- 단순회귀분석처럼 1개의 연속형 독립변수를 이용해 1개의 연속형 종속변수를 예측
- 그 1개의 독립변수를 n차 다항식 형태로 선형결합해 모델링한 형태로 만든 회귀식
- 예) 독립변수 \(x\) 가 있을 때, 이 독립변수를 그대로 사용하면 단순회귀분석임
- 그 독립변수 \(x\) 로 \(x^2\) 항, \(x^3\) 항을 만들어, 동일한 \(x\) 란 독립변수로부터 \(x\) 항, \(x^2\) 항, \(x^3\) 항3개를 만들어, 이 세개를 독립변수로 활용할 경우 다항회귀분석 수행 가능
- 실질적으로 \(x\) 항, \(x^2\) 항, \(x^3\) 항이 있기 때문에마치 두 개 이상의 독립변수가 있는 것처럼 보여 형태 상으로 다중회귀분석과 유사함
- 그래서 다항회귀분석은 다중회귀분석의 한 특수한 형태라고도 볼 수 있음
- 회귀분석에 사용되는 번수: 일반적으로 모두 간격척도나 비율척도로 측정된 연속형 변수여야 함
2. 회귀식의 도출
2-1. 상관분석의 한계와 직선의 추정
- 상관분석의 한계와 회귀분석의 필요성
- 상관 분석을 통해 도출한 상관계수는 가상의 직선 상의 테이터 점들이 얼마나 가까이 모여있는 지 알려줌
- 하지만 그 직선이 어떻게 생겼는지는 구체적으로 알 수 없음
- 한 변수값으로부터 다른 변수값을 예측하고자 한다면 그 직선에 대해 기울기, 절편 같은 좀 더 많은 정보가 필요함
- 회귀분석을 통해 이러한 직선의 방정식을 구할 수 있음
- 가정) 한 국가의 기대수명에 영향을 미치는 요인으로 그 국가의 도시인구비율을 선정하고 이들간의 관련성을 선형회귀모델을 이용해 분석함
- 기대수명은 종속변수, 도시인구비율은 종속변수를 설명하는 독립변수 역할 수행
- 위 도표해석
- 도시인구비율과 기대수명 간 관측값들을 산점도 상 표현한 것임
- 산점도 상 점들은 일정한 패턴을 갖고 있음
- 도시인구비율이 높은 국가는 그렇지 않은 국가에 비해 대체로 기대수명이 더 김
- 즉, 도시인구비율 증가에 따라서 기대수명이 증가하는 경향을 보임
- 이들 각 변수 값들을 나타내는 점들은 하나의 가상의 직선을 따라 주변에 분포하고 있는 것처럼 보임. 그래서 두 변수는 선형관계를 가지고 있다고 얘기할 수 있음
- 도시인구비율이 증가함에 따라 기대수명 역시 증가하는 모양을 보이기 때문에 두 변수는 정의 선형관계를 가짐
- 직선의 특징과 최적선 산출의 필요성
- 물론 이 모든 관측값들이 직선과 정확히 일치하지는 않음
- 직선과의 정확한 일치가 불가능한 것은 아니지만 발생할 가능성은 상당히 희박함
- 만일 모든 점이 직선 상에 정확히 놓여질 수 있다면 그 직선을 이용해 두 변수간 관계를 완벽하게 설명 할 수 있음
- 하지만 관측값들은 가상의 직선 주변에 분포되어 있는 것으로 가정할 수 있을 뿐 정확히 직선 상에 놓여 있진 않음
- 관측값 사이를 통과해 그려질 수 있는 직선은 하나만 있는 것이 아니고 여러 개의 직선이 존재할 수 있음
- 따라서 두 변수 간의 관계를 적절히 설명-예측하기 위해서는 관측값들 간의 관계를 가장 잘 설명해 줄 수 있는 단 하나의 직선을 구하는 체계적인 방법이 요구됨
2-2. 최소자승법
- 최소자승법은 그런 직선(최적선)을 구하는 방법으로 가장 많이 사용되는 회귀식 도출 방법임
- 최소자승법은 산점도 상에 관측된 각 좌표점과 임의의 직선 사이의 수직거리를 제곱해서 합한 값이 가장 작게 되는 직선을 찾는 방법임
- 이런 최소자승법에 의해 구해진 직선을 최소자승회귀선 또는 회귀선이라고 함
- 최소자승회귀선의 도출 과정
- 각 관측값과 회귀선 간의 수직선을 그리고
- 그 거리를 측정해 관측점과 회귀선 간의 거리를 계산함
- 그 다음 각 관측점과 회귀선 간 거리를 각각 제곱하고
- 이를 모두 더해 거리 제곱의 합을 구함
- 최소자승회귀선은 이렇게 구해진 거리의 제곱의 합이 그 밖의 다른 어떤 직선에 대해 구해진 거리 제곱의 합보다 작게 되는 직선을 의미함
- 최소자승회귀선의 표현
- 최소자승회귀선은 위와 같은 직선의 방정식으로 나타낼 수 있음
- 종속변수: y는 수직축 상 변수를 나타내는 종속변수임(여기서는 기대수명)
- 독립변수: x는 수평축 상 변수를 의미하는 독립변수임(여기서는 도시인구비율)
- 절편: \(β_0\) 는 절편이며 x가 0일 때 y의 값을 나타냄
- 기울기: \(β_1\) 은 기울기라 하고, \(x\)의 한단위 변화량에 대한 \(y\)의 변화량을 나타냄
- 종속변수는 독립변수에 의해 예측되기 때문에 독립변수인 도시인구비율을 이용해 종속변수인 기대수명을 예측할 수 있음
- \[ \begin{aligned} y=β_0+β_1x \end{aligned} \]
2-3. 회귀식의 기울기와 절편의 해석
- 그림1 설명: 선형회귀선
- 기대수명과 도시인구비율 이용하여 도출된 회귀식
- 기울기가 0.48 이기 때문에 도시인구비율 한단위의 증가(즉, 1% 증가)는 기대수명 0.48년에 증가를 가져옴
- 도시인구비율이 50%인 경우 41.0+0.48*50%로 계산해 기대수명이 65세라고 예측가능
- 도시인구비율이 51%인 경우 41.0+0.48*51%로 계산해 기대수명이 65.48세라고 예측가능
- 65세와 65.48세의 차는 0.48로써 회귀식 기울기와 일치함
- x축의 독립변수 값이 1만큼 증가할 때 y축의 종속변수 값이 변하는 양이 회귀식의 기울기이기 때문에 종속변수 값의 차이는 결국은 이 회귀식의 기울기에 해당됨
- 기울기가 양수이면 독립변수의 증가는 종속변수의 증가를 가져오고 기울기가 음수이면 독립변수의 증가는 종속변수의 감소를 가져옴
- 양수이든 음수이든 절대값 기준으로 기울기값이 크면 변화의 폭은 커지고 기울기값이 작으면 변화의 폭은 작아짐
- 그림2 설명: 기울기가 0인 직선
- 기울기가 0이면 독립변수가 종속변수에 아무런 영향을 미치지 않음을 의미하고 이런 두 변수 간 어떠한 선형관계도 존재하지 않음을 뜻함
- 이 경우 그래프는 수평선으로 그려지게 됨
- 기울기와 절편의 비대칭성
- 독립변수와 종속변수가 서로의 역할을 바꾸게 되면 기울기가 절편은 값이 달라짐
- 서로 대칭인 특성을 갖는 상관계수와 달리 회귀선의 기울기와 절편은 비대칭적인 특성을 가짐
- 따라서 어떤 변수가 독립변수이고 어떤 변수가 종속변수인지는 회귀식의 도출을 있어 중요한 고려 사항이 될 수 있음
- 절편의 의미해석 시 유의사항
- 절편의 어떤 의미를 부여할 때는 주의를 기울일 필요가 있음
- 절편은 독립변수 값이 0일 때 종속변수 값을 의미하기 때문에 독립변수의 값이 0이라는 것이 의미있는 숫자가 아닌한 절편이 갖는 의미는 제한적일 수 밖에 없음
- 예) 기대수명을 산출할 수 있는 국가 중 도시인구비율이 0인 나라는 실제 존재할 가능성이 매우 작기 때문에 도시인구비율이 0인 가상의 국가에 대한 기대수명에 실질적인 의미를 부여하기는 어려움
- 그래서 기대수명과 도시인구비율 간 회귀식이 도출됐다해서 도시인구비율이 0일 때 그 국가의 기대수명이 41세다 라고 얘기할 때는 주의를 기울일 필요가 있음
3. 회귀분석 수행하는 절차
3-1. Prestige 데이터셋 설명
https://youtu.be/8opxpVeWmGY?list=PLY0OaF78qqGAxKX91WuRigHpwBU0C2SB_&t=699
- 102개의 관측값과 6개의 변수로 구성
- 102개의 직업별로 교육기관, 소득, 여성 비율, 직업명망도, 직업유형 등의 데이터 기록
- 직업별로 그 직업에 대한 다양한 정보들이 기록되어 있음
- 교육기간은 education 변수, 소득은 income 변수에 저장 돼 있음
- 교육기간은 연단위이고 소득은 달러단위임
library(car)
str(Prestige)
## 'data.frame': 102 obs. of 6 variables:
## $ education: num 13.1 12.3 12.8 11.4 14.6 ...
## $ income : int 12351 25879 9271 8865 8403 11030 8258 14163 11377 11023 ...
## $ women : num 11.16 4.02 15.7 9.11 11.68 ...
## $ prestige : num 68.8 69.1 63.4 56.8 73.5 77.6 72.6 78.1 73.1 68.8 ...
## $ census : int 1113 1130 1171 1175 2111 2113 2133 2141 2143 2153 ...
## $ type : Factor w/ 3 levels "bc","prof","wc": 2 2 2 2 2 2 2 2 2 2 ...
head(Prestige)
## education income women prestige census type
## gov.administrators 13.11 12351 11.16 68.8 1113 prof
## general.managers 12.26 25879 4.02 69.1 1130 prof
## accountants 12.77 9271 15.70 63.4 1171 prof
## purchasing.officers 11.42 8865 9.11 56.8 1175 prof
## chemists 14.62 8403 11.68 73.5 2111 prof
## physicists 15.64 11030 5.13 77.6 2113 prof
3-2. lm() - 회귀분석 수행
- 분석대상: 본 데이터로 교육기관과 소득 간의 관계를 분석
- 인수설명
- formula: 포뮬러 형식으로 틸다의 앞에는 종속변수, 뒤에는 독립변수를 지정. 여기서는 종속변수는 소득, 독립변수는 교육기관이기 때문에 각각 income변수와 education변수 지정
- data: 모델을 생성해 사용할 데이터프레임 지정. 여기서는 Prestige 데이터셋 지정
Prestige.lm <- lm(income ~ education, data=Prestige)
class(Prestige.lm)
## [1] "lm"
Prestige.lm
##
## Call:
## lm(formula = income ~ education, data = Prestige)
##
## Coefficients:
## (Intercept) education
## -2853.6 898.8
- 결과해석
- 회귀분석 결과에 대한 다양한 정보를 담고 있는 lm이라는 class의 회귀모델 객체 생성
- 회귀모델 객체 출력 결과, 마지막줄에 절편값 -2853.6, 기울기값 898.8 확인됨
3-3. abline() - 회귀식을 산점도 상 직선으로 표현하기
- 인수설명
- 1st: 회귀분석 결과 생성된 모델 객체 지정
- col: 색상 지정
- lwd: 회귀선 선의 두께 지정
plot(Prestige$income ~ Prestige$education,
col="cornflowerblue", pch=19, las=1,
xlab="Education (years)", ylab="Income (dollars)",
main="Eudcation and Income")
abline(Prestige.lm, col="salmon", lwd=2)
- 도표해석
- 산점도 상에 회귀식이 출력됨
- 교육기간과 소득은 정의 선형 관계를 가짐
- 독립변수에 대한 회귀계수는 898.8로 교육기간 1년 증가 때마다 898.8 달러씩 소득 증가
- 절편은 독립변수 값이 0일 때의 종속변수 값을 나타내기 때문에 독립변수 값이 0 이라는 것이 의미있는 숫자가 아닌한 절편이 갖는 의미는 제한적일 수 밖에 없음
- 여기 조사된 지역 가운데 교육기간이 0인 경우는 실제 존재하지 않기 때문에 교육기간이 0인 가상의 직업에 대한 소득의 실질적 의미를 부여해서는 안됨
- 절편값이 -2853.6 이라해서 교육기간이 0일 때 소득은 - 2853.6이다 라고 해석하는 것은 문제가 있을 수 있다는 의미임
3-4. R의 회귀모델 분석 결과 추출 함수(용도별 추출함수)
- https://youtu.be/8opxpVeWmGY?list=PLY0OaF78qqGAxKX91WuRigHpwBU0C2SB_&t=1102
- 선형회귀식의 회귀계수 정보 이외에 좀 더 다양한 통계 분석 결과를 보려면 용도별 추출함수를 이용할 수 있음
- 아래는 회귀모델 객체에 포함된 분석결과를 추출할 때 이용가능한 주요함수 리스트임
3-4-1. summary() - 회귀분석 결과를 주요한 정보 위주로 추출
- 인수설명: 회귀모델 객체
summary(Prestige.lm)
##
## Call:
## lm(formula = income ~ education, data = Prestige)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5493.2 -2433.8 -41.9 1491.5 17713.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2853.6 1407.0 -2.028 0.0452 *
## education 898.8 127.0 7.075 2.08e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3483 on 100 degrees of freedom
## Multiple R-squared: 0.3336, Adjusted R-squared: 0.3269
## F-statistic: 50.06 on 1 and 100 DF, p-value: 2.079e-10
- 결과해석
- 여러 정보를 확인 가능
- Residuals: 잔차의 분포를 의미함. 잔차는 관측값과 예측값의 차이를 의미함
- 이상적인 회귀모델에서 잔차의 분포는 정규분포를 따름
- 잔차의 평균 0 이기 때문에 중위수 부호를 통해 분포의 치우침 정도를 확인할 수 있음
- 여기서 중위수는 - 41.9이기때문에 평균 0을 중심으로 왼쪽에 있음
- 그래서 잔차는 종모양의 전형적인 정규분포에 비해 약간 오른쪽으로 꼬리가 긴 분포 모양을 가진다고 불 수 있음
- Residuals에서 잔차들이 정규분포와 얼마나 비슷한지 유추할 수 있음
- Coefficients : 회귀계수 추정치 및 그 회귀계수에 대한 유의성 검정결과 출력
- Estimate: 회귀계수추정치, Std. Error: 표준오차, t value: t 값 / Pr(>|t|): 유의확률 p값
- 회귀계수 t 검정은 회귀계수가 0이라는 귀무가설 검증
- 독립변수 education에 대한 p값 2.08e-10은 유의수준 0.05에 비해 매우 작기 때문에 회귀계수 추정치는 통계적으로 유의함
- 따라서 독립변수 education의 회귀계수는 0이라고 할 수 없음
- Residual standard error: 잔차표준오차를 나타냄. 줄여서 RSE라고도 함
- 잔차의 표준오차는 회귀모델을 이용해 독립변수로부터 종속변수를 예측할 때 발생하는 잔차의 표준편차를 의미함
- 즉, RSE는 회귀선을 중심으로 해서 상하로 변동하는 관측값의 평균 변동성을 나타냄
- RSE는 모델에 의해 설명되지 않는 데이터의 패턴을 보여주는 척도이기 때문에 작은 값을 가질 수록 모델의 적합도가 좋다는 것을 의미함
- Estimate: 회귀계수추정치, Std. Error: 표준오차, t value: t 값 / Pr(>|t|): 유의확률 p값
- Multiple R-squared: 회귀모델의 설명력을 나타내는 $R^2$를 의미함
- R2에서 0.3336은 회귀모델이 소득변동성의 33.36% 를 설명한다는 의미
- 그래서 R2는 값이 클수록 회귀모델 설명력이 우수하다는 것을 의미함
- F-statistic: 회귀식의 유의성을 검정 한 부분을 출력 해 줌
- F값을 통해 회귀모델의 유의성 검정 결과를 확인할 수 있음
- 회귀계수가 모두 0이라는 귀무가설을 검정함
- 회귀계수 중 어느 하나라도 0이 아니면 회귀모델은 통계적으로 유의함
- 이 회귀모델에 포함된 회귀계수가 1개 밖에 없는 단순회귀분석이기 때문에 회기식의 유의성 검정과 회귀계수의 유의성 검정이 같다는 것을 의미함
- p값 2.079e-10을 보면 유의수준 0.05나 0.01에 비해 매우 작은 값이기 때문에 회귀모델은 통계적으로 유의하다라고 얘기함
- 즉, 회귀식에 포함돼 있는 회귀계수 가운데 어느 하나라도 0이 아니라는 것을 의미함
- 하지만 독립변수가 2개 이상인 다중회귀분석의 경우 회귀식과 회귀계수 검정은 서로 다른 의미를 가짐
- 회귀식의 유의성 검정은 모든 회귀계수가 0 인지를 검정하고
- 회귀계수의 유의성 검정은 특정 회귀계수가 0 인지를 검정함
3-4-2. coef() - summary(회귀모델 객체)에서 테이블로 회귀계수부분 출력
- 회귀분석을 수행하면 가장 크게 관심을 갖는 부분중 하나가 회귀계수값과 그에 대한 유의성 검정 결과임
- summary()로부터 출력된 결과에 coef()를 적용하면 회귀계수 부분에 대한 결과를 테이블 형식으로 출력할 수 있음
- 인수설명: summary(회귀모델 객체)
coef(summary(Prestige.lm))
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2853.5856 1407.0392 -2.028078 4.521163e-02
## education 898.8128 127.0354 7.075294 2.079192e-10
- 결과해석: 회귀계수에 대한 추정치, 표준오차, t값, p값 등을 테이블 형태로 추출
3-4-3. anova() - 회귀모델에 대한 분산분석표 출력
- summary()로부터 회귀분석 결과 전반을 확인할 수 있지만 추출함수를 이용하면 필요한 정보만을 추출하거나 좀 더 자세한 정보를 얻을 수 있음
- anova()는 회귀모델에 대한 분산분석표를 얻을 수 있음
- 회귀모델에 대한 분산분석표는 회귀식 의 유의성 검정에 활용됨
anova(Prestige.lm)
## Analysis of Variance Table
##
## Response: income
## Df Sum Sq Mean Sq F value Pr(>F)
## education 1 607421386 607421386 50.06 2.079e-10 ***
## Residuals 100 1213392025 12133920
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
- 결과해석
- p 값이 유의수준 0.05에 비해서 매우 작기 때문에 회귀계수가 모두 0이라는 귀무가설을 기각할 수 있고 따라서 회귀식은 통계적으로 유의함
- summary()를 통해서 확인한 것과 동일한 결과를 얻을 수 있음
3-4-4. coef() - 회귀모델 객체에서 회귀계수(절편 포함)만 테이블로 출력
- summary()의 출력결과로부터 회귀계수 테이블을 추출할 때 사용했던 coef()를 회귀모델 객체에 적용하면 회귀계수만을 추출
- coef( summary(회귀모델 객체) ): 회귀계수 추정치, 표준오차, t값, p값 추출
- coef( 회귀모델 객체 ): 회귀계수(절편포함)만 추출
coef(Prestige.lm)
## (Intercept) education
## -2853.5856 898.8128
- 결과해석: 절편과 기울기만 추출됨
3-4-5. confint() - 회귀계수에 대한 신뢰구간 출력
- 인수설명
- 1st: 회귀모델 객체
- level: 신뢰수준 지정
- 99% 신뢰구간을 계산하고 싶으면 0.99
- 그외 달리 지정하지 않으면 은 95% 신뢰구간 계산
confint(Prestige.lm, level=0.99)
## 0.5 % 99.5 %
## (Intercept) -6548.3166 841.1454
## education 565.2318 1232.3939
3-4-6. fitted() - 회귀식에 의한 예측값을 벡터형태로 반환
- 인수설명: 회귀모델 객체를 지정
fitted(Prestige.lm)[1:3]
## gov.administrators general.managers accountants
## 8929.851 8165.860 8624.254
- 결과해석
- [1:3]로 앞의 3개 결과만 출력
- 앞에 3개의 직업에 대한 회귀식에 의한 예측값이 산출됨
3-4-7. resid() - 관측값과 예측값 간의 잔차 산출
- 인수설명: 회귀모델 객체를 지정
resid(Prestige.lm)[1:3]
## gov.administrators general.managers accountants
## 3421.1492 17713.1401 646.7456
- 결과해석: 역시 앞의 3개 관측값과 예측값 간의 잔차값이 확인됨
3-4-8. fitted()/resid() 결과비교 - 회귀식에 의한 예측값과 잔차값 비교
- 실제 데이터셋의 소득 값과 비교해 검증
Prestige$income[1:3]
## [1] 12351 25879 9271
- 결과해석
- 앞의 3개의 직업의 소득을 추출해 온 값
- 이 값은 실제 관측값이고 이
- 관측값에 대한 회귀모델 예측값이 fitted() 수행 결과 이고
- 이 관측값과 예측값 간의 차이가 resid() 수행 결과임
- 관측값 - fitted() 수행 결과 = resid() 수행 결과
- 그래서 이 fitted()/resid()로 회귀식에 의한 예측값과 잔차 확인 가능
- 앞의 3개의 직업의 소득을 추출해 온 값
3-8. predict() - 회귀모델에 의한 예측값 추정
- 회귀모델은 기본적으로 두 변수 간 관계를 설명하는 역할을 하지만 새로운 데이터에 대한 예측값을 추정하는 데도 유용하게 활용됨
- 예) 교육기간이 5년 10년 15년일 때의 소득 예측 수행
- 이러한 예측 작업을 위해
- 예측에 사용할 데이터를 데이터프레임 형식으로 생성해야 되고
- 그 데이터프레임의 예측변수 이름을 독립변수와 동일하게 지정해야 함
- 이러한 예측 작업을 위해
- 데이터셋 생성
Prestige.new <- data.frame(education=c(5 ,10, 15))
- 이렇게 새로운 데이터프레임을 생성하고 이 데이터프레임에 포함된 값들에 대한 예측값을 만들기 위해 predict() 이용
- predict() 인수설명
- 1st: 사용할 회귀모델 객체 지정
- newdata: 예측변수가 포함된 새로운 (데이터프레임 형식의) 데이터셋 지정
- interval: 예측값에 대한 95% 신뢰구간 계산
predict(Prestige.lm, newdata=Prestige.new)
## 1 2 3
## 1640.479 6134.543 10628.607
- 결과해석: 교육기간이 5년 10년 15년일 때의 예상되는 소득이 출력됨
predict(Prestige.lm, newdata=Prestige.new, interval="confidence")
## fit lwr upr
## 1 1640.479 40.57439 3240.383
## 2 6134.543 5425.42801 6843.658
## 3 10628.607 9355.00309 11902.211
- 결과해석
- 종속변수의 모집단에 대한 95% 신뢰구간을 계산 해 출력
- 교육기간이 10년인 직업을 보면, 실제 평균소득이 5425달러~6843달러 사이에 존재할 가능성이 95% 라는 것을 의미함
- 즉, “교육기간 10년인 직업에 대한 소득의 모집단 평균이 이 두 구간 사이에 있을 가능성은 95%다” 라고 얘기해 볼 수 있음
3-9. lm(subset=추출subset조건) - 일부 서브셋에 대해서만 회귀분석 수행
- 데이터셋 전체가 아니라 일부 서브셋에 대해서만 회귀분석 수행 가능
- 회귀분석을 수행할 때, subset인수에 추출하고자 하는 subset조건을 지정함
예) 평균보다 더 많은 교육을 받은 집단과 그렇지 않은 두 집단에 대한 각각의 회귀분석 수행
- 먼저, 교육기간에 대한 평균 계산 결과, 10.73년이 데이터셋에 포함된 직업들에 대한 평균 교육기간임
- 이 평균기간보다 긴 집단에 대한 회귀분석 결과와 이 기간 보다 더 작은 집단에 대한 회귀분석 결과 를 각각 수행함
mean(Prestige$education)
## [1] 10.73804
- 교육기간이 평균기간보다 긴 집단에 대한 회귀분석 수행
lm(income ~ education, data=Prestige,
subset=(education > mean(Prestige$education)))
##
## Call:
## lm(formula = income ~ education, data = Prestige, subset = (education >
## mean(Prestige$education)))
##
## Coefficients:
## (Intercept) education
## -10299 1455
- 교육기간이 평균기간보다 작거나 같은 집단에 대한 회귀분석 수행
lm(income ~ education, data=Prestige,
subset=(education <= mean(Prestige$education)))
##
## Call:
## lm(formula = income ~ education, data = Prestige, subset = (education <=
## mean(Prestige$education)))
##
## Coefficients:
## (Intercept) education
## 2546.6 281.8
- 결과해석
- 평균보다 더 많은 교육을 받은 직업의 독립변수에 대한 회귀계수가 1455
- 그렇지 않은 직업의 회귀계수가 281.8 이니까 그에 비해서 5배가 더 큼
- 평균보다 더 많은 교육을 받은 직업은 교육기간 1년 증가할 때 1455 달러 소득 증가
- 반면 그렇지 않은 직업은 교육기간 1년 증가 시 281.8 달러 소득 증가에 그침
- 따라서 두 개 집단에 있어, 1년 교육기간이 소득에 미치는 영향은 상당히 차이가 있다는 것을 알 수 있음