Programming the statistical procedures from SAS

How can I ensure that GLM is run with floating-point double or extended precision, please?

Reply
Occasional Contributor
Posts: 7

How can I ensure that GLM is run with floating-point double or extended precision, please?

Now able to run GLM, I have searched extensively but unsuccessfully for assurance that when all data are normalized GLM runs floating point in double or extended precision. I have not been able to find a clear statement that it does or a way to tell it to do so.

 

Help would be greatly appreciated.

 

Thanks, -nanosteve-

Super User
Posts: 18,576

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

Interesting question. What do you mean by extended precision?
Occasional Contributor
Posts: 7

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

Hi, Reeza! :-) Thanks for your own nice question. I'm no expert on the subject, but I gather that extended means beyond double, as in long double and so on; the most I ever used was "double precision" which gets me to e-16. I've seen an ability to say BESTDw.p, but not in association with GLM in particular, and that (if available in GLM) would let me see up to BESTD32.31, it said. But I have not been able to figure out whether it can be used in GLM and, if so, where ... and it applies to output, not to format.
I hope this helps some. I'm stumped. :-)
Super User
Posts: 18,576

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

I don't know if there's anything beyond this documented:
https://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#a000695157.htm

A key takeaway is it depends on what type of computer SAS is installed on.
Occasional Contributor
Posts: 7

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

Good stuff, Reeza. I'm on a 64-bit Windows 10 OS, running 64GB RAM. I'll pursue this in the morning! Thanks very much for your guidance. I hope I find something truly definitive. :-)
-nanosteve-
SAS Super FREQ
Posts: 3,547

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

[ Edited ]

The document that Reeza linked to is "truly definitive." All SAS procedures do floating-point computations in double precision, which is the standard in the world of numerical analysis.

Occasional Contributor
Posts: 7

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

Thanks, Rick_SAS!

I'm just waking up and getting ready to peruse that link closely. As people speak of such as proton radii being of about e-35 scale, I do continue to wonder how to get even to the e^-31 or e^-32 level in data analysis. Given that a recent SAS GLM run reported Root MSE=0.014742 (which scales to 1.4742% in terms of the modeling of residuals to the first Predicted Model), the question remains as to how to get beyond the e^-16 double-precision standard, via such approaches as long double; though your assurance (that all SAS procedures do, indeed, run with double precision) certainly takes the pressure off of immediate concerns, I'll be looking in passing for a way to run GLM in long-double (or whatever the correct SAS term for that may be), as I continue studying these interesting issues. I'll also be looking for a way to get reports in scientific notation, as having only zeros reported in some fields is ... well ... frustrating. :-)

I don't know whether dumping a complete SAS GLM output (with estimated coefficients redacted, due to possibly proprietary interests) would be: helpful, appreciated, possible, or seen to be abusive. I'm absolutely open to guidance on such matters.

Thanks much for your interest and follow-through. This progress is very encouraging! :-)

Sincerely, -nanosteve-
Super User
Posts: 10,871

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

If you don't like the default output then use the NOPRINT option and direct output to datasets such as OUTSTAT= option for the proc statement or an OUTPUT statement. Then you can use any of the report procedures such as Print, Report or Tabulate to display the values and specify the format(s) desired.

Occasional Contributor
Posts: 7

Re: How can I ensure that GLM is run with floating-point double or extended precision, please?

Thanks, ballardw! I'll check all that out. -nanosteve-
Ask a Question
Discussion stats
  • 8 replies
  • 490 views
  • 3 likes
  • 4 in conversation