Here are a few observations in my dataset,
adm | recruited | dual | ldays |
0 | 0 | 0 | 5.89990 |
0 | 0 | 0 | 5.89990 |
0 | 1 | 0 | 5.89990 |
0 | 1 | 1 | 5.89990 |
1 | 1 | 0 | 5.89990 |
0 | 1 | 1 | 5.89990 |
0 | 0 | 0 | 5.89990 |
0 | 0 | 0 | 5.89990 |
2 | 1 | 0 | 4.96284 |
I am using SAS 9.4. I have very large dataset with over 6M records. I didn't get the error message when I run the code with the full dataset, but it took too long to run. So I tried to run with 15% of the sample, but encountered the error below. I appreciated for any suggestion or advice.
proc genmod data = mydata;
class recruited_18(param=ref ref='0') dual_18(param=ref ref='1');
model adm_18 =recruited_18 dual_18 /dist=zinb type3 offset=ldays;
zeromodel ldays/link=logit;
run;
ERROR: Floating Point Overflow.
ERROR: Termination due to Floating Point Exception
NOTE: The SAS System stopped processing this step because of errors.
How long was "too long"?
Did you actually let the proc finish? If not then it is quite possible that the only reason you didn't get an error was the interruption.
Also, how did you select your 15% sample? You may have introduced some effect because of the selection method.
It took about 4 hours to finish run, so I used proc survey select to random select 15% sample to speed up.
Actually, I found out the reason, it's the variable "ldays" in zeromodel statement. A person can have one to 365 Medicare coverage days. ldays is the log of coverage days. The error went away when I took out the variable from zeromodel statement, but I don't understand why.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.