Să presupunem că aveți date. Să spunem:
Care arată astfel:
![Emisii - în datele (datele) Emisiile - în date](https://images-on-off.com/images/153/vibrosivdannix-179a8c9c.png)
Se pare că au unele emisii. Acestea sunt punctele care sunt cel mai probabil emisii aleatorii, mai degrabă decât modele de date. Aproximativ vorbind - dacă aceste date sunt modelate de regresie liniară, atunci aceste puncte vor distorsiona foarte mult rezultatele de predicție pentru setul de alte puncte. Să verificăm emisiile:
![Emisiile - în date (știința datelor) Emisiile - în date](https://images-on-off.com/images/153/vibrosivdannix-008730aa.png)
Ei bine, sigur - două puncte de ejecție!
Acum, cel mai important lucru este că trebuie să scapi de ele în date și totul va fi bine.
Este ușor de spus, dar dacă nu știți cum - va fi foarte dificil. Mai mult decât atât - de fapt - Teoria Outliers de detectare este foarte profundă și acoperă un număr mare de cazuri, dar utilizarea sa necesită o bună cunoaștere a instrumentelor matematice și statistice.
Vrem "într-un mod rapid, să ștergem aceste două puncte și totul". Ei bine, pe măsură ce vă amintiți că am venit aici din Excel în final 🙂
Și astfel "într-un mod rapid" este. Și el se bazează pe faptul că boxplot nu numai că desenează o imagine, dar, de asemenea, salvează toți parametrii în obiect. Din care le putem obține. De exemplu, emisiile sunt stocate aici: boxplot.stats (y) $ out
Să obținem indicii de puncte de emisie în vectorii noștri:
ind
Păstrăm coordonatele punctelor de emisie într-un cadru de date separat (nu este un pas obligatoriu, putem face cu câteva vectori)
outler
Și acum să verificăm - sunt niște puncte pe care le-am găsit?
complotul (x, y, col = 'albastru', pch = 20, ylim = c (0, max (y)
puncte (exceder $ x, outler $ y, col = 'roșu', pch = 19)
![Emisii - în datele (datele) Emisiile - în date](https://images-on-off.com/images/153/vibrosivdannix-16799c7a.png)
Hmmm, ca și cum totul este corect.
Mai departe vom șterge datele din emisii, vom verifica, că emisiile statistice nu sunt respectate și ne vom uita la noile noastre date "pure".
![Emisii - în date (numere) Emisiile - în date](https://images-on-off.com/images/153/vibrosivdannix-19c04fb2.png)
Distribuiți acest link:
Bună sfat, am folosit această metodă de mult timp. Pentru mine, eu scriu o funcție care verifică normalitatea eșantionului într-un număr de teste, iar apoi pentru datele distribuite în mod normal, utilizează „trei sigma“ metoda, pentru restul - metoda descrisă în acest post. În limba R este realizat elementar, pentru purificarea rapidă de la emisii este destul de potrivit. Vă mulțumim pentru blogul interesant!