The optional tolerance argument [Design Issues]

posted by ElMaestro  – Denmark, 2019-12-23 14:37 (431 d 11:00 ago) – Posting: # 21021
Views: 3,296

Hi Hötzi,

» » » For observation 8 we have -3.608225e-16, I think,
» » I think, is around the "effective zero" for fits in R at default settings on 64- and 32-bit systems.
»
» Yes, it is. ;-)
»

x    <- -3.608225e-16
» zero <- .Machine$double.eps
» all.equal(x, zero)
» [1] TRUE
» zero
» [1] 2.220446e-16


This comparison in your context is just a test if the difference is less than about 10-8 since there is an implied tolerance argument for all.equal, the square root of .Machine$double.eps

Effective zero residuals will be somewhat better than 10-8 in practice. They will depend on the approach used to find the solution; in lm I believe the approach is via a qr decomposition of the model matrix, and R by defualt has a tol argument in that function of 10-7 which lm may be leaning on.

Here's an example of a perfect fit, therefore having effective zero residuals:

a=c(rep(1,5), rep(2,5), rep(3,5))
b=c(rep("A",5), rep("B",5), rep("C",5))
M=lm(a~0+b)
resid(M)


It may actually not be the best example since the dependents are all representable inernally in R's (and computer's) binary.

Perhaps this makes a better point:

a=c(rep(pi,5), rep(sin(1.5+pi),5), rep(log(pi),5))
b=c(rep("A",5), rep("B",5), rep("C",5))
M=lm(a~0+b)
resid(M)

Pass or fail!
ElMaestro

Complete thread:

Activity
 Admin contact
21,357 posts in 4,459 threads, 1,492 registered users;
online 2 (0 registered, 2 guests [including 2 identified bots]).
Forum time: Saturday 01:37 CET (Europe/Vienna)

The way to do research is to attack the facts
at the point of greatest astonishment.    Celia Green

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5