时间序列分析:Modified Exponential与Gompertz曲线的差异及拟合区别
Let’s cut through the confusion between these two growth curves—they both model asymptotic growth, but their shapes and fitting workflows have critical differences. I’ll break this down into core form/shape distinctions first, then dive into how you fit each one.
Core Form & Shape Differences
First, let’s lay out their standard mathematical forms (using t for time as the independent variable, L as the upper asymptote/limit value):
Modified Exponential Curve
y(t) = L - a*b^t
Where a > 0, 0 < b < 1. As t → ∞, b^t → 0, so y(t) → L.
Gompertz Curve
y(t) = L * e^(-b*e^(-k*t))
Where b > 0, k > 0. As t → ∞, e^(-k*t) → 0, so y(t) → L.
Now the key shape differences that matter for modeling:
- Inflection Point:
- Modified Exponential: No inflection point. It starts at
y(0) = L - aand grows towardLwith a continuously decreasing growth rate (the curve is concave down everywhere fort > 0). Think of a process that starts growing quickly and slows down steadily, never having a "peak growth" moment. - Gompertz: Has a single inflection point at
t = ln(b)/k, wherey(t) = L/e(~37% of the upper limit). Before this point, growth accelerates; after, it decelerates towardL. This makes it perfect for processes with a clear "takeoff" phase (like product adoption, bacterial growth in early stages) followed by slowing growth.
- Modified Exponential: No inflection point. It starts at
- Growth Rate Behavior:
- Modified Exponential: Growth rate decays exponentially over time (proportional to
b^t). - Gompertz: Growth rate follows a bell-shaped curve relative to time—it rises to a peak at the inflection point, then falls off exponentially.
- Modified Exponential: Growth rate decays exponentially over time (proportional to
Fitting Method Differences
Both curves can be fitted with either linearization (if you know the upper limit L) or nonlinear optimization (if L is unknown), but the steps and considerations differ:
Modified Exponential Fitting
- Linearization (Known L):
Rearrange the equation to isolate the exponential term:
Take the natural logarithm of both sides:L - y(t) = a*b^t
Now this is a linear equation in terms ofln(L - y(t)) = ln(a) + t*ln(b)t(independent variable) andln(L - y(t))(dependent variable). You can use standard linear regression to estimateln(a)andln(b), then exponentiate to getaandb. - Nonlinear Fitting (Unknown L):
IfLisn’t known, you can’t linearize fully. Use nonlinear least squares (e.g., Levenberg-Marquardt algorithm) to minimize the sum of squared errors between observedyand predictedy(t). You’ll need initial guesses: estimateLas the maximum observedyplus a small buffer, pick reasonable starting values foraandb(e.g.,a = L - y(0),bbetween 0 and 1). - Heuristic Alternative:
Split your data into three equal-sized groups, then solve a system of equations to estimateL,a, andbdirectly. This works best for evenly spaced, noise-free data.
Gompertz Curve Fitting
- Linearization (Known L):
Start by taking the natural logarithm of both sides:
Rearrange to isolate the inner exponential term:ln(y(t)) = ln(L) - b*e^(-k*t)
Take the natural logarithm again:ln(L / y(t)) = b*e^(-k*t)
Now this is linear inln(ln(L / y(t))) = ln(b) - k*ttandln(ln(L / y(t))). Use linear regression to estimateln(b)and-k, then exponentiate to getbandk. - Nonlinear Fitting (Unknown L):
Similar to Modified Exponential, use nonlinear least squares. Initial guesses are key: estimateLas the maximum observedy,bcan be set toln(L / y(0))(from thet=0form), andkas a small positive number (e.g., 0.1). - Heuristic Alternative:
The three-point method also works here—split data into three groups, solve the system derived from the Gompertz equation to get initial parameters, then refine with nonlinear fitting if needed.
Key Fitting Distinctions
- Data Constraints: Linearization for both requires positive values (since we’re taking logs):
- Modified Exponential:
L - y(t) > 0for all data points. - Gompertz:
y(t) > 0andL > y(t)for all data points. Nonlinear fitting avoids these hard constraints but needs better initial guesses.
- Modified Exponential:
- Outlier Sensitivity: Modified Exponential fitting is more sensitive to outliers in early data points, since its growth rate is highest at the start. Gompertz is more robust to early noise because it accounts for an initial acceleration phase.
- Use Case Alignment: Fit Modified Exponential when your data shows steady deceleration. Fit Gompertz when you see a clear acceleration-then-deceleration pattern.
内容的提问来源于stack exchange,提问作者user163580

