Removing leverage = infinite loop?

1 次查看(过去 30 天)
I have a nonlinear model and I used plotDiagnostics (model, 'leverage') to find observations with high leverage.
However,after removing those which are extremely high (about 6 points), I noticed that the threshold of the new leverage plot has changed, and there are new points fall beyond this new threshold. If I were to remove all points lying above the threshold (about 20 of them), it is very likely that some points will exceed the new threshold, and eventually will this whole process of removing leverage and re-plotting leverage plot become an endless loop?

采纳的回答

Star Strider
Star Strider 2017-5-29
It would not be ‘endless’, since you would eventually run out of points to exclude!
I would stop with the first iteration. That identifies the most extreme outliers.
Actually, unless I had reason to believe that the outliers were due to some methodological problem in my data collection, which would certainly be a reason to examine them and possibly exclude them, I would keep all of them. This is an argument in favour of defining a protocol first, with exclusion criteria for data, such as sick animals, thermal noise in measuring equipment, equipment nonlinearities such as amplifier saturation or ‘railing’, and similar problems. Ideally, you will always have a valid reason for excluding some data, other than that they are simply ‘outliers’.
  16 个评论
wesleynotwise
wesleynotwise 2017-6-1
Thanks for your advice. I do think Method (2) works. I will see if there is any specific techniques. So once the variance is determined, then weight = 1/variance, and it will be used in this function, I assume?
[beta,R,J,CovB] = nlinfit(X,y,@hougen,beta0,'Weights',weights)
Star Strider
Star Strider 2017-6-1
My pleasure.
That is how I would do it.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by