Pytanie:
Czy pomijanie danych odstających w publikacji jest nieetyczne / nienaukowe, gdy są one za twoim argumentem?
user541686
2015-08-30 17:22:15 UTC
view on stackexchange narkive permalink

Mam wykres punktowy (log-) z około 10 000 punktami danych, który przedstawia czas działania jakiegoś algorytmu względem danych wejściowych w przypadkowych wystąpieniach jakiegoś problemu.

Mam wiele takich wykresów, i ze względu na ograniczenia przestrzenne nie mogę przeznaczyć im dużej ilości miejsca. Działki mają 1-2 cale wysokości. Problem polega na tym, że wykonanie kilku (może 5 lub więcej) tych próbek zajęło absurdalnie krótki czas (powiedzmy kilka milisekund), podczas gdy prawie wszystkie inne punkty danych zajęły 2-3 rzędy wielkości dłużej.

Próbuję pokazać, że mój algorytm jest szybki, więc myślę, że nie powinno boleć pomijanie tych kilku punktów danych i generowanie większej liczby próbek, prawda?

Czuję, że wspomnienie o czymkolwiek niepotrzebnie zmyliłoby czytelnika, a zatrzymywanie ich mogłoby go zirytować, ponieważ fabuła miałaby dużą ilość pustej przestrzeni. I oczywiście nie chodzi o to, że próbuję stłumić dowody przeciwko moim badaniom czy coś - odrzucone dane są tylko na korzyść mojego algorytmu.

Czy naruszyłbym tutaj jakiś kodeks etyczny, gdybym po prostu odrzucił te próbki bez wspominania o czymkolwiek, aby moje działki wyglądały ładniej? Czy to nienaukowe? A jeśli tak, czy kogoś to obchodzi?

Czy chodziło Ci o to, że 5 na 10000 było super szybszych?
@scaaahu: Tak. (Czy istnieje inna możliwa interpretacja mojego pytania, której brakuje?)
Nie, chcę się tylko upewnić, że dobrze przeczytałem twoje pytanie. Pięć na 10000 jest niezwykłych. Mogą istnieć inne powody, dla których tak się dzieje.
Czy złamana oś rozwiązałaby twój problem?
@Wrzlprmft: Niezupełnie, zepsuta oś byłaby jeszcze bardziej zagmatwana niż samo jej włączenie ...
Czy pomijanie danych odstających jest nieetyczne / nienaukowe - ** Tak **.
Wow, to pytanie ma o wiele więcej wyświetleń, niż się spodziewałem ...
Osiem odpowiedzi:
jakebeal
2015-08-30 17:54:57 UTC
view on stackexchange narkive permalink

Nauka ma na celu objawienie i wgląd. Zanim będziesz mógł nawet rozważyć upuszczenie tych próbek, musisz zrozumieć, dlaczego one istnieją.

Powód jest taki, że nieoczekiwanie „dobre” dane mogą być tak samo oznaką problemów z twoją teorią, jak nieoczekiwanie złe dane. Czy te punkty danych mówią ci, że masz błąd w swoim algorytmie? Czy mówią, że oprzyrządowanie, którego używałeś do pomiaru czasu, było zawodne lub nieprawidłowo skalibrowane? A może chodzi o to, że w pewnych okolicznościach przypadkowe problemy są niezwykle łatwe do rozwiązania? Mogą istnieć również inne możliwości.

Jeśli nie możesz określić, dlaczego istnieją wartości odstające, musisz je uwzględnić, aby pomóc czytelnikowi ocenić Twoją pracę. Jeśli stwierdzisz, że istnieją z problematycznego powodu, to cóż, nie jesteś jeszcze gotowy do publikacji. Jeśli stwierdzisz, że istnieją z łagodnego powodu, możesz usunąć je z rysunku, ale musisz dokładnie wyjaśnić, co zrobiłeś w tekście i dlaczego, inaczej ryzykujesz wprowadzeniem czytelnika w błąd.

Ostatecznie dane, które otrzymałeś, są danymi, które masz i musisz się z nimi uczciwie obchodzić.

... problemy z twoją teorią lub z eksperymentem. Pamiętaj, że „nie mogę tego wyjaśnić” to miejsce, w którym znajdują się prawdziwe odkrycia.
Uważam, że przynajmniej należy sprawdzić, czy wartości odstające są odtwarzalne przez ponowne uruchomienie tych samych danych wejściowych - nawet jeśli dane wejściowe zostały * wygenerowane * „losowo”, prawdopodobnie można je zapisać i ponownie wykorzystać. Jeśli nie można ich odtworzyć i nie możesz wyjaśnić dlaczego, następne pytanie, które należy zadać, może brzmieć „czy którykolwiek z wyników w ogóle cokolwiek pokaże”.
Ponadto: przeprowadzono kilka badań, w których to, co wydawało się być wartościami odstającymi, było w rzeczywistości * prawidłowymi danymi *. Żałuję, że nie pamiętam ich z głowy, ale przeczytałem o tym coś w ciągu ostatniego roku.
@keshlam: [Wielkie odkrycia nie oznaczają „Eureka!” Mówią „Hę, to zabawne.”] (Http://www.schlockmercenary.com/2002-05-28)
Anonymous Mathematician
2015-08-30 17:49:41 UTC
view on stackexchange narkive permalink

Czy to nienaukowe?

Tak. Celem tych wykresów nie jest pokazanie, że algorytm jest szybki, ale raczej przedstawienie dokładnego obrazu jego szybkości. Celowe usuwanie wartości odstających bez wyjaśnienia daje zniekształcony obraz. W porządku, jeśli masz jasność co do tego (na przykład wyjaśnienie w podpisie lub tekście o wartościach odstających, które zostały usunięte i dlaczego), ale nie, jeśli zrobisz to po cichu.

Te wartości odstające mogą naprawdę mieć znaczenie:

  1. Może wskazują one na błąd w kodzie, w którym to przypadku usunięcie ich wyglądałoby tak, jakbyś celowo ukrywał niechlujną pracę.

  2. Wyjaśnienie wartości odstających może być naukowo interesujące i ważne (być może mogłoby doprowadzić do jeszcze szybszego algorytmu), ale nikt nie będzie próbował, jeśli nawet nie wie, że tam są.

  3. Jeśli ktoś inny zaimplementuje algorytm i porówna jego wyniki z Twoimi, może tracić czas na próbę zrozumienia, dlaczego ma wartości odstające, a Ty nie.

Zwłaszcza w przypadku algorytmów, w których ważna jest wydajność skrajnych przypadków, pogląd, że można wyrzucić wartości odstające, jest ... trochę problematyczny.
@Fomite: Cóż, mój pomysł był taki, że najgorsze przypadki są prawie zawsze interesujące, ale najlepsze przypadki są rzadko, ponieważ łatwo jest sprawić, by algorytm miał „szybką ścieżkę” zwracania odpowiedzi na łatwe zapytania. Na przykład wyobraź sobie, że próbujesz posortować listę, tylko po to, aby stwierdzić, że lista została już posortowana. Wtedy nie musiałbyś robić nic więcej, a algorytm kończyłby się w takich przypadkach znacznie szybciej. Ale (chyba że twój algorytm jest rekurencyjny) ten najlepszy czas wykonywania nie byłby interesujący podczas testowania wydajności algorytmu sortowania, więc możesz spróbować go wykluczyć.
@Mehrdad posiadanie takiego algorytmu może być przydatne w sytuacji, gdy spodziewasz się, że listy będą uporządkowane przez większość czasu, ale nie zawsze. Najlepsze przypadki są rzeczywiście interesujące i, jak sugerują twoje własne testy, nie są tak wymyślone (raz na dwa tysiące przypadkowych przypadków).
@Davidmh: Nigdy nie zaprzeczałem użyteczności * posiadania * takiego algorytmu. Zaprzeczałem użyteczności * wykreślania * najlepszego przypadku zachowania takiego algorytmu w wielu (nie wszystkich) przypadkach. Utrudnia to sensowne porównanie algorytmu z innymi algorytmami, chyba że z jakiegoś powodu spodziewasz się, że listy będą uporządkowane przez większość czasu, czego zazwyczaj nie robisz.
Peter
2015-08-30 17:40:43 UTC
view on stackexchange narkive permalink

Tak. Dla praktycznego scenariusza wyobraź sobie kogoś, kto próbuje powtórzyć twoje badania, kieruje się tylko twoją pracą i bije się po głowie myśląc, że ma błąd, ponieważ ich fabuła pokazuje te dziwne wartości odstające.

Zasadniczo masz aby przekazać ludziom wszystkie informacje, ponieważ nie wiesz, jak wykorzystają Twój artykuł. Prawdopodobnie większość czytelników nie będzie przejmować się wartościami odstającymi i prawdopodobnie oceniliby tę samą metodę, ale to nie Ty decydujesz.

Oczywiście musisz odfiltrować szum , jakoś. Zazwyczaj sztuczka polega na tym, aby dowiedzieć się, jak przekazać czytelnikowi wszystkie informacje, jednocześnie pozwalając mu skupić się na tym, co ważne. W twoim przypadku powiedziałbym tylko w podpisie do wykresu, że 5 przebiegów algorytmu było tak szybkich, że wykraczały poza skalę wykresu (lub coś podobnego).

+1 za pierwszy akapit. To bardziej przekonujące niż znajdowanie niektórych innych odpowiedzi.
BrenBarn
2015-08-31 01:23:05 UTC
view on stackexchange narkive permalink

Kluczową kwestią nie jest to, czy usuwasz wartości odstające, ale czy opisujesz i wyjaśniasz, co zrobiłeś. Istnieje wiele ważnych powodów, aby usunąć wartości odstające, ale jeśli to zrobisz, musisz powiedzieć, że to zrobiłeś i wyjaśnić dlaczego.

W przeciwieństwie do niektórych innych odpowiedzi tutaj, nie sądzę, absolutnie konieczne, aby w pełni wyjaśnić wartości odstające przed ich wykluczeniem. Ale jeśli nie masz wyjaśnienia, musisz to też powiedzieć. Najlepiej byłoby, gdybyś wyjaśnił wyniki zarówno z wartościami odstającymi, jak i bez nich. Jeśli obecność lub brak wartości odstających nie wpływa na ogólny wniosek, to nadal możesz trzymać się tego wniosku, wymieniając wartości odstające jako ciekawostkę, być może wartą dalszych badań.

Oczywiście, jak z tych strategii będą rozpatrywane przez recenzentów w zależności od dziedziny i miejsca publikacji. Ale ci recenzenci muszą być świadomi wszelkich wyborów dokonanych podczas analizy. Odrzucanie wartości odstających jest wyborem analitycznym, a dokonywanie wyboru analitycznego bez ujawniania tego jest nienaukowe.

Nzall
2015-08-30 20:41:04 UTC
view on stackexchange narkive permalink

Jako osoba z mniejszym wykształceniem akademickim, ale z wyższym wykształceniem informatycznym, moim pierwszym odruchem, że mała liczba testów kończy się niepowodzeniem, jest to, że te testy nie zostały wykonane poprawnie. Zasadniczo twój algorytm nie zakończył działania i wrócił wcześniej z powodu błędu. Ten błąd może znajdować się w kodzie, w zestawie danych lub w obu. Tak czy inaczej, różnica rzędów wielkości nie jest normalna. Sprawdź wyniki tych konkretnych przebiegów i zobacz, czy są normalne. Z tego, co wiemy, tych 5 punktów danych może faktycznie działać poprawnie, a te 9995 innych punktów danych to te z błędami (mało prawdopodobne, ale możliwe).

Jeśli chodzi o wyświetlanie tych wartości odstających, czy rozważałeś wyświetlenie tego wykres z log (10) osią Y? Zmniejszyłoby to ilość marnowanego miejsca, ale nadal pokazywałoby, że istnieją wartości odstające.

Tak czy inaczej, usunięcie punktów danych ze względu na powód formatowania jest fałszowaniem danych, tak jak w przypadku ich usunięcia, ponieważ nie udowodniły twój punkt widzenia. Może łatwo zabić twoją karierę.

@Mehrdad może być trochę ekstremalne, ale na pewno nie pomogłoby to twojej karierze. Zasadniczo usuwasz punkty danych, ponieważ nie pasują one do Twojego wyobrażenia o tym, jak powinny wyglądać dane. To wskazuje, że myślisz, że twój pomysł jest ważniejszy niż rzeczywistość, co jest sprzeczne z tym, o co chodzi w nauce: generowaniu dokładnej reprezentacji rzeczywistości.
Zwykle ukryte lub zniekształcone dane doganiają sprawcę z nieprzyjemnymi skutkami. Jeśli chcesz zaryzykować, to zależy od Ciebie. Ogólnie rzecz biorąc, ludzie z twojej branży, którzy są twoimi konkurentami, będą dużo mniej mili niż ludzie na tej stronie. Z przyjemnością udowodnią, że się mylisz, jeśli tym właśnie jesteś. Jak powiedzieli inni, musisz być w stanie * wyjaśnić * wartości odstające lub nie jesteś gotowy do publikacji.
@Nzall Czytając to pytanie, OP nie usuwał punktów danych, ponieważ nie pasowały do jego wyobrażenia o tym, jak powinny wyglądać dane.Kiedy uruchamiasz program wiele razy z różnymi wartościami wejściowymi, możesz nieoczekiwanie mieć pewne dane, które przechodzą prosto przez wszystkie gałęzie jeśli-to-inne i struktury zapętlone, takie jak biegunka.Jeśli nie ma nic złego w tych wartościach wejściowych i nie ma nic niewygodnego w tych wynikach czasu, a dołączenie tych konkretnych grafik niepotrzebnie zaśmieca papier, to nie widzę problemu z * nie wybraniem * tych ...
... konkretne wątki do umieszczenia w artykule.Kiedy słyszymy „odstający”, czasami wyciągamy pochopne wnioski.Przed wyciągnięciem wniosków pomocne może być zbadanie, co dokładnie oznacza „wartość odstająca”.
@aparente001 Jeśli masz dane, które wpadają przez pęknięcia i dają nieoczekiwane wyniki, powinieneś zobaczyć, dlaczego te pęknięcia wypadają i dlaczego dają takie wyniki.Ekstremalne wartości odstające mogą wskazywać na błąd w algorytmie przetwarzania danych, który czasami może nawet zmienić wynik tego samego algorytmu zastosowany do innych punktów danych.
@Nzall - W tym przypadku nie są to jednak nieoczekiwane rezultaty, prawda?Zrozumiałem, że niektóre wartości wejściowe przypadkowo przyjmują wszystkie krótkie gałęzie diamentów „jeśli-to-inaczej”.(„Spadaj przez pęknięcia” nie jest tym, o czym mówiłem).
@aparente001 Jako informatyk, dane wejściowe, które „przypadkowo” zajmują wszystkie krótkie gałęzie, najprawdopodobniej nie będą przetwarzane w taki sam sposób jak inne dane i jako takie mogą nie być przetwarzane prawidłowo.To, co powiedziałem, technicznie nie różni się zbytnio od większości innych odpowiedzi, które uzyskały więcej głosów niż ja.
@Nzall - To prawda, że Twoja odpowiedź jest podobna do innych.Twój jest nowy, a twój przyjmuje silniejszą postawę.(Zakładam, że dlatego to napisałeś - chciałeś pójść dalej niż poszły inne odpowiedzi.) // Słuchaj, jeśli zaproponuję algorytm, który zachowuje się absurdalnie dobrze z niewielkim ułamkiem danych wejściowych, które zostały wygenerowane losowo, a jaodmówię przedstawienia tych konkretnych wyników wydajności na poparcie mojego twierdzenia, że mój algorytm jest szybszy od innych, czyli bardzo różni się od pominięcia podzbioru wyników wydajności, które obalają moje twierdzenie.// Pomyśl o schemacie blokowym.Powiedzmy ...
... dla uproszczenia mamy schemat blokowy, który zawiera serię „jeśli taki a taki, zrób to lub tamto, w przeciwnym razie nie rób nic”, a niektóre losowo generowane dane zdarzają się trafiać w większość lub wszystkie zinne rozgałęzienia, w ten sposób śmiesznie szybko przebijające się przez schemat blokowy (tam użyłem metafory biegunki), czy to oznacza, że algorytm nie jest dobry?Oto inny sposób spojrzenia na to.Wyobraź sobie drzewo decyzyjne, w którym niektóre gałęzie zawierają bardzo mało pętli, a czasami dane wejściowe nieoczekiwanie przechodzą przez te konkretne gałęzie.Czas działania dla tych konkretnych ...
... dane wejściowe mogą być śmiesznie krótkie.// Teraz to prawda, że w tym przypadku dobrym pomysłem może być skonfigurowanie programu tak, aby wykonywał algorytm dziesięć razy z rzędu - zawsze.Ale to nie wyeliminowałoby tych wartości odstających.// Jeśli Twój komentarz „bierze wszystkie krótkie gałęzie, najprawdopodobniej nie zostanie przetworzony w taki sam sposób, jak inne dane” - byłoby nieetyczne pominięcie procesu testowania i weryfikacji.Nie mamy powodu sądzić, że OP skąpił na swoich testach;mamy wskazówki, że pochylił się do tyłu, aby uniknąć zrobienia czegoś nieetycznego.
JJK
2015-08-30 19:35:41 UTC
view on stackexchange narkive permalink

Aby być pragmatycznym (i zgadzać się z ogólną filozofią bycia zawsze w pełni przejrzystym), po prostu zrób swoje wykresy w miejscu z wykluczonymi wartościami odstającymi, a następnie umieść duży przypis na wykresie wyjaśniający, że 5 punktów zostało wykluczonych ze względu na rozmiar ograniczenia na stronie i zamieszczaj tam komentarze o tym, dlaczego / jak te punkty istnieją. Tylko moje 2 centy od jednego cierpiącego naukowca do drugiego ...

jak wspomniano w innych odpowiedziach, obecność tych wartości odstających może być interesująca sama w sobie, chyba że jest to błąd. Lepiej jest spróbować pokazać wszystko właściwie, niż je ukrywać, nawet wspominając.
Vectornaut
2015-09-01 10:10:24 UTC
view on stackexchange narkive permalink

Zawsze warto zmienić wykresy, aby dane wyglądały wyraźniej. Zmiana danych, aby wykresy wyglądały jaśniej, nigdy nie jest dobrym pomysłem.

Istnieje wiele sposobów informowania czytelników o wartościach odstających. Moim ulubionym jest użycie wykresu z widocznie złamaną osią, która zwraca uwagę na wartości odstające bez zakłócania reszty wykresu.

Dobrze, że obawiasz się pomieszania twoi czytelnicy. Powinieneś dokładnie przemyśleć, jak ostrzec swoich czytelników o takich szczegółach, nie odrywając ich od historii, którą próbujesz opowiedzieć. Jednak, jak radziło ci wielu innych, nigdy nie powinieneś ignorować danych po cichu, aby twoja historia brzmiała prostsza niż w rzeczywistości. Może to trochę ułatwić czytanie twojego artykułu, ale tylko potencjalnym kosztem uniemożliwiającym jego odtworzenie (jak powiedział Peter) lub wyrzuceniem dziwnego szczegółu, który okazałby się być ważną wskazówką (jak powiedział keshlam).

Michael Kay
2015-09-02 04:01:56 UTC
view on stackexchange narkive permalink

Jeśli rozumiesz przyczynę wartości odstających i reprezentują one wadę metodologii pomiaru, popraw błąd i powtórz eksperyment z ulepszonym oprzyrządowaniem. Nie musisz publikować szczegółów wszystkich ślepych zaułków, w które poszedłeś. Jeśli nie rozumiesz przyczyny wartości odstających, ignorowanie ich jest nieetyczne, chociaż jestem pewien, że jest to bardzo częste. Jeśli rozumiesz przyczynę, np. czasami algorytm po prostu ma szczęście, wtedy musisz o nich wspomnieć, ale nie muszą pojawiać się na tym samym wykresie, co wszystkie inne pomiary, jeśli to uczyniłoby wykres nieczytelnym.

Ponowne wykonanie eksperymentu może kosztować miliony. Robienie tego tylko dla kilku punktów danych wydaje się śmieszne i wtedy lepiej jest skorzystać z analizy statystycznej.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...