Identifizieren von Ausreißern für nichtlineare Regression

11

Ich forsche auf dem Gebiet der funktionellen Reaktion von Milben. Ich möchte eine Regression durchführen, um die Parameter (Angriffsrate und Bearbeitungszeit) der Rogers Typ II-Funktion abzuschätzen. Ich habe einen Datensatz mit Messungen. Wie kann ich Ausreißer am besten bestimmen?

Für meine Regression verwende ich das folgende Skript in R (eine nichtlineare Regression): (Die Datenmenge ist eine einfache zweispaltige Textdatei namens data.txtDatei mit N0Werten (Anzahl der ersten Beute) und FRWerten (Anzahl der gefressenen Beute während 24 Stunden):

library("nlstools")
dat <- read.delim("C:/data.txt")    
#Rogers type II model
a <- c(0,50)
b <- c(0,40)
plot(FR~N0,main="Rogers II normaal",xlim=a,ylim=b,xlab="N0",ylab="FR")
rogers.predII <- function(N0,a,h,T) {N0 - lambertW(a*h*N0*exp(-a*(T-h*N0)))/(a*h)}
params1 <- list(attackR3_N=0.04,Th3_N=1.46)
RogersII_N <-  nls(FR~rogers.predII(N0,attackR3_N,Th3_N,T=24),start=params1,data=dat,control=list(maxiter=    10000))
hatRIIN <- predict(RogersII_N)
lines(spline(N0,hatRIIN))
summary(RogersII_N)$parameters

Zum Zeichnen der Calssic Residuendiagramme verwende ich folgendes Skript:

res <- nlsResiduals (RogersII_N)
plot (res, type = 0)
hist (res$resi1,main="histogram residuals")
    qqnorm (res$resi1,main="QQ residuals")
hist (res$resi2,main="histogram normalised residuals")
    qqnorm (res$resi2,main="QQ normalised residuals")
par(mfrow=c(1,1))
boxplot (res$resi1,main="boxplot residuals")
    boxplot (res$resi2,main="boxplot normalised residuals")

Fragen

  • Wie kann ich am besten feststellen, welche Datenpunkte Ausreißer sind?
  • Gibt es Tests, die ich in R verwenden kann, die objektiv sind und mir zeigen, welche Datenpunkte Ausreißer sind?
Joachim
quelle

Antworten:

9

Im outliersPaket in R sind mehrere Tests für Ausreißer enthalten, einschließlich Dixons und Grubbs. Eine Liste der Tests finden Sie in der Dokumentation zum Paket. Referenzen, die die Tests beschreiben, finden Sie auf den Hilfeseiten für die entsprechenden Funktionen.

Wenn Sie vorhatten, die Ausreißer aus Ihren Daten zu entfernen, beachten Sie, dass dies nicht immer ratsam ist. In dieser Frage finden Sie beispielsweise eine Diskussion dazu (sowie einige weitere Vorschläge zum Erkennen von Ausreißern).

MånsT
quelle
8

Ich bin auch kein Statistiker. Daher nutze ich mein Expertenwissen über die Daten, um Ausreißer zu finden. Dh ich suche nach physikalischen / biologischen / welchen Gründen auch immer , die einige Messungen von den anderen unterschieden.

In meinem Fall ist das zB

  • kosmische Strahlung, die einen Teil des gemessenen Signals durcheinander bringt
  • Jemand betritt das Labor und schaltet das Licht ein
  • nur das ganze spektrum sieht irgendwie anders aus
  • Die erste Messreihe wurde während der normalen Arbeitszeit aufgenommen und ist um eine Größenordnung lauter als die 22-Uhr-Reihe

Sicherlich könnten Sie uns ähnliche Effekte mitteilen.

Beachten Sie, dass mein dritter Punkt sich von den anderen unterscheidet: Ich weiß nicht, was passiert ist. Dies kann die Art von Ausreißer sein, nach der Sie fragen. Ohne zu wissen, was es verursacht hat (und dass diese Ursache den Datenpunkt ungültig macht), ist es schwierig zu sagen, dass er nicht im Datensatz erscheinen sollte. Außerdem: Ihr Ausreißer ist vielleicht mein interessantestes Beispiel ...

Daher spreche ich oft nicht von Ausreißern, sondern von verdächtigen Datenpunkten. Dies erinnert alle daran, dass sie auf ihre Bedeutung überprüft werden müssen.

Ob es gut ist, Daten auszuschließen oder nicht (wer möchte Ausreißer nur finden, um sie zu haben?), Hängt sehr stark von der jeweiligen Aufgabe und den "Randbedingungen" für diese Aufgabe ab. Einige Beispiele:

  • Sie haben gerade die neue Unterart Outsierensis Joachimii entdeckt ;-) kein Grund, sie auszuschließen. Alle anderen ausschließen.

  • Sie möchten die Beutezeiten von Milben vorhersagen. Wenn es akzeptabel ist, die Vorhersage auf bestimmte Bedingungen zu beschränken, können Sie diese formulieren und alle anderen Stichproben ausschließen und sagen, dass Ihr Vorhersagemodell sich mit dieser oder jener Situation befasst, obwohl Sie bereits wissen, dass andere Situationen (hier Ausreißer beschreiben) auftreten.

  • Denken Sie daran, dass das Ausschließen von Daten mithilfe der Modelldiagnose eine Art sich selbst erfüllende Prophezeiung oder eine überoptimistische Tendenz hervorrufen kann (dh wenn Sie behaupten, dass Ihre Methode allgemein anwendbar ist): Je mehr Stichproben Sie ausschließen, weil sie nicht zu Ihrer passen Annahmen, desto besser sind die Annahmen, die von den verbleibenden Stichproben erfüllt werden. Das liegt aber nur am Ausschluss.

  • Ich habe derzeit eine Aufgabe vor mir, bei der ich eine Reihe von schlechten Messungen habe (ich kenne den physikalischen Grund, warum ich die Messung für schlecht halte), und ein paar mehr, die irgendwie "komisch" aussehen. Was ich tue, ist, dass ich diese Beispiele vom Training eines (prädikaten) Modells ausschließe, aber das Modell separat mit diesen teste, damit ich etwas über die Robustheit meines Modells gegenüber Ausreißern der Typen sagen kann, von denen ich weiß, dass sie jedes Mal in einem auftreten werden während . Daher muss die Anwendung irgendwie mit diesen Ausreißern umgehen.

  • Eine weitere Möglichkeit, Ausreißer zu betrachten, ist die Frage: "Wie stark beeinflussen sie mein Modell?" (Hebelwirkung). Unter diesem Gesichtspunkt können Sie die Robustheit oder Stabilität in Bezug auf seltsame Trainingsmuster messen.

  • Unabhängig davon, welches statistische Verfahren Sie verwenden, werden entweder keine Ausreißer identifiziert oder es werden auch falsch positive Ergebnisse erzielt. Sie können ein Ausreißertestverfahren wie andere diagnostische Tests charakterisieren: Es hat eine Sensitivität und Spezifität und - was für Sie wichtiger ist - sie entsprechen (über den Ausreißeranteil in Ihren Daten) einem positiven und negativen Vorhersagewert. Mit anderen Worten, insbesondere wenn Ihre Daten nur sehr wenige Ausreißer aufweisen, kann die Wahrscheinlichkeit, dass ein durch den Ausreißertest identifizierter Fall tatsächlich ein Ausreißer ist (dh nicht in den Daten enthalten sein sollte), sehr gering sein.
    Ich glaube, dass Expertenwissen über die vorliegenden Daten Ausreißer normalerweise viel besser erkennt als statistische Tests: Der Test ist genauso gut wie die dahinter stehenden Annahmen. Und One-Size-Fits-All ist oft nicht wirklich gut für die Datenanalyse. Zumindest beschäftige ich mich häufig mit einer Art Ausreißer, bei dem Experten (über diese Art der Messung) kein Problem damit haben, den genauen Teil des Signals zu identifizieren, der kompromittiert wird, während automatisierte Verfahren häufig fehlschlagen (es ist leicht, sie erkennen zu lassen, dass es einen gibt Problem, aber sehr schwer zu finden, wo das Problem beginnt und wo es endet).

cbeleites unzufrieden mit SX
quelle
Hier gibt es viele gute Informationen. Ich mag besonders die Aufzählungspunkte 4 und 5.
Gung - Reinstate Monica
4

Für univariate Ausreißer gibt es den Dixon-Ratio-Test und den Grubbs-Test unter der Annahme der Normalität. Um einen Ausreißer zu testen, müssen Sie eine Bevölkerungsverteilung annehmen, da Sie zeigen möchten, dass der beobachtete Wert extrem oder ungewöhnlich ist, um von der angenommenen Verteilung zu stammen. Ich habe einen Artikel im American Statistician aus dem Jahr 1982, auf den ich hier bereits verwiesen habe, der zeigt, dass der Dixon-Ratio-Test in kleinen Stichproben auch für einige nicht normale Verteilungen verwendet werden kann. Chernick, MR (1982) "Ein Hinweis zur Robustheit des Dixon-Verhältnisses in kleinen Stichproben" American Statistician S. 140. Für multivariate Ausreißer und Ausreißer in Zeitreihen sind Einflussfunktionen für Parameterschätzungen nützliche Maßnahmen zur informellen Erkennung von Ausreißern (ich weiß nicht) von formalen Tests, die für sie erstellt wurden, obwohl solche Tests möglich sind)."Ausreißer in statistischen Daten" zur detaillierten Behandlung von Ausreißererkennungsmethoden.

Michael R. Chernick
quelle
3

Siehe http://www.waset.org/journals/waset/v36/v36-45.pdf , "Zur Ausreißererkennung bei nichtlinearer Regression" [ sic ].

Abstrakt

Die Erkennung von Ausreißern ist sehr wichtig, da sie dafür verantwortlich sind, sowohl in der linearen als auch in der nichtlinearen Regressionsanalyse ein großes Interpretationsproblem zu erzeugen. Es wurde viel Arbeit zur Identifizierung von Ausreißern in der linearen Regression geleistet, jedoch nicht in der nichtlinearen Regression. In diesem Artikel schlagen wir verschiedene Ausreißererkennungstechniken für die nichtlineare Regression vor. Die Hauptidee besteht darin, die lineare Approximation eines nichtlinearen Modells zu verwenden und den Gradienten als Entwurfsmatrix zu betrachten. Anschließend werden die Detektionstechniken formuliert. Es werden sechs Erkennungsmaßnahmen entwickelt, die mit drei Schätztechniken wie den Least-Squares-, M- und MM-Schätzern kombiniert werden. Die Studie zeigt, dass unter den sechs Messungen nur die studentisierte Rest- und Kochdistanz, die mit dem MM-Schätzer kombiniert wurde,

Hosein
quelle
+1 Trotz der offensichtlichen Probleme mit Englisch (und im mathematischen Satz) scheint dieses Papier ein nützlicher Beitrag zu dieser Frage zu sein.
whuber
2

Ein Ausreißer ist ein Punkt, der "zu weit" von "einer Grundlinie" entfernt ist. Der Trick besteht darin, beide Sätze zu definieren! Bei nichtlinearer Regression kann man nicht einfach univariate Methoden verwenden, um festzustellen, ob ein Ausreißer "zu weit" von der am besten geeigneten Kurve entfernt ist, da der Ausreißer einen enormen Einfluss auf die Kurve selbst haben kann.

Ron Brown und ich haben eine einzigartige Methode entwickelt (die wir ROUT - Robuste Regression und Ausreißerentfernung nennen), um Ausreißer mit nichtlinearer Regression zu erkennen, ohne dass der Ausreißer die Kurve zu stark beeinflusst. Passen Sie die Daten zunächst mit einer robusten Regressionsmethode an, bei der Ausreißer nur geringen Einfluss haben. Das bildet die Basis. Verwenden Sie dann die Ideen der False Discovery Rate (FDR), um zu definieren, wann ein Punkt "zu weit" von dieser Basislinie entfernt ist und somit ein Ausreißer. Schließlich werden die identifizierten Ausreißer entfernt und die verbleibenden Punkte konventionell angepasst.

Die Methode wird in einem Open-Access-Journal veröffentlicht: Motulsky HJ und Brown RE, Erkennung von Ausreißern beim Anpassen von Daten mit nichtlinearer Regression - eine neue Methode, die auf robuster nichtlinearer Regression und der Rate falscher Entdeckungen basiert , BMC Bioinformatics 2006, 7: 123. Hier ist die Zusammenfassung:

Hintergrund. Die nichtlineare Regression setzt ebenso wie die lineare Regression voraus, dass die Streuung der Daten um die ideale Kurve einer Gaußschen oder Normalverteilung folgt. Diese Annahme führt zu dem bekannten Ziel der Regression: die Summe der Quadrate der vertikalen oder Y-Wert-Abstände zwischen den Punkten und der Kurve zu minimieren. Ausreißer können die Berechnung der Quadratsumme dominieren und zu irreführenden Ergebnissen führen. Wir kennen jedoch keine praktische Methode zur routinemäßigen Identifizierung von Ausreißern beim Anpassen von Kurven mit nichtlinearer Regression.

Ergebnisse. Wir beschreiben eine neue Methode zur Identifizierung von Ausreißern beim Anpassen von Daten mit nichtlinearer Regression. Wir passen die Daten zunächst mit einer robusten Form der nichtlinearen Regression an, basierend auf der Annahme, dass die Streuung einer Lorentzschen Verteilung folgt. Wir haben eine neue adaptive Methode entwickelt, die mit fortschreitender Methode allmählich robuster wird. Um Ausreißer zu definieren, haben wir den Ansatz der Rate falscher Entdeckungen an die Verarbeitung mehrerer Vergleiche angepasst. Anschließend entfernen wir die Ausreißer und analysieren die Daten mithilfe der gewöhnlichen Regression der kleinsten Quadrate. Da die Methode robuste Regression und Ausreißerentfernung kombiniert, nennen wir sie die ROUT-Methode.

Bei der Analyse simulierter Daten, bei denen die gesamte Streuung nach Gauß erfolgt, erkennt unsere Methode in nur etwa 1–3% der Experimente (fälschlicherweise) einen oder mehrere Ausreißer. Bei der Analyse von Daten, die mit einem oder mehreren Ausreißern kontaminiert sind, ist die ROUT-Methode bei der Identifizierung von Ausreißern mit einer durchschnittlichen False Discovery-Rate von weniger als 1% gut geeignet.

Fazit. Unsere Methode, die eine neue Methode der robusten nichtlinearen Regression mit einer neuen Methode der Ausreißeridentifikation kombiniert, identifiziert Ausreißer aus nichtlinearen Kurvenanpassungen mit angemessener Leistung und wenigen falsch positiven Ergebnissen.

Es wurde (soweit ich weiß) nicht in R implementiert. Aber wir haben es in GraphPad Prism implementiert . und geben Sie eine einfache Erklärung in der Prisma-Hilfe .

Harvey Motulsky
quelle
0

Ihre Frage ist zu allgemein. Es gibt keine beste Methode, um die "Ausreißer" auszuschließen.

Man musste einige Eigenschaften der "Ausreißer" kennen. oder Sie wissen nicht, welche Methode die beste ist. Nachdem Sie entschieden haben, welche Methode Sie verwenden möchten, müssen Sie die Parameter der Methode sorgfältig kalibrieren.

ZYD
quelle