Python의 지수 회귀(단계별)
지수 회귀는 다음 상황을 모델링하는 데 사용할 수 있는 회귀 유형입니다.
1. 기하급수적 성장: 성장은 천천히 시작되었다가 제한 없이 빠르게 가속화됩니다.
2. 지수적 붕괴: 붕괴는 빠르게 시작되었다가 속도가 느려지고 점점 0에 가까워집니다.
지수 회귀 모델의 방정식은 다음 형식을 취합니다.
y = abx
금:
- y: 응답 변수
- x: 예측 변수
- a, b: x 와 y 사이의 관계를 설명하는 회귀 계수
다음 단계별 예제에서는 Python에서 지수 회귀를 수행하는 방법을 보여줍니다.
1단계: 데이터 생성
먼저 x 와 y 라는 두 변수에 대한 가짜 데이터를 만들어 보겠습니다.
import numpy as np x = np. arange (1, 21, 1) y = np. array ([1, 3, 5, 7, 9, 12, 15, 19, 23, 28, 33, 38, 44, 50, 56, 64, 73, 84, 97, 113])
2단계: 데이터 시각화
다음으로, x 와 y 사이의 관계를 시각화하기 위한 빠른 산점도를 만들어 보겠습니다.
import matplotlib. pyplot as plt plt. scatter (x,y) plt. show ()
그래프를 보면 두 변수 사이에 명확한 지수적 성장 패턴이 있음을 알 수 있습니다.
따라서 선형 회귀 모델과 달리 변수 간의 관계를 설명하기 위해 지수 회귀 방정식을 적용하는 것이 현명한 것 같습니다.
3단계: 지수 회귀 모델 적합
다음으로, 응답 변수로 y 의 자연 로그를 사용하고 예측 변수로 x를 사용하여 지수 회귀 모델을 맞추기 위해 polyfit() 함수를 사용합니다.
#fit the model fit = np. polyfit (x, np. log (y), 1) #view the output of the model print(fit) [0.2041002 0.98165772]
결과를 바탕으로 적합 지수 회귀 방정식은 다음과 같이 작성할 수 있습니다.
ln(y) = 0.9817 + 0.2041(x)
e를 양쪽에 적용하면 방정식을 다음과 같이 다시 작성할 수 있습니다.
y = 2.6689 * 1.2264x
이 방정식을 사용하여 예측 변수 x 값을 기반으로 응답 변수 y 를 예측할 수 있습니다. 예를 들어 x = 12이면 y는 30.897이 될 것으로 예측합니다.
y = 2.6689 * 1.2264 12 = 30.897
보너스: 이 온라인 지수 회귀 계산기를 사용하여 주어진 예측 변수와 응답 변수에 대한 지수 회귀 방정식을 자동으로 계산할 수 있습니다.
추가 리소스
Python에서 단순 선형 회귀를 수행하는 방법
Python에서 다항식 회귀를 수행하는 방법
Python에서 분위수 회귀를 수행하는 방법