R에서 최소제곱법을 사용하는 방법
최소 제곱법은 주어진 데이터 집합에 가장 잘 맞는 회귀선을 찾는 데 사용할 수 있는 방법입니다.
R에서 회귀선을 맞추기 위해 최소 제곱법을 사용하려면 lm() 함수를 사용할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
model <- lm(response ~ predictor, data=df)
다음 예에서는 R에서 이 함수를 사용하는 방법을 보여줍니다.
예: R의 최소 제곱법
한 학급에서 15명의 학생에 대한 공부 시간과 해당 시험 점수를 보여주는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.
#create data frame df <- data. frame (hours=c(1, 2, 4, 5, 5, 6, 6, 7, 8, 10, 11, 11, 12, 12, 14), score=c(64, 66, 76, 73, 74, 81, 83, 82, 80, 88, 84, 82, 91, 93, 89)) #view first six rows of data frame head(df) hours score 1 1 64 2 2 66 3 4 76 4 5 73 5 5 74 6 6 81
lm() 함수를 사용하여 최소 제곱법을 사용하여 이 데이터에 회귀선을 맞출 수 있습니다.
#use method of least squares to fit regression line model <- lm(score ~ hours, data=df) #view regression model summary summary(model) Call: lm(formula = score ~ hours, data = df) Residuals: Min 1Q Median 3Q Max -5,140 -3,219 -1,193 2,816 5,772 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 65,334 2,106 31,023 1.41e-13 *** hours 1.982 0.248 7.995 2.25e-06 *** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.641 on 13 degrees of freedom Multiple R-squared: 0.831, Adjusted R-squared: 0.818 F-statistic: 63.91 on 1 and 13 DF, p-value: 2.253e-06
추정 결과 열의 값에서 다음과 같은 적합 회귀선을 작성할 수 있습니다.
시험 점수 = 65.334 + 1.982(시간)
모델의 각 계수를 해석하는 방법은 다음과 같습니다.
- 절편 : 0시간 공부한 학생의 예상 시험점수는 65.334점 이다.
- 시간 : 공부한 시간이 추가될 때마다 예상 시험 점수는 1,982 씩 증가합니다.
우리는 이 방정식을 사용하여 학생이 공부한 시간을 기준으로 받게 될 시험 성적을 추정할 수 있습니다.
예를 들어, 학생이 5시간 동안 공부한다면 시험 점수는 75.244가 될 것으로 추정됩니다.
시험 점수 = 65.334 + 1.982(5) = 75.244
마지막으로, 플롯에 겹쳐진 적합 회귀선을 사용하여 원본 데이터의 산점도를 만들 수 있습니다.
#create scatter plot of data plot(df$hours, df$score, pch=16, col=' steelblue ') #add fitted regression line to scatter plot abline(model)
파란색 원은 데이터를 나타내고 검은색 선은 적합 회귀선을 나타냅니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.