Home » Exponential Regression in R (Step-by-Step)

Exponential Regression in R (Step-by-Step)

by Tutor Aspire

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 = abx

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 R.

Step 1: Create the Data

First, let’s create some fake data for two variables: x and y:

x=1:20
y=c(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:

plot(x, y)

Exponential regression example in R

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.

Step 3: Fit the Exponential Regression Model

Next, we’ll use the lm() 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
model log(y)~ x)

#view the output of the model
summary(model)

Call:
lm(formula = log(y) ~ x)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.1858 -0.1768  0.1104  0.2720  0.3300 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.98166    0.17118   5.735 1.95e-05 ***
x            0.20410    0.01429  14.283 2.92e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.3685 on 18 degrees of freedom
Multiple R-squared:  0.9189,	Adjusted R-squared:  0.9144 
F-statistic:   204 on 1 and 18 DF,  p-value: 2.917e-11

The overall F-value of the model is 204 and the corresponding p-value is extremely small (2.917e-11), which indicates that the model as a whole is useful.

Using the coefficients from the output table, we can see that the fitted exponential regression equation is:

ln(y) = 0.9817 + 0.2041(x)

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

y = 2.6689 * 1.2264x

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.226412 = 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 R
How to Perform Multiple Linear Regression in R
How to Perform Quadratic Regression in R
How to Perform Polynomial Regression in R

You may also like