R에서 회귀 모델을 사용하여 단일 값을 예측하는 방법


R에 선형 회귀 모델을 맞추려면 다음 구문을 사용하는 lm() 함수를 사용할 수 있습니다.

 model <- lm(y ~ x1 + x2, data=df)

그런 다음 다음 구문을 사용하여 모델을 사용하여 단일 값을 예측할 수 있습니다.

 predict(model, newdata = new)

다음 예에서는 R의 적합 회귀 모델을 사용하여 단일 값을 예측하는 방법을 보여줍니다.

예시 1: 단순 선형 회귀 모델을 사용하여 예측

다음 코드는 R에서 단순 선형 회귀 모델을 피팅하는 방법을 보여줍니다.

 #create data
df <- data. frame (x=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit simple linear regression model
model <- lm(y ~ x, data=df)

그리고 다음 코드를 사용하여 새로운 관찰에 대한 응답 값을 예측할 수 있습니다.

 #define new observation
new <- data. frame (x=c(5))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

       1 
25.36364 

모델은 이 새로운 관측값이 25.36364 의 반응 값을 가질 것이라고 예측합니다.

예시 2: 다중 선형 회귀 모델을 사용하여 예측

다음 코드는 R에서 다중 선형 회귀 모델을 맞추는 방법을 보여줍니다.

 #create data
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

그리고 다음 코드를 사용하여 새로운 관찰에 대한 응답 값을 예측할 수 있습니다.

 #define new observation
new <- data.frame(x1=c(5),
                  x2=c(10))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

       1 
26.17073 

모델은 이 새로운 관측값이 26.17073 의 응답 값을 가질 것이라고 예측합니다.

새 값을 예측할 때 발생할 수 있는 오류

새 값을 예측하려고 할 때 발생할 수 있는 가장 일반적인 오류 는 회귀 모델을 맞추는 데 사용한 데이터 세트에 예측하려는 새 관찰과 동일한 열 이름이 없는 경우 입니다.

예를 들어 R에 다음과 같은 다중 선형 회귀 모델을 적합하다고 가정합니다.

 #createdata
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

다음으로, 이 새로운 관찰에 대한 반응 값을 예측하기 위해 모델을 사용한다고 가정해 보겠습니다.

 #define new observation
new <- data.frame(x_1=c(5),
                  x_2=c(10))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

Error in eval(predvars, data, env): object 'x1' not found

새 관측치(x_1, x_2)의 열 이름이 회귀 모델을 맞추는 데 사용한 원래 데이터 프레임(x1, x2)의 열 이름과 일치하지 않기 때문에 오류가 발생했습니다.

추가 리소스

R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 잔차 플롯을 만드는 방법

의견을 추가하다

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