BookmarkSubscribeRSS Feed
deleted_user
Not applicable
I have a data set that contains ~180,000 records, depicting the followup time from study recruitment until hospitalisation over a 10 year period. Hence, there are multiple records per person - each person-specific record restarts counting person time at risk from the time of release from one hospitalisation until the next hospitalisation (or study end). I am trying to determine whether the rate of hospitalisation (hosp_flag = 0/1) varies by body mass index after adjusting for age. Here's my syntax for calculating the rate of hospitalisation.

PROC GENMOD DATA = temp1;
ODS OUTPUT ParameterEstimates = results;
CLASS bmi_cat id;
MODEL hosp_flag = bmi_cat age_year / DIST = poisson LINK = log OFFSET = logpyr TYPE3 SCALE = deviance WALD;
REPEATED subject = id / TYPE = AR;
RUN;

The syntax is running but generating the following errors, which I think are coming from the TYPE = AR option:

ERROR: Error in computing inverse link function.
ERROR: Error in parameter estimate covariance computation.
ERROR: Error in estimation routine.

The same errors arise if I specify TYPE as exchangeable rather than autorgressive. Does someone know what I am doing wrong?

Many thanks in advance.
1 REPLY 1
statsplank
Calcite | Level 5
Hi Persistence,

Hmmm... I suspect the problem is not in TYPE=AR option but in your response variable hosp_flag. It takes values 0 or 1 i.e. it's dichotomous, yet you say it's the rate of hospitalization and you model it with Poisson distribution... I would think that either different response variable should be used or different DIST and LINK...

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!

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
  • 1 reply
  • 3565 views
  • 0 likes
  • 2 in conversation