**Exponential regression** is a type of regression that can be used to model the following situations:

**1. Exponential growth:** Growth begins slowly and then accelerates rapidly without bound.

**2. Exponential decay:** Decay begins rapidly and then slows down to get closer and closer to zero.

The equation of an exponential regression model takes the following form:

y = ab^{x}

where:

**y:**The response variable**x:**The predictor variable**a, b:**The regression coefficients that describe the relationship between*x*and*y*

The following step-by-step example shows how to perform exponential regression in Python.

**Step 1: Create the Data**

First, let’s create some fake data for two variables: *x* and *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])

**Step 2: Visualize the Data**

Next, let’s create a quick scatterplot to visualize the relationship between *x* and *y*:

import matplotlib.pyplot as plt plt.scatter(x, y) plt.show()

From the plot we can see that there exists a clear exponential growth pattern between the two variables.

Thus, it seems like a good idea to fit an exponential regression equation to describe the relationship between the variables as opposed to a linear regression model.

**Step 3: Fit the Exponential Regression Model**

Next, we’ll use the **polyfit()** function to fit an exponential regression model, using the natural log of *y* as the response variable and *x* as the predictor variable:

#fit the model fit = np.polyfit(x, np.log(y), 1)#view the output of the model print(fit) [0.2041002 0.98165772]

Based on the output, the fitted exponential regression equation can be written as:

**ln(y) = 0.9817 + 0.2041(x)**

Applying *e* to both sides, we can rewrite the equation as:

**y = 2.6689 * 1.2264 ^{x}**

We can use this equation to predict the response variable, *y*, based on the value of the predictor variable, *x*. For example, if *x* = 12, then we would predict that *y* would be **30.897**:

y = 2.6689 * 1.2264^{12} = 30.897

**Bonus:** Feel free to use this online Exponential Regression Calculator to automatically compute the exponential regression equation for a given predictor and response variable.

**Additional Resources**

How to Perform Simple Linear Regression in Python

How to Perform Polynomial Regression in Python

How to Perform Quantile Regression in Python