exponential_regression: 지수 곡선 적합
foundryts.functions.exponential_regression(
include_multiple=True, time_unit='ns', start=None, end=None
)
숫자형 시계열 하나에 y = A * exp(B * x) 형태의 곡선을 적합하는 함수를 반환합니다. A는 배율, B는 성장 또는 감소율을 나타냅니다. 입력은 FunctionNode, 반환 결과는 SummarizerNode이며 지수적으로 증가하거나 감소하는 경향을 분석할 때 사용합니다.
인수
| 인수 | 형식 | 기본값과 의미 |
|---|---|---|
| include_multiple | bool | True. 여러 회귀를 포함할지 여부 |
| time_unit | str | ns. 계수의 시간 단위로 s, ms, us, ns 중 선택 |
| start | str, int 또는 datetime.datetime | None. 회귀 구간의 시작 시각, 포함 |
| end | str, int 또는 datetime.datetime | None. 회귀 구간의 끝 시각, 제외 |
범주형 시계열에는 적용하지 않습니다.
결과 필드
| 열 | 형식 | 의미 |
|---|---|---|
| min_bounds.first_value | float | 회귀 대상 x좌표 범위의 최솟값 |
| max_bounds.first_value | float | 회귀 대상 x좌표 범위의 최댓값 |
| min_bounds.second_value | float | 회귀 대상 y값 범위의 최솟값 |
| max_bounds.second_value | float | 회귀 대상 y값 범위의 최댓값 |
| regression_fit_function.exponential_regression_fit.aparameter | float | 적합한 A |
| regression_fit_function.exponential_regression_fit.bparameter | float | 적합한 B |
bounds는 데이터 좌표의 범위이며 A와 B의 신뢰구간이 아닙니다. 계수는 regression_fit_function 아래에서 확인합니다.
가상 관측 예제
import foundryts.functions as F
series = F.points(
(10, 6.0),
(20, 12.0),
(30, 24.0),
(40, 48.0),
(50, 96.0),
name="series",
)
regression = F.exponential_regression()(series)
regression_df = regression.to_pandas()
시각은 나노초이며 값은 10나노초마다 두 배가 됩니다. 가상 결과의 한 행은 다음 필드 값을 가집니다.
| 필드 | 값 |
|---|---|
| min_bounds.first_value | 10.0 |
| max_bounds.first_value | 50.0 |
| min_bounds.second_value | 6.0 |
| max_bounds.second_value | 96.0 |
| regression_fit_function.exponential_regression_fit.aparameter | 3.0 |
| regression_fit_function.exponential_regression_fit.bparameter | 약 0.069315 |
직선 경향은 linear_regression, 다항식은 polynomial_regression으로 적합할 수 있습니다.