[R] intercept of 3D line? (Orthogonal regression)

Moshe Olshansky m_olshansky at yahoo.com
Tue Sep 2 06:55:02 CEST 2008


I do not see why you can not use regression even in this case.

To make things more simple suppose that the exact model is:

y = a + b*x, i.e.
y1 = a + b*x1
...
yn = a + b*xn

But you can not observe y and x. Instead you observe 
ui = xi + ei (i=1,...,n) and
vi = yi + di (i=1,...,n)

Now you have

vi = yi + di = a + b*xi + di = a + b*(ui - ei) + di 
= a + b*ui + (di - b*ei)

and under regular assumptions about ei's end di's we get a standard regression problem (note that b is unknown to you but is constant).


--- On Tue, 2/9/08, William Simpson <william.a.simpson at gmail.com> wrote:

> From: William Simpson <william.a.simpson at gmail.com>
> Subject: [R] intercept of 3D line? (Orthogonal regression)
> To: r-help at r-project.org
> Received: Tuesday, 2 September, 2008, 4:53 AM
> I posted before recently about fitting 3D data x, y, z where
> all have
> error attached.
> I want to predict z from x and y; something like
> z = b0 + b1*x + b2*y
> But multiple regression is not suitable because all of x,
> y, and z have errors.
> 
> I have plotted a 3D scatterplot of some data using rgl. I
> see that the
> data form a cigar-shaped cloud. I think multiple regression
> is only
> suitable when the points fall on a plane (forgetting about
> the error
> in x and y).
> 
> I now know the right way how to find the best fitting plane
> to x,y,z
> data using princomp.
> But a new problem is how to get the best fitting *line*. I
> actually
> know how to do that too using princomp. But there is a
> mathematical
> problem: there's no way to specify a line in 3D space
> in the form
> z=f(x,y) or in other words with an intercept and slopes.
> Instead, one way to deal with the problem is to use a
> parametric
> version of the line: you use an arbitrary starting point
> x0, y0, z0
> and the direction vector of your line (I know how to get
> the direction
> vector).
> 
> BUT how do I get the intercept??? At this point my lines
> just go
> through the origin.
> Do I just use $center from the princomp output modified in
> some way?
> 
> Thanks for any help!
> 
> Cheers
> Bill
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained,
> reproducible code.



More information about the R-help mailing list