59doit
[ R ] 회귀분석 #1 단순회귀분석 본문
회귀분석
특정 변수(독립변수)가 다른 변수(종속변수)에 어떠한 영향을 미치는 가를 분석하는 방법 인과관계가 있는지를 분석하는 방법
인과관계: 변수 A가 변수 B의 값을 변하게 하는 원인이 되는 관계. 이때 변수 A를 독립변수, 변수 B를 종속변수로 지칭
한 변수의 값을 가지고 다른 변수의 값을 예측해 주는 분석방법
상관관계 분석 vs. 회귀분석 차이점
1) 상관관계 분석: 변수 간의 관련성 분석
2) 회귀분석: 변수 간의 인과관계 분석
회귀분석의 특징
1) 가장 강력하고 사용범위가 넓은 분석 방법
2) 독립변수가 종속변수에 영향을 미치는 변수를 규명하고, 이들 변수에 의해서 회귀방정식(Y=a+bX where a: 상수, b: 회귀계수, X: 독립변수, Y: 종속변수)을 도출하여 회귀선을 추정
3) 회귀계수는 단위시간에 따라 변하는 양(기울기)이며, 회귀선을 추정함에 있어 최소자승법을 이용
4) 독립변수와 종속변수가 모두 등간척도 또는 비율척도로 구성되어 있어야 한다.
잔차(오차): 관측치와 예측치의 차
최소제곱법: 잔차들의 제곱의 합이 최소가 되도록 정하는 방법
(1) 회귀방정식의 이해
회귀선(Regression Line):
1) 한 변수의 증감이 다른 변수의 단위증가에 대해 어느 정도인가를 나타내는 선
2) 두 집단의 분포에서 잔차(각 값들의 편차)들의 제곱의 합을 최소화시키는(최소자승법) 회귀방정식에 의해 만들어진다.
3) 두 변수 간의 예측 관계에 있어서 한 변수에 의해서 예측되는 다른 변수의 예측치들이 그 변수의 평균치로 회귀하는 경향이 있다고 하여 갈튼(Galton)에 의해서 명명되었다.
(2) 단순 회귀분석
독립변수와 종속변수가 각각 한 개 일 때 독립변수가 종속변수에 미치는 인과관계를 분석하고자 할 때 사용.
회귀분석 수행 시 기본 가정이 충족되어야 사용 가능
회귀분석의 기본 가정:
선형성: 독립변수와 종속변수가 선형적. 회귀선 확인
잔차 정규성: 잔차(종속변수의 관측값과 회귀모델의 예측값 간의 차이)의 정규성. 정규성 검정
잔차 독립성: 잔차들은 서로 독립적. 더빈-왓슨 값 확인
잔차 등분산성: 잔차들의 분산이 일정. 표준잔차와 표준예측치 도표
다중 공선성: 독립변수 간의 강한 상관관계로 인한 문제 발생 여부. 분산팽창요인(VIF) 확인
회귀분석 절차
1단계: 회귀분석의 기본 가정 충족 여부 확인
2단계: 분산분석의 F값으로 회귀모형의 유의성 여부 판단
3단계: 독립변수와 종속변수 간의 상관관계와 회귀모형의 설명력 확인
4단계: 가설의 채택 여부 결정
5단계: 회귀방정식을 적용하여 회귀식을 수립하고 결과 해석
귀무가설: 제품적절성이 제품만족도에 영향을 미친하고 볼 수 없다.
대립가설: 제품적절성이 제품만족도에 영향을 미친다고 볼 수 있다.
ex) 단순 선형 회귀분석 수행
#1 데이터 가져오기
product <- read.csv("C:/product.csv",header=TRUE) str(product) |
#2 독립변수와 종속변수 생성
y=product$제품_만족도 x=product$제품_적절성 df <- data.frame(x,y) |
단순선형회귀분석은 lm()함수 이용 형식: lm(formula = Y ~ X, data)
X: 독립변수
Y: 종속변수
data: 데이터프레임
#3 단순 선형회귀 모델 생성
result.lm <- lm(formula = y~x, data=df) |
#4 회귀분석의 절편과 기울기
result.lm # Call: # lm(formula = y ~ x, data = df) # # Coefficients: # (Intercept) x # 0.7789 0.7393 |
#5 모델의 적합값과 잔차 보기
names(result.lm) # [1] "coefficients" "residuals" "effects" "rank" # [5] "fitted.values" "assign" "qr" "df.residual" # [9] "xlevels" "call" "terms" "model" |
#5-1 적합값 보기
fitted.values(result.lm)[1:2] # 1 2 # 3.735963 2.996687 |
fitted.values: 모델이 예측한 적합값
#5-2 관측값 보기
head(df,1) # x y # 1 4 3 |
#5-3 회귀방정식을 적용하여 모델의 적합값 계산
Y=0.7789+0.7393*4 Y # 3.7361 |
#5-4 잔차(오차) 계산
3-3.735963 # -0.735963 |
residuals: 모델의 잔차
#5-5 모델의 잔차 보기
residuals(result.lm)[1:2] # 1 2 # -0.7359630 -0.9966869 |
#5-6 모델의 잔차와 회귀방정식에 의한 적합값으로부터 관측값 계산
-0.7359630 + 3.735963 # 3 |
ex) 선형 회귀분석 모델 시각화
#1 xy 산점도
plot(formula=y~x, data=product)![]() |
#2 선형 회귀모델 생성
result.lm <- lm(formula=y~x, data=product) |
#3 회귀선
abline(result.lm, col="red")![]() |
ex) 선형 회귀분석 결과보기
summary(result.lm) # Call: # lm(formula = y ~ x, data = product) # # Residuals: # Min 1Q Median 3Q Max # -1.99669 -0.25741 0.00331 0.26404 1.26404 # # Coefficients: # Estimate Std. Error t value Pr(>|t|) # (Intercept) 0.77886 0.12416 6.273 1.45e-09 *** # x 0.73928 0.03823 19.340 < 2e-16 *** # --- # Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 # # Residual standard error: 0.5329 on 262 degrees of freedom # Multiple R-squared: 0.5881, Adjusted R-squared: 0.5865 # F-statistic: 374 on 1 and 262 DF, p-value: < 2.2e-16 |
- 결정계수: 독립변수에 의해서 종속변수가 얼마만큼 설명되었는가를 나타내는 회귀모형의 설명력, 1에 가까울수록 설명변수(독립변수)가 설명을 잘한다 라고 판단
- 수정결정계수(Adjusted R-squared): 오차를 감안하여 조정된 R값. 실제 분석에서는 이 값을 이용, F-statistic: F-검정통계량으로 회귀모형의 적합성(회귀선이 모형에 적합
'통계기반 데이터분석' 카테고리의 다른 글
[ R ] 로지스틱 회귀분석 (0) | 2022.11.28 |
---|---|
[ R ] 회귀분석 #2 다중회귀분석 (0) | 2022.11.27 |
[ R ] 요인분석 #3 잘못 분류된 요인 제거로 변수 정제 (0) | 2022.11.26 |
[ R ] 요인분석 #2 요인점수를 이용한 요인적재량 시각화 (0) | 2022.11.26 |
[ R ] 요인분석 #1 공통요인으로 변수 정제 (0) | 2022.11.26 |