|
|
Subject:
Looking for a piecewise linear regression algorithm (Computer Science).
Category: Computers > Algorithms Asked by: jack_333-ga List Price: $100.00 |
Posted:
09 Sep 2006 17:46 PDT
Expires: 09 Oct 2006 17:46 PDT Question ID: 763789 |
Hi, I looking for a piecewise linear regression algorithm that can model a set of data points, but the breakpoint is unknown. Also, the number of breakpoints is unknown, too. For example, a set of points (0, 4), (1, 6), (2, 5) (3, 100), (4, 130), (5, 120) (7, 30), (8, 40), (9, 35) Will result two breakpoint, and 3 lines of different slops. The answer to question should provide some example, so we can understand it better. I found researched related to this question, but they are a bit difficult for me to understand, and involved other advance concepts. | |
| |
| |
| |
|
|
There is no answer at this time. |
|
Subject:
Re: Looking for a piecewise linear regression algorithm (Computer Science).
From: berkeleychocolate-ga on 11 Sep 2006 13:00 PDT |
Just a suggestion that others may want to take further: The problem is to find the breaks in the different lines. Let us do this inductively. That is, suppose that we know how to break-up the points x(1),..., x(k) and we are looking at the k+1st point. Suppose further that the last group to be fitted to a line is x(i),...x(k). Then we do the following: (Assume there are at least 3 points from x(i) to x(k).) Find the least squares fit to x(i),...,x(k). Use the parameters to estimate y(k+1). There is an associated error (that is, standard deviation) with the estimate as well. If the y(k+1) is several standard deviations from this estimate, then the k+1st point is considered to be on a different line. [The formula for the error of the estimate of y(k+1) is s*sqrt(1 + 1/n + (x(k+1)-xbar)^2/Sx^2 ), where s is the standard error of the fit, n is the number of points in this piece, xbar is the average x in this piece, and Sx^2 is the sum of the squares of the differences of the x's from xbar. You can look up this formula up in any good text on linear regression.] |
Subject:
Re: Looking for a piecewise linear regression algorithm (Computer Science).
From: gorillabiscuit-ga on 13 Sep 2006 15:09 PDT |
What would be the realworld application for this kind of stuff? |
Subject:
Re: Looking for a piecewise linear regression algorithm (Computer Science).
From: seb1984-ga on 13 Sep 2006 15:31 PDT |
Ok if I understand your problem correctly it should be pretty simple. Since you are looking for a linear connection between the given points. First of all you have to calculate the slope of the lines. The formula to do this is: deltaY / deltaX = (Y2-Y1) / (X2-X1); So for the given points it would be: (4-6) / (0-1) = 2 Now all you have to do: Check this value. If it's to big then you got a breakpoint. C Pseudo Code { slope = (Y[NEXT] - Y[LAST]) / (X[NEXT]-X[LAST]); } |
Subject:
Re: Looking for a piecewise linear regression algorithm (Computer Science).
From: seb1984-ga on 13 Sep 2006 15:36 PDT |
Sorry I hit enter to fast. So the pseudo code again: C Pseudo Code { slope = (Y[NEXT] - Y[LAST]) / (X[NEXT]-X[LAST]); if (abs(slope) > maximum_value) breakpoint(); } To get a good maximum_value you can use historical data, probabilities or what ever fits the situation the best. (That depends on your programm) I jope I could help you out :-) If you got some questions on my answer please feel free to contact me. Thanks sebastian |
Subject:
Re: Looking for a piecewise linear regression algorithm (Computer Science).
From: jack_333-ga on 15 Sep 2006 17:34 PDT |
Hi seb1994-ga, can you please provided a "detailed" example please? Yeah, what you said it is a basic concept behind this, and I am looking for more advance way doing it. Thanks. |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |