BookmarkSubscribeRSS Feed
eric_sas_1
Obsidian | Level 7

I have panel data such that two cross sections of a firm are analyzed over time, and the response variable takes on non-negative integer values (i.e. count data.). I'd like to estimate this model using Poisson Regression:

 

The data looks like this:

 

data model_data;
input date counts x1 x2 x3;
datalines;

January-01  14   0  6.5  .45
January-01  21   1  6.5  .45...March-04    24   0  4.5   .55March-04    26   1  4.5   .55	;    

 

 

ln(counts) = B0 + B1 x1 + B2 x2 + B3 x3 ...

 

I've estimated this model in SAS with the following code:

 

proc genmod data = model_data;
class x1 / param=glm;
model counts = x1 x2 x3 / dist=poisson link=log scale=pearson type1 type3 ;
output put=poisson_out;

 

 

Where x1 is the cross section of the data analyzed over time, and x2 and x3 are continuous predictor variables, using a pearson correction for overdispersion. Is PROC GENMOD able to analyze this type of data? I have found plenty of examples for purely cross sectional data, but there is an absence of discussion about using this for panel data. If PROC GENMOD is not capable of analyzing panel data, is PROC TCOUNTREG a viable alternative?

3 REPLIES 3
bobby_sas
SAS Employee

While your data is "panel data" in the strict sense, the fact that you only have two cross sections means that you probably shouldn't use typical panel data estimators that rely on the number of cross sections to be somewhat larger than two.

 

Your approach with PROC GENMOD using the cross section ID as a binary covariate is a good one for these data. As you demonstrate, PROC GENMOD allows you to set the link and allows you to model overdispersion.  

 

--Bobby

eric_sas_1
Obsidian | Level 7

Thanks for the reply. The data is illustrative. In reality, I have data that can be bucketed in any number of ways, depending on the question/analysis to be performed. Given that you've stated that PROC GENMOD is appropriate for panel estimation, I have two follow up questions.

 

1) Is GENMOD capable or handling random effects, of just FE (using the CLASS statement)?

 

2) Is there any straightforward way to test for spatial and/or temporal autocorrelation using GENMOD? Is not, are that any alternative PROCs that would be of value here?

 

Thanks!

bobby_sas
SAS Employee

 

1. To perform Poisson regression with random effects, use PROC GLIMMIX:

 

http://support.sas.com/documentation/cdl/en/statug/68162/HTML/default/viewer.htm#statug_glimmix_toc....

 

2. For models that incorporate spatial components, for linear models see the new PROC SPATIALREG routine in SAS/ETS version 14.2.

 

https://support.sas.com/documentation/onlinedoc/ets/142/spatialreg.pdf

 

PROC SPATIALREG is for linear models.  For Poisson models with spatial components see PROC COUNTREG, which has recently added statements that fit spatial models:

 

https://support.sas.com/documentation/onlinedoc/ets/142/countreg.pdf

 

 

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 1355 views
  • 0 likes
  • 2 in conversation