단순선형 회귀분석의 목표

독립변수(x) 1개와 종속변수(y)1개 간 선경관계 파악하고 예측에 활용하는 통계적 방법

 

회귀식 : y = ax + b

 

주요 이론

y=ax+b에서 a와 b구하는것이 중요

실제값과는 오차범위가 반드시 존재한다

즉, 회귀식으로 실제값이 아닌 예측값을 구하는것

 

주요 R코드 (암기)

plot(종속변수y~독립변수x, 데이터셋)

모델 = lm(종속변수y~독립변수x, 데이터)

a = coef(모델 )[1]  

b = codf(모델 )[2]  

예상값pred = a *독립변수x+ b 

 

+

+

+

 

단순회귀분석 R실습

문제 : 주행속도에 따른 제동거리 관계

 

#실습코드

#1) 데이터셋 산점도 그려서, 선형성 있는지 확인하기.

head(cars) #데이터구조확인

plot(dist~speed, data=cars)

#선형성 없으면 회귀분석 이용할 필요없으며, 예측불가

 

#2) 회귀모델 구하기 #y = ax + b  #lm(Y~X, data)

model = lm(dist~speed, cars)

#결과값의 coefficeints가 중요

#(intercept)의 아래값이 b값, speed(X변수)아래 값이 a값

#결과 : dist = 3.932*speed - 17.579 알아냄

 

#3) 회귀선 그리기

abline(model) #산점도내 회귀선

 

#4) b값과 a값을 출력하기 

#coefficients 결과 중요

coef(model)[1]  #b값출력 (intercept)아래값

codf(model)[2]  #a값 출력 speed아래값

 

#5) 테스트위한 대입해보기

b = coef(model)[1]

a = coef(model)[2]

 

#예측값예시

speed = 25 #실제85

dist = a*speed + b

dist #결과 80.73112

 

spped = 100

dist = a*speed +b

dist #결과 375.6618

 

#6)예측값 !항상 실제값과 오차있음 인식하기

#실제값과 예측값 오차 얼마인지 확인하기

speed = cars[, 1] #speed주행속도 열 가져오기

pred = a *speed + b #예상 제동거리 값들 나옴

 

#오차 구하기위한 df 만들기

df= data.frame(pred,cars[, 2], pred-cars[,2])

colnames(df) = c("예상치","실제값","오차값")

 

#######################################################

+ Recent posts