R의 로그 회귀(단계별)
대수 회귀는 처음에는 성장이나 쇠퇴가 급격하게 가속화되다가 시간이 지남에 따라 느려지는 상황을 모델링하는 데 사용되는 회귀 유형입니다.
예를 들어, 다음 그래프는 로그 붕괴의 예를 보여줍니다.
이러한 유형의 상황에서는 예측 변수와 반응 변수 간의 관계가 대수 회귀를 사용하여 잘 모델링될 수 있습니다.
로그 회귀 모델의 방정식은 다음 형식을 취합니다.
y = a + b*ln(x)
금:
- y: 응답 변수
- x: 예측 변수
- a, b: x 와 y 사이의 관계를 설명하는 회귀 계수
다음 단계별 예제에서는 R에서 로그 회귀를 수행하는 방법을 보여줍니다.
1단계: 데이터 생성
먼저 x 와 y 라는 두 변수에 대한 가짜 데이터를 만들어 보겠습니다.
x=1:15 y=c(59, 50, 44, 38, 33, 28, 23, 20, 17, 15, 13, 12, 11, 10, 9.5)
2단계: 데이터 시각화
다음으로, x 와 y 사이의 관계를 시각화하기 위한 빠른 산점도를 만들어 보겠습니다.
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에서 2차 회귀를 수행하는 방법
R에서 지수 회귀를 수행하는 방법
R에서 다항식 회귀를 수행하는 방법