19  Non-linear Models

Overview

Here we’ll explore the logistic regression model and a function for least-squares fitting of arbitrary non-linear functions.

Objectives

Upon completion of this lesson, you should be able to:


  1. Recognize when a logistic model would be appropriate
  2. Fit a logistic model to proportion (group) data
  3. Fit a logistic model to binary (individual) data
  4. Interpret coefficients of the logistic model
  5. Fit arbitrary non-linear models using nls()

Data and R Code Files

The R code file and data files for this lesson can be found on the Essential R - Notes on learning R page.

R logo

19.1 A Brief Definition of the Logistic Model

Here we’ll discuss the baxic background assumptions of the logistic regression model.

Video - STAT 485 Lesson: 19.1

19.2 Fitting a Logistic Model

In this video, we’ll examine a data set which shows group proportions (so any value between 0 and 1 is possible) and fit a logistic regression to the data.

Video - STAT 485 Lesson: 19.2

19.3 Interpreting the Coefficients of the Logistic Model I

Now we’ll interpret the coefficients of the model we fit in the last video.

Video - STAT 485 Lesson: 19.3

19.4 Interpreting the Coefficients of the Logistic Model II

In this video, we’ll plot our regression model over the data and add our midpoint as calculated from the coefficients.

Video - STAT 485 Lesson: 19.4

19.5 Logistic Regression on Individual Data I

We’ll try a different data set now, where each case is binary (either “a” or “b”), but we’ll see we can still fit a logistic regression.

Video - STAT 485 Lesson: 19.5

19.6 Logistic Regression on Individual Data II

We’ll wind up our discussion of logistic regression by examining the model we fit in the last video.

Video - STAT 485 Lesson: 19.6

19.7 Other Non-linear Models Using nls()

Now we can move on to introduce nls() for fitting “non-linear least squares” models. We’ll demonstrate with some data for enzyme kinetics that exhibit Michaelis-Menten dynamics.

Video - STAT 485 Lesson: 19.7

19.8 Interpreting an nls() Model

Here we’ll examine the object created by nls().

Video - STAT 485 Lesson: 19.8

19.9 Using anova() on nls() Models

Finally we’ll demonstrate the use of anova() for comparison of nested nls() models.

Video - STAT 485 Lesson: 19.9