The optional tolerance argument [Design Issues]

posted by ElMaestro  – Denmark, 2019-12-23 15:37 (1076 d 14:34 ago) – Posting: # 21021
Views: 4,991

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:

UA Flag
Activity
 Admin contact
22,427 posts in 4,694 threads, 1,598 registered users;
11 visitors (1 registered, 10 guests [including 3 identified bots]).
Forum time: 06:11 CET (Europe/Vienna)

Operational hectic replaces
intellectual calms.    Alexander Huiskes

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