
|
- Product: Regress+
- Relevant Links: homepage
- Author: Mike McLaughlin
- Price: Free!
- Category: Calculations
- Platforms: MacOS
- Latest Version: 2.5
- Review Date: September 15, 2003 (updated)
- ScienceMan Rating: Author Tour - Not Rated
|

Special Note! Regress version 3 is under development! See the details in this pdf file.
The Review!
ScienceMan Note... The following is an "Author's Tour" of Regress+, generously provided by the program's author, Mike McLaughlin. Hope you enjoy it... ScienceMan did!
Regress+ ("Regress_plus") is a Mac-only freeware package for (univariate) mathematical modeling. It has features too numerous to list here but all are described, with numerous examples, at its download site.
In science, modeling arises whenever measurements and ideas come together. Every lab session, intended to exemplify quantitative models, generates mounds of data but also a great deal of experimental error. By and large, students at all levels are taught relatively little about how to handle empirical data (a.k.a. statistics) apart from drawing graphs and finding averages and, if time permits, computing a standard deviation. Later, as professionals, they often have no alternative but to make do with this meager store of knowledge and hope for the best.
Regress+ is intended as a partial remedy. It was developed as a tool to facilitate the modeling of real data, both deterministic models (equations) and stochastic models (probability distributions).
An Example
One of the first experiments I ever did, as a Junior in high school, dealt with the ideal gas law:
P V = (g/M) R T
If volume is held constant (the usual case), then this law is a linear model relating temperature and pressure. Lab experiments take many forms but nearly all involve measuring a vector of temperature/pressure pairs, often using air as the gas. I even found some actual data here and copied it to this textfile to serve as input to Regress+.
Fitting a straight line to some datapoints is not exactly "rocket science" but Regress+ goes a lot further than that. First of all, with deterministic data, it will fit any function with up to ten parameters, not just straight lines. Even better, it will tell you how good the fit is and, optionally, the confidence intervals on the parameters. [The latter capability is almost unknown with commercial packages.] In this case, with pressure as the independent variable and temperature as the dependent (response) variable, I chose the default model, viz.,
y = A*x^4 + B*x^3 + C*x^2 + D*x + E
and set A = B = C = 0 (constant). I could have made a guess as to the values of D (= MV/gR) and E (which should be zero) but I left them with their default initial values (1.0). I also used the default, least-squares optimization criterion. Regress+ converged almost instantly to the optimum solution, accounting for nearly 97 percent of the observed variation (R^2 = 0.96715), with parameters as follows:
- D = 2.77751e+00
- E = 1.85839e+01
Well, E is not zero, is it? If you were a high-school student, what would you do now? Blame the equipment? File a protest? Copy your neighbor's answer? Never believe in science again for the rest of your life? What?
A real scientist would do none of the above because he or she would know all about experimental error and would not expect too much of this point estimate, especially given the graph, here generated by Regress+ (with a single keystroke!) and saved as a PICT.

Instead, a scientist would ask, "How well does this experiment predict E? For instance, what is the 95-percent confidence interval for this parameter? Does it, after all, include the expected value of zero?"
Regress+ took about one minute to find 90-, 95-, and 99-percent confidence intervals for D and E, using a state-of-the-art, nonparametric bootstrap algorithm. It turns out that the 95-percent confidence interval for E is [-18.84, 58.93]. Clearly, one cannot reject the hypothesis that E is really zero.
These results are summarized in two output files, IdealGas.Ply.LS.5.out and IdealGas.Ply.LS.list. Were this experiment performed as a class project, with a fixed set of pressures, then a better (more valid) collective result could be obtained by utilizing the observed standard deviations of temperature at the various pressures, computed from the respective replicates, and then doing a weighted regression. Regress+ (optionally) inputs an uncertainty (e.g., a standard deviation) for each point and uses the reciprocal of this as the "weight" for that point.
Statistics Everywhere
This illustration is indicative of the pervasiveness of statistics in science. It would be almost impossible, these days, to develop any sort of quantitative model without a clear understanding of error, regression, random variables, etc. The Regress+ documentation includes a general tutorial on modeling that will probably tell you more than you wanted to know.
So, I'll just stop here and let you be the judge.



|