The optional tolerance argument [Design Issues]

posted by ElMaestro  – Belgium?, 2019-12-23 14:37 2001:2012:306:2500:187a:d176:60b:ac29 – Posting: # 21021
Views: 904

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)

Le tits now.

Best regards,
ElMaestro

Complete thread:

Activity
 Admin contact
20,333 posts in 4,270 threads, 1,401 registered users;
online 5 (0 registered, 5 guests [including 4 identified bots]).
Forum time (Europe/Vienna): 04:01 CET

No matter what side of the argument you are on,
you always find people on your side
that you wish were on the other.    Thomas Berger

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