Fitting Linear Models > Generalized Regression Examples > Zero-Inflated Poisson Regression Example
Publication date: 10/01/2019

Zero-Inflated Poisson Regression Example

The Fishing.jmp sample data table contains fictional data for a study of various factors that affect the number of fish caught by groups visiting a park. The data table contains 250 responses from families or groups of traveling companions. This example models the number of Fish Caught as a function of Live Bait, Fishing Poles, Camper, People, and Children. These columns are described in Column Notes in the data table.

The data table contains a hidden column called Fished. During data collection, it was never determined whether anyone in the group had actually fished. However, the Fished column is included in the table to emphasize the point that catching zero fish can happen in one of two ways: Either no one in the group fished, or everyone who fished in the group was unlucky.

Therefore, zero responses can come from two sources. To address this issue, you can fit a zero-inflated distribution. Because a Poisson distribution is appropriate for the count data resulting from people who fished, you fit a zero-inflated Poisson distribution.

1. Select Help > Sample Data Library and open Fishing.jmp.

2. Select Analyze > Fit Model.

3. Select Fish Caught from the Select Columns list and click Y.

4. Select Live Bait through Children and click Macros > Factorial to Degree.

Terms up to degree 2 (the default in the Degree box) are added to the model.

5. Select Validation from the Select Columns list and click Validation.

6. From the Personality list, select Generalized Regression.

7. From the Distribution list, select ZI Poisson.

8. Click Run.

The Generalized Regression report that appears contains a Model Comparison report, a Model Launch control panel, and a ZI Poisson Maximum Likelihood with Validation Column report. Note that the default estimation method is the Lasso.

9. From the Estimation Method List, select Elastic Net.

10. Click Go.

A ZI Poisson Elastic Net with Validation Column report appears. The Solution Path, the Parameter Estimates for Original Predictors report, and the Effect Tests report indicate that one term is zeroed. The Zero Inflation parameter, whose estimate is shown on the last line of both Parameter Estimates reports, is highly significant. This indicates that some of the variation in the response, Fish Caught, might be due to the fact that some groups did not fish.

Figure 7.6 Parameter Estimates for Original Predictors Report 

The Effect Tests report indicates that four terms are significant at the 0.05 level: Live Bait, Fishing Poles, Fishing Poles*Camper, and Fishing Poles*Children.

11. Click the red triangle next to ZI Poisson Elastic Net with Validation Column and select Profilers > Profiler.

12. Click the Prediction Profiler red triangle and select Optimization and Desirability > Desirability Functions.

A function is imposed on the response, which indicates that maximizing the number of Fish Caught is desirable. For more information about desirability functions, see Desirability Profiling and Optimization in Profilers.

13. Click the Prediction Profiler red triangle and select Optimization and Desirability > Maximize Desirability.

Figure 7.7 Prediction Profiler with Fish Caught Maximized 

You can vary the settings of the predictors to see the impact of the significant effects: Live Bait, Fishing Poles, Fishing Poles*Camper, and Fishing Poles*Children. For example, Live Bait is associated with more fish; a Camper tends to bring more fishing poles than someone who is not camping and therefore catches more fish.

14. Click the red triangle next to ZI Poisson Elastic Net with Validation Column and select Save Columns > Save Prediction Formula and Save Columns > Save Variance Formula.

Two columns are added to the data table: Fish Caught Prediction Formula and Fish Caught Variance.

15. In the data table, right-click either column heading and select Formula to view the formula. Alternatively, click the plus sign to the right of the column name in the Columns panel. Note the appearance of the estimated zero-inflation parameter, 0.781522155, in both of these formulas.

Want more information? Have questions? Get answers in the JMP User Community.