BookmarkSubscribeRSS Feed
nanosteve
Fluorite | Level 6

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-

8 REPLIES 8
Reeza
Super User
Interesting question. What do you mean by extended precision?
nanosteve
Fluorite | Level 6
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. 🙂
Reeza
Super User
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.
nanosteve
Fluorite | Level 6
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-
Rick_SAS
SAS Super FREQ

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.

nanosteve
Fluorite | Level 6
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-
ballardw
Super User

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.

nanosteve
Fluorite | Level 6
Thanks, ballardw! I'll check all that out. -nanosteve-

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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
  • 8 replies
  • 2216 views
  • 3 likes
  • 4 in conversation