The optional tolerance argument [Design Issues]

posted by ElMaestro  – Denmark, 2019-12-23 15:37 (1134 d 16:01 ago) – Posting: # 21021
Views: 5,028

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))

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))

Pass or fail!

Complete thread:

UA Flag
 Admin contact
22,477 posts in 4,708 threads, 1,603 registered users;
15 visitors (0 registered, 15 guests [including 7 identified bots]).
Forum time: 07:38 CET (Europe/Vienna)

The mediocre teacher tells.
The good teacher explains.
The superior teacher demonstrates.
The great teacher inspires.    William Arthur Ward

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