mi2-warsaw / CzasDojazdu

https://hub.docker.com/r/marcinkosinski/czasdojazdu/builds/
5 stars 1 forks source link

Outliers'y w cenach ofert #15

Closed tmikolajczyk closed 8 years ago

tmikolajczyk commented 8 years ago

Jak odfiltrować oferty z pseudo-cenami? Mamy np. coś takiego: cena adres 509569099 Kopalniana, Warszawa, Polska 69999 Białostocka 58333 Tomcia Palucha 5000 NA

Są też takie oferty, gdzie cena jest poniżej 100.

Wiem, że można ręcznie odfiltrować ceny-nieceny, ale dobrze byłoby mieć mechanizm, który zrobi to automatycznie. W jednym z kodów (linia 14) podjąłem próbę, ale efekt był niezadowalający. Ktoś spróbuje?

MarcinKosinski commented 8 years ago

@mikolajjj to moze

filter(cena > 500) %>%
filter(cena < 5000) %>%

?

tmikolajczyk commented 8 years ago

to co zaproponowałeś to jest rozwiązanie ręczne. tak to też potrafię ;)

MarcinKosinski commented 8 years ago

To może po kwantylach?

filter(cena > quantile(cena, 0.01) %>%
filter(cena < quantile(cena, 0.99) %>%

to jest automatyczne :P? jest tyle samo pisania

tmikolajczyk commented 8 years ago

tak jest teraz. przy parametrach, które podałeś, w bazie na z dzisiaj, odfiltrowujesz ok. 60 ofert z przedziału do 2500 (prawdziwych) i nie odfiltrowujesz pozostałych ofert z pseudo-cenami (16, 17, 70 zł, itd.). to oczywiście jest prawdziwe przy dzisiejszym stanie bazy. jak wpadnie kolejne 10k ofert to powyższe kwantyle zwrócą inne podzbiory

MarcinKosinski commented 8 years ago

I co teraz możemy zrobić w takiej sytuacji :)? Mamy dwa rozwiązania: kwantylowe + za'hard'kodowane. Musimy pójść na jakiś kompromis. Takich kompromisowych decyzji przy analizie danych podejmuje się codziennie setki i nie ma się co długo nad tym zastanawiać.

Ja proponuje

Ale to dalej jest wszystko ręczne :P nie wiem jak mogłaby tu zadziałać automatyzacja

W dniu 6 maja 2016 09:36 użytkownik Tomasz Mikołajczyk < notifications@github.com> napisał:

tak jest teraz. przy parametrach, które podałeś, w bazie na z dzisiaj, odfiltrowujesz ok. 60 ofert z przedziału do 2500 (prawdziwych) i nie odfiltrowujesz pozostałych ofert z pseudo-cenami (16, 17, 70 zł, itd.). to oczywiście jest prawdziwe przy dzisiejszym stanie bazy. jak wpadnie kolejne 10k ofert to powyższe kwantyle zwrócą inne podzbiory

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mi2-warsaw/CzasDojazdu/issues/15#issuecomment-217371177

tmikolajczyk commented 8 years ago

wybieram rozwiązanie "ręczne" zahardkodowane :) ale czuję, że da się to sprytniej zakodować. w przyszłości, a tymczasem zamykam temat

MarcinKosinski commented 8 years ago

To może jakieś pytanie na stackoverflow? Może są jakies techniki wyszukiwania outlierów? http://www.r-bloggers.com/a-tutorial-on-outlier-detection-techniques/ https://cran.r-project.org/web/packages/outliers/outliers.pdf

2016-05-06 10:20 GMT+02:00 Tomasz Mikołajczyk notifications@github.com:

Closed #15 https://github.com/mi2-warsaw/CzasDojazdu/issues/15.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mi2-warsaw/CzasDojazdu/issues/15#event-652372583