BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
sabelo
Fluorite | Level 6

Hi, 

I am trying to fit a multivariate Poisson model to my data, my response is categorized into four level, I am dealing with accidents and i need to know how to use the glm procedures for the multivariate poisson regression

1 ACCEPTED SOLUTION

Accepted Solutions
Ksharp
Super User
I searched EM Algorithm at Stat documentation, and found this :


IRT Procedure

MAXMITER= Specifies the maximum number of iterations in the maximization
step of the EM algorithm

View solution in original post

10 REPLIES 10
PGStats
Opal | Level 21

The response in Poisson regression as the name suggests follows a Poisson distribution, which has all non-negative integer as support and a variance equal to the mean. It is most useful to model count data.

 

Proc GLM is for normally distributed responses. Poisson regression is available with proc genmod, proc glimmix, proc countreg (requires SAS/ETS), among others.

PG
sabelo
Fluorite | Level 6

I am trying to do what is done in the attached article, they have estimate their Poisson regression model us GLM procedures, and they have estimate their parameters using maximum likelihood estimation via EM algorithm.

 

http://download.springer.com/static/pdf/77/art%253A10.1007%252Fs11222-005-4069-4.pdf?originUrl=http%...

sabelo
Fluorite | Level 6

Proc glimmix allows me to put only one variable as my response, but my response has four levels, I want to state my model as follows:

 

model uninjured slightlyInjured seriouslyInjured Fatalities= independent variables.

 

But proc glm allows me to do that, just that I donyt know how to specify the distribution since it gives me errors, and how to apply the method of maximum likelihood via the em algorithm to estimate the Poisson parameters. 

Ksharp
Super User
It looks like you have longititude data . You need MIXED Model . proc mixed , proc glimmix .....
Rick_SAS
SAS Super FREQ

@sabelo wrote:

Proc glimmix allows me to put only one variable as my response, but my response has four levels, I want to state my model as follows:

 

model uninjured slightlyInjured seriouslyInjured Fatalities= independent variables.

 


Create a response variable named InjuryStatus that has the value 0 (=uninjured), 1 (=slightly injured), 2 (=seriously), or 3 (=fatality).

Then use PROC GENMOD or PROC GLIMMIX and specify

model InjuryStatus = indepvar1 indepvar2... / dist=poisson;

 

You might need to specify an offset variable.  I highly recommend reading the Getting Started example in the PROC GENMOD documentation, which explains the structure of the data and how to specify the model and interpret the results.

sabelo
Fluorite | Level 6

Thanks again, how do I create the variable, because the responses are on their own colums( separately) on excel, i.e the observations for fatality are on their own colum and the observation for serious injuries are on their own coulum;

fatalities    serious

0                 8 

1                 5

2                 5

5                 2

.

.

.

How do I create the response variable in a situation like this.

Ksharp
Super User
If your response variable has four levels that lead to discrete model, you can't use Poisson model on it.
Try Logistic Model .

sabelo
Fluorite | Level 6

I want to apply the EM alogorithm for multivatriate Poisson, see the article on the link, I want to do something similar, these results in the article.

http://www.tandfonline.com/doi/abs/10.1080/0266476022000018510

 

Thanks again

 

Ksharp
Super User
I searched EM Algorithm at Stat documentation, and found this :


IRT Procedure

MAXMITER= Specifies the maximum number of iterations in the maximization
step of the EM algorithm

Ksharp
Super User
Maybe you should take a look at Example 43.2: Log-Linear Model for Count Data
in documentation of PROC GEE .
It used a strata Poisson Model Like @Rick said by using offset= to identify these four levels :


proc gee data = Seizure;
class ID Visit;
model Count = X1 Trt X1 * Trt / dist=poisson link=log offset= Ltime;
repeated subject = ID / within = Visit type=unstr covb corrw;
run;


SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 10 replies
  • 3582 views
  • 5 likes
  • 4 in conversation