test1

test1

단순선형 회귀분석, 잔차, 회귀방정식

회귀분석이란?
특정 변수(독립변수)가 다른 변수(종속변수)에 어떠한 영향을 미치는가를 분석하는 방법
  • 회귀분석은 독립변수종속변수가 모두 등간척도 또는 비율척도로 구성되어 있어야 한다.

환경설정

본 글은 R3.6.3ver에서 작성되었습니다.
선형회귀 분석을 하기 위한 라이브러리 환경설정

  # 환경설정
rm(list=ls())
getwd()
setwd("c:/rwork")

  # 라이브러리 모음
install.packages("lme4")
library(lme4)
install.packages("car") #다중공선성 확인
library(car)
install.packages('lmtest') #잔차분석
library(lmtest)

확인 창이 뜨면 전부 아니오 또는 no를 클릭한다.

1) 데이터 셋 불러오기

# 1)데이터 가져오기
product <- read.csv("product.csv", header = TRUE)

회귀분석에 사용된 데이터 셋(product.csv)의 내용

제품_친밀도제품_적절성제품_만족도
343
342
444

2) 회귀모델 생성

# 독립변수와 종속변수 생성
y = product$제품_만족도
x = product$제품_적절성
df <- data.frame(x, y)

# 단순 선형회귀 모델 생성
result.lm <- lm(formula = y ~ x, data = df)

제품 만족도와 제품 적절성 항목을 데이터 프레임으로 변환하고,
회귀분석 모델을 생성한다.

3) 회귀방정식

모델을 실행하여 회귀방정식을 세운다.

# 회귀분석의 절편과 기울기
> result.lm
Call:
lm(formula = y ~ x, data = df)

Coefficients:
(Intercept)            x  
     0.7789       0.7393  

Coefficients를 보면 절편이 0.7789 x 값이 0.7393이 나왔으므로
회귀방정식은
Y = 0.7789 + 0.7393 이 된다.

4) 모델 적합값

관측값과 적합값을 비교해본다.

# 적합값 보기
> names(result.lm)
> fitted.values(result.lm)[1:2]
       1        2 
3.735963 2.996687  

# 관측값 보기
> head(df, 2)
  x y
1 4 3
2 3 2

# 모델의 잔차 보기
> residuals(result.lm)[1:2]
         1          2 
-0.7359630 -0.9966869 

# 잔차 직접 계산 하는 방법
> 3 - 3.735963
[1] -0.735963

# 모델의 잔차와 회귀방정식에 의한 적합값으로부터 관측값 계산
> -0.7359630 + 3.735963
[1] 3

5) 결과

> # 회귀분석 결과보기
> 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.99669이고, 최대값은 1.26404가 나왔다.

회귀방정식은 절편이 0.77886, x값은 0.73928이 나왔으므로, y = 0.77886 + 0.73928(제품 적절성)이 된다. 따라서, 0.7789 + 0.7393(제품 적절성)만큼 증감할 때 제품 만족도가 1씩 증감했음을 알 수 있다.

예를들어, 제품 적절성이 5의 평가를 받았다면
0.7789 + 0.7393 * 5 = 4.4754 이므로
제품 만족도는 4.4754의 평가를 받게 됨을 예측할 수 있다.

Multiple R-squared는 반응 변수와 예측 변수 사이의 다중 상관관계를 나타낸다.

Adjusted R-squared는 수정 결정계수로 0.5865가 나왔는데,
이 모델로 해당 데이터셋의 58%만큼을 설명할 수 있다는 뜻이다.
즉, 나머지 42%의 데이터는 해당모델로 설명하기 어려우므로
예측력이 다소 떨어지는 모델이라고 볼 수 있다.