R의 로그 회귀(단계별)


대수 회귀는 처음에는 성장이나 쇠퇴가 급격하게 가속화되다가 시간이 지남에 따라 느려지는 상황을 모델링하는 데 사용되는 회귀 유형입니다.

예를 들어, 다음 그래프는 로그 붕괴의 예를 보여줍니다.

이러한 유형의 상황에서는 예측 변수와 반응 변수 간의 관계가 대수 회귀를 사용하여 잘 모델링될 수 있습니다.

로그 회귀 모델의 방정식은 다음 형식을 취합니다.

y = a + b*ln(x)

금:

  • y: 응답 변수
  • x: 예측 변수
  • a, b: xy 사이의 관계를 설명하는 회귀 계수

다음 단계별 예제에서는 R에서 로그 회귀를 수행하는 방법을 보여줍니다.

1단계: 데이터 생성

먼저 xy 라는 두 변수에 대한 가짜 데이터를 만들어 보겠습니다.

 x=1:15

y=c(59, 50, 44, 38, 33, 28, 23, 20, 17, 15, 13, 12, 11, 10, 9.5)

2단계: 데이터 시각화

다음으로, xy 사이의 관계를 시각화하기 위한 빠른 산점도를 만들어 보겠습니다.

 plot(x, y) 

그래프를 보면 두 변수 사이에 명확한 로그 감소 패턴이 있음을 알 수 있습니다. 응답 변수 y 의 값은 처음에는 급격히 감소하다가 시간이 지나면서 느려집니다.

따라서 변수 간의 관계를 설명하기 위해 로그 회귀 방정식을 맞추는 것이 현명한 것 같습니다.

3단계: 로그 회귀 모델 피팅

다음으로, lm() 함수를 사용하여 x 의 자연 로그를 예측 변수로 사용하고 y를 응답 변수로 사용하여 로그 회귀 모델에 적합합니다.

 #fit the model
model <- lm(y ~ log (x))

#view the output of the model
summary(model)

Call:
lm(formula = y ~ log(x))

Residuals:
   Min 1Q Median 3Q Max 
-4.069 -1.313 -0.260 1.127 3.122 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 63.0686 1.4090 44.76 1.25e-15 ***
log(x) -20.1987 0.7019 -28.78 3.70e-13 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.054 on 13 degrees of freedom
Multiple R-squared: 0.9845, Adjusted R-squared: 0.9834 
F-statistic: 828.2 on 1 and 13 DF, p-value: 3.702e-13

모델의 전체 F-값 은 828.2이고 해당 p-값은 매우 낮습니다(3.702e-13). 이는 모델 전체가 유용함을 나타냅니다.

출력 테이블의 계수를 사용하여 적합한 로그 회귀 방정식이 다음과 같다는 것을 알 수 있습니다.

y = 63.0686 – 20.1987 * ln(x)

이 방정식을 사용하여 예측 변수 x 값을 기반으로 응답 변수 y 를 예측할 수 있습니다. 예를 들어, x = 12이면 y는 12.87이 될 것이라고 예측합니다.

y = 63.0686 – 20.1987 * ln(12) = 12.87

보너스: 이 온라인 로그 회귀 계산기를 사용하여 주어진 예측 변수 및 응답 변수에 대한 로그 회귀 방정식을 자동으로 계산할 수 있습니다.

4단계: 로그 회귀 모델 시각화

마지막으로 로그 회귀 모델이 데이터에 얼마나 잘 맞는지 시각화하는 빠른 그래프를 만들 수 있습니다.

 #plot x vs. y
plot(x, y)

#define x-values to use for regression line
x=seq(from= 1 , to= 15 , length. out = 1000 )

#use the model to predict the y-values based on the x-values
y=predict(model,newdata=list(x=seq(from= 1 ,to= 15 ,length. out = 1000 )),
          interval=" confidence ")

#add the fitted regression line to the plot (lwd specifies the width of the line)
matlines(x,y, lwd= 2 )

R의 로그 회귀

로그 회귀 모델이 이 특정 데이터 세트를 잘 맞추는 것을 볼 수 있습니다.

추가 리소스

R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 2차 회귀를 수행하는 방법
R에서 지수 회귀를 수행하는 방법
R에서 다항식 회귀를 수행하는 방법

의견을 추가하다

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