2019. 1. 21. 23:07ㆍR/R데이터분석기초
관심변수와 설명변수
관심변수(=반응변수,종속변수)
- 예측의 대상이 되는 변수
설명변수(=독립변수)
- 관심변수 속 차이를 설명할 수 있는 변수
선형 회귀 모형 표기법 정의
설명변수(=독립변수)
- Y : 수치형 관심변수
- X : 수치형 설명변수
선형 회귀 모형의 개념
단순선형회귀(simple linear regression)
- 수치형 관심변수를 수치형 설명변수의 정비례로 설명하는 모형
- 설명변수 X와 회귀 계수를 활용해서 관심변수 Y를 예측가능
회귀 계수를 계산하고 예측에 활용하기
결국은 산점도에 가장 합리적인 추세선(직선을) 구하는 것이다. 그 방법으로 최소 제곱법(least squares method)을 활용
① X가 평균정도 일 때는 Y도 평균정도로 예측
:따라서 모든 회귀직선은 무게 중심()을 지남
추정된 회귀 계수와 상관계수의 관계
통계학자가 계산한 최적의 회귀계수 추정값()
위의 식을 이용하여서 앞에서 경력을 20년 일때 연봉을 예측해보자
※ 상관계수및 표준편차는 앞선 예제에서 다 구한 값이다.
위의 단순선형회귀 식을 이용하여서 이제 연봉 예측값을 계산해보자
- 결과는 약 20년 경력인 경우 1억 6백만원을 받을수 있다는 예측이 나왔다. 위의 식에서 설명할 수 없는 오차(ε) 는
없다고 가정하였다.
R을이용한 결과 예측 및 추세선 그래프 확인하기
# 연봉 예측데이터 불러오기 data = read.csv('data/salary.csv', fileEncoding='UTF-8') # 경력 기준 정렬 data[order(data$experience),] # 산점도와 보조선 그리기 plot(data, pch=16, xlab="Experience", ylab="Salary", col="dodgerblue") # 평균선 그리기 abline(v=mean(data$experience), lty=2) abline(h=mean(data$salary),lty=2) # 상관계수 계산하기 r_xy = cor(data$experience, data$salary) r_xy # 표준편차 계산하기 sd_x = sd(data$experience) sd_y = sd(data$salary) sd_x sd_y # 선형회귀모형 b1 = r_xy/sd_x*sd_y b1 b0 = mean(data$salary) - b1*mean(data$experience) b0 # abline( ) 함수로 추세선 추가하기 abline(a=b0, b=b1, col='red', lwd=2) # 예측값 b0 + b1*20
▩ 산점도및 추세서 그래프
▩ 예측결과
> # 예측값 > b0 + b1*20 [1] 10759.6
위 에서 식으로 계산한 결과 값과 비슷하게 나왔다.