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에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 잔차 플롯을 만드는 방법
R에서 다중 공선성을 테스트하는 방법
R에서 곡선 피팅을 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다