8-2. 회귀분석 (선형모형)
1) 회귀분석 - 데이터
- autompg 데이터
2) 회귀분석 - 단순회귀모형
- 단순회귀모형 : lm(y변수~x변수, data= )
r1<-lm(mpg~wt, data=car1) 종속변수 : mpg(연비), 독립변수 : wt(차량무게)
summary(r1)
anova(r1)
[요약 결과]
Call:
lm(formula = mpg ~ wt, data = car1)
Residuals:
Min 1Q Median 3Q Max
-9.6770 -2.7567 -0.3636 2.1120 16.3712
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 46.600189 0.779849 59.76 <2e-16 ***
wt -0.007759 0.000252 -30.79 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.239 on 389 degrees of freedom
Multiple R-squared: 0.709, Adjusted R-squared: 0.7083
F-statistic: 947.9 on 1 and 389 DF, p-value: < 2.2e-16
선형회귀식 y(mpg)=46.60-0.0077(wt)
선형회귀식의 결정계수 R^2=0.71 =>71% 정도 예측 가능
- 산점도에 회귀선 그리기
par(mfrow=c(1,1))
plot(wt, mpg, col=as.integer(car1$cyl), pch=19)
abline(lm(mpg~wt), col="red", lwd=2, lty=1)
plot(x축변수, y축변수)
abline : add line(선을 추가하는 함수)
lm(y변수~x변수) : lm은 linear model(선형모형)의 약자
y(mpg)=46.60-0.0077(wt)
3) 회귀분석의 목적
- 회귀분석의 목적 : 예측(prediction)과 추정(estimation)
- 선형모형 : 독립변수와 종속변수간의 관계가 선형식으로 적합
모형 : Y(i)=beta(0)+beta(1)X(i) + E(i), i=1,2, ..., n
4) 회귀분석 - 모형의 적합도
- 모형의 적합도와 결정계수 (R^2) : 0<=R^2<=1
: 전체제곱합(SST)에 대한 회귀제곱합(SSR)의 비율, 즉 모형으로 설명할 수 있는 부분의 비율
#2. 단순회귀모형
종속변수 : mpg(연비), 독립변수 : disp(배기량)
r2<-lm(mpg~disp, data=car1)
summary(r2)
anova(r2)
[요약 결과]
Call:
lm(formula = mpg ~ disp, data = car1)
Residuals:
Min 1Q Median 3Q Max
-10.0627 -3.0037 -0.6113 2.3110 18.5978
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 35.49479 0.48640 72.97 <2e-16 ***
disp -0.06142 0.00220 -27.93 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.533 on 389 degrees of freedom
Multiple R-squared: 0.6672, Adjusted R-squared: 0.6663
F-statistic: 779.8 on 1 and 389 DF, p-value: < 2.2e-16
선형회귀식 y(mpg)=35.49-0.0614(disp)
선형회귀식의 결정계수 R^2=0.67
5) 회귀분석 - 잔차의 산점도
- 회귀분석의 가정과 진단
layout(matrix(c(1,2,3,4),2,2))
plot(r2)
6) 회귀분석
- 다중회귀분석 : 독립변수들이 여러 개인 경우
r3<-lm(mpg~wt+accler, data=car1)
summary(r3)
anova(r3)
pairs(car[, 1:6],cex=1, col=as.integer(car$cyl),pch =substring((car$cyl),1,1))
'공부 > R & Python' 카테고리의 다른 글
8-4. 텍스트마이닝2 (0) | 2020.02.17 |
---|---|
8-3. 텍스트마이닝1 (0) | 2020.02.17 |
8-1. 선형 회귀모형과 텍스트 마이닝-상관분석 (0) | 2020.02.17 |
7-4. 이원분산분석 (two-way ANOVA) (0) | 2020.02.16 |
7-3. 분산분석 (ANOVA) (Analysis or Variance) (0) | 2020.02.16 |