Statistische Ausreißer-Detektion in MATLAB
Angenommen, wir haben diese matrix :
main = [10000 5 3 1;
5 5677 0 134;
1 1 456 3];
Diese Methode das am häufigsten verwendete Verfahren in ökonometrie und statistische Probleme.X
sind unsere Daten, wir sind auf der Suche nach Ausreißern.
X-mean(X)>= n*std(X)
Also, Wenn diese Ungleichheit wahr ist, Dass die Probe ein Ausreißer, ansonsten behalten Wir die Probe.
Nun meine Frage. Ich will finden "Ausreißer" mit diesen codes:
meann = mean(main);
stdd = std(main);
out = find(main-repmat(meann,size(main,1),1)>=repmat(2*stdd,size(main,1),1));
Suchen wir Ausreißer in jeder Spalte. Out
zeigen sollte-index von Ausreißern. Im letzten Schritt Wir entfernen sollten Ausreißer in jeder Spalte. Ist einfacher Funktion oder Methode, dies zu tun in MAtLAB?
Dank.
out
leer ist??Ausreißer Global, matrix oder pro Spalte?
Ich bearbeitet meine Frage.
Ich denke, Sie sollten erklären, Ihre Logik, weil ich fühle, wie dein code nicht richtig implementiert, was Sie nach. Sagen Sie, dass Sie wollen, um zahlen zu finden, dass 2 Standardabweichungen Weg vom Mittelwert (pro Spalte)?
Danke. Ich fügte hinzu, mehr Informationen in meiner Frage.
InformationsquelleAutor user2991243 | 2014-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten finden 2 Standardabweichungen Weg vom Mittelwert pro Spalte Grundlage würde ich
bsxfun
eher alsrepmat
wie diese:Ich würde aufhören, bei
I
da dies ermöglicht es Ihnen, zu entfernen Ausreißer. Jedoch können Sie rufen Siefind
es Euch gefällt:Obwohl für mich ist es intuitiver, dies zu tun:
Ich denke, dass Ihr
repmat
Lösung ist, fehlt eineabs
btwInformationsquelleAutor Dan
2*sigma-Kriterium ist sicherlich einfach, aber der Mittelwert und die Standardabweichung sind wirklich empfindlich auf Ausreißer. Es folgt, dass die
out
variable wird somit beeinflusst werden, und in der Tat der code nicht finden keine Ausreißer in der gegebenen matrix.Zur Erkennung der Ausreißer, vergleichen Sie bitte die Werte erscheinen in der matrix gegen die Mediane, oder zu erlassen, verfeinerten Kriterien. Es ist ein schöner Vortrag erläutert dies an https://www.mne.psu.edu/me345/Lectures/outliers.pdf
X-mean(X)> 2(or 3,...)*std
ist die am weitesten verbreitete Methode in der ökonometrie und statistische Probleme.Der Vortrag schlägt mit
|X-mean| > 1.9x * std
etwa 2.Sie fehlt und die absolute, d.h. die
|·|
im Yvon ' s Kommentar. Es ist sehr wichtig!Ja. Das ist wahr. Vielen Dank für Ihre hilft.
InformationsquelleAutor Jommy
Verwenden Sie einen cell-array, wenn Sie entfernen möchten bestimmte Elemente aus verschiedenen Spalten.
ps. Ihr Beispiel ist zu klein in der Größe, so dass es möglicherweise nicht genügend Proben, um einen Schwellenwert festsetzen.
InformationsquelleAutor Yvon