Nonlinear regression
Nonlinear regression fits a model you write yourself, such as a growth curve or a saturation curve, with parameters estimated by least squares (Levenberg-Marquardt). You give a model expression and a starting value for every parameter.
Menu: Analyze → Regression → Nonlinear…
When should I use Nonlinear regression?
- Theory gives you the form of the curve (for example exponential growth, Michaelis-Menten, logistic), and you want its parameters with standard errors.
What are the assumptions?
- Independent observations with roughly constant spread around the curve.
- Sensible starting values: poor ones can stop at a local minimum or fail to converge.
How do I run it in StatLab?
- Choose the dependent variable.
- Type the model, using variable names, parameter names and Compute functions, e.g.
a * EXP(b * age). - List the parameters with starting values, e.g.
a=1 b=0.1. - Optionally save predicted values and residuals.
How do I read the output?
| Output | Meaning |
|---|---|
| Iteration History | Residual sum of squares and parameter values as the fit improves. |
| Parameter Estimates | Estimates, standard errors and 95% confidence intervals. |
| Correlations of Parameter Estimates | Values near ±1 mean the parameters are hard to separate. |
| ANOVA | Regression, residual and total sums of squares; R² = 1 − residual SS / corrected total SS. |
Worked example
Fit score = a + b·LN(age) in the bundled sample dataset (File → Sample dataset: 150 survey respondents with gender, programme group, age, pre/post test scores, five satisfaction items, income, smoking and education): a = 43.02, b = 7.26 (SE 1.52), R² = .13.
How would I report it in APA style?
A logarithmic model of wellbeing on age, fitted by nonlinear least squares, gave b = 7.26 (SE = 1.52), R² = .13.
Numbers above were computed by StatLab’s validated engine from the sample dataset when this page was built.
What are common mistakes?
- Starting values far from the answer.
- Reading R² as in linear regression when the model has no intercept.