How to find the points furthest from a linear regression line?
5 次查看(过去 30 天)
显示 更早的评论
I have fit a linear regression to a set of data that oscillates back and forth over the regression line. I'd like to find the points furthest from the regression line. How should I go about this?
0 个评论
回答(2 个)
Roger Stafford
2017-5-8
编辑:Roger Stafford
2017-5-8
If by “furthest” you mean furthest in a direction orthogonal, (rather than vertical,) to your regression line, then do the following. Suppose your line of regression has the equation y = m*x+b and X and Y are x and y coordinate vectors of your data set.
[d,ix] = max(abs(Y-m*X-b));
d = d/sqrt(1+m^2);
Then (X(ix),Y(ix)) is the data point having the greatest distance and that distance is d.
0 个评论
Walter Roberson
2017-5-8
polyval() the project the position of the line at the points. Then you can take the distance between the actual data and the projected data, and find the furthest points.
pointdist = abs(y - polyval(Coeffs, x));
[~, furthest_point_idx]] = max(pointdist);
far_points_idx = find(pointdist > some_cutoff);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Regression 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!