Reprezentowanie danych eksperymentalnych


9

Kłócę się z moim doradcą o wizualizację danych. Twierdzi, że reprezentując wyniki eksperymentalne, wartości należy narysować wyłącznie „ markerami ”, jak pokazano na poniższym obrazie. Podczas gdy krzywe powinny reprezentować tylko „ model

Markers.png

Z drugiej strony uważam, że krzywa jest w wielu przypadkach niepotrzebna w celu ułatwienia czytelności, jak pokazano na drugim obrazku poniżej:

Linie.png

Czy się mylę czy mój profesor? Jeśli tak jest w późniejszym przypadku, w jaki sposób mogę mu to wyjaśnić.


5
Punkty to dane. Krzywe, które pasują do punktów, nie są danymi. Więc jeśli masz zamiar pokazać dane ...

3
Jak mówi JeffE. Mówiąc dokładniej: narysowane krzywe modelem, ponieważ przy ich rysowaniu przybierałeś określony kształt i miałeś pewne uzasadnienie dla tego kształtu. Takie rozumowanie opiera się na określonym modelu.
gerrit

1
Złożyłem wniosek o migrację; to naprawdę należy do crossvalidated, nie tutaj.

2
Myślę, że może to być temat na CrossValidated, ale zdecydowanie jest to również tutaj . Migrację należy brać pod uwagę tylko wtedy, gdy jest poza tematem (istnieją pytania, które byłyby na ten temat na dwóch stronach, w porządku). To prawdziwe pytanie z prawidłowymi odpowiedziami, jest zdecydowanie istotne dla wielu naukowców.

2
Twój drugi wykres jest wątpliwy. Jeśli połączyłeś punkty z liniami prostymi, możesz (być może) argumentować za wizualną przejrzystością. Ale używając krzywej, twierdzisz, że szczyt niebieskiej linii wynosi 740 °, a minimalna fioletowa linia wynosi 840 °, nawet jeśli nie masz danych eksperymentalnych w tych temperaturach. Wprowadzenie wartości min./maks. Poza zmierzonymi danymi jest czerwoną flagą.
Darren Cook

Odpowiedzi:


10

Podoba mi się ta zasada:

Jeśli potrzebujesz, aby poprowadzić linię oka (tj wykazują tendencję, że bez linii nie byłyby widoczne jako jasno), należy nie umieścić linię.

Ludzie są bardzo dobrzy w rozpoznawaniu wzorców (raczej jesteśmy po stronie dostrzegania trendów, które nie istnieją, niż przegapienia istniejącego trendu). Jeśli nie jesteśmy w stanie uzyskać trendu bez linii, możemy być całkiem pewni, że żaden zestaw trendów nie zostanie ostatecznie pokazany w zbiorze danych.

Mówiąc o drugim wykresie, jedynym wskaźnikiem niepewności punktów pomiarowych są dwa czerwone kwadraty C: O 1,2 przy 700 ° C. Rozprzestrzenienie się tych dwóch oznacza, że ​​nie zaakceptowałbym np

  • że w ogóle istnieje trend dla C: O 1.2
  • że istnieje różnica między 2,0 a 3,6
  • i na pewno zakrzywione modele przeładowują dane.

bez podania bardzo dobrych powodów. Byłby to jednak znowu model.


edycja: odpowiedz na komentarz Ivana:

Jestem chemikiem i powiedziałbym, że nie ma pomiaru bez błędu - to, co jest dopuszczalne, zależy od eksperymentu i przyrządu.

Ta odpowiedź nie jest sprzeczna z pokazywaniem błędu eksperymentalnego, ale wszystkim do pokazywania i uwzględniania go.

Moje rozumowanie polega na tym, że wykres pokazuje dokładnie jeden powtarzany pomiar, więc gdy dyskusja dotyczy stopnia złożoności modelu (tj. Linii poziomej, linii prostej, kwadratu ...), może to dać nam wyobrażenie o pomiarze błąd. W twoim przypadku oznacza to, że nie byłbyś w stanie dopasować znaczącego kwadratu (splajnu), nawet gdybyś miał twardy model (np. Równanie termodynamiczne lub kinetyczne) sugerujący, że powinien być kwadratowy - po prostu nie masz wystarczającej ilości danych .

Aby to zilustrować:

df <-data.frame (T      =         c ( 700,  700,  800, 900,  700, 800, 900, 700, 800, 900), 
                 C.to.O = factor (c ( 1.2,  1.2,  1.2, 1.2,  2  , 2  , 2  , 3.6, 3.6, 3.6)),
                 tar    =         c (21.5, 18.5, 19.5, 19,  15.5, 15 , 6  , 16.5, 9, 9))

Oto dopasowanie liniowe wraz z 95% przedziałem ufności dla każdego ze współczynników C: O:

ggplot (df, aes (x = T, y = tar, col = C.to.O)) + geom_point () + 
    stat_smooth (method = "lm") + 
    facet_wrap (~C.to.O)

model liniowy

Należy zauważyć, że dla wyższych współczynników C: O przedział ufności wynosi znacznie poniżej 0. Oznacza to, że domniemane założenia modelu liniowego są błędne. Można jednak stwierdzić, że modele liniowe dla wyższej zawartości C: O już się pokrywają.

Cofając się i dopasowując tylko stałą wartość (tj. Brak zależności T):

ggplot (df, aes (x = T, y = tar, col = C.to.O)) + geom_point () + 
    stat_smooth (method = "lm", formula = y ~ 1) + 
    facet_wrap (~C.to.O) 

brak zależności T.

Uzupełnieniem jest modelowanie braku zależności od C: O:

ggplot (df, aes (x = T, y = tar)) + geom_point (aes (col = C.to.O)) + 
    stat_smooth (method = "lm", formula = y ~ x) 

brak zależności C: O

Mimo to przedział ufności obejmowałby linie poziome, a nawet lekko wznoszące się.

Możesz spróbować i spróbować np. Zezwolić na różne przesunięcia dla trzech stosunków C: O, ale stosując równe nachylenia.

Jednak już kilka innych pomiarów drastycznie poprawiłoby sytuację - zwróć uwagę, o ile węższe są przedziały ufności dla C: O = 1: 1, gdzie masz 4 pomiary zamiast tylko 3.

Wniosek: jeśli porównasz moje punkty, do których wniosków jestem sceptyczny, zbytnio czytają w kilku dostępnych punktach!


robisz bardzo dobry punkt. Jednak w inżynierii błąd eksperymentalny (niepewność) jest bardzo powszechny i ​​zakłada się, że dopuszczalny jest błąd względny 3 ~ 5%. Nadal muszę wyświetlać wyniki MAX, MIN i AVG. Tak więc w moim przypadku markery są kończynami, a linia jest średnią.
Ivan P.

bardzo dobry i niezwykle pomocny przykład (zainteresowałeś mnie R). Więc oczywiście właściwą rzeczą jest zdobycie większej liczby punktów danych.
Ivan P.

12

Jak mówi JeffE: punkty to dane . Ogólnie rzecz biorąc, dobrze jest unikać dodawania krzywych w jak największym stopniu. Jednym z powodów dodania krzywej jest to, że wykres jest ładniejszy dla oka, dzięki czemu punkty i trend między punktami są bardziej czytelne. Jest to szczególnie prawdziwe, jeśli masz niewiele punktów danych.

Istnieją jednak inne sposoby wyświetlania rzadkich danych , które mogą być lepsze niż wykres rozproszenia. Jedną z możliwości jest wykres słupkowy, w którym różne słupki są znacznie bardziej widoczne niż pojedyncze punkty. Kolorowy kod (podobny do tego, który masz już na rysunku) pomoże zobaczyć trendy w każdej serii danych (lub serie danych mogą zostać podzielone i przedstawione obok siebie na mniejszych pojedynczych wykresach słupkowych).

Wreszcie, jeśli naprawdę chcesz dodać jakąś linię między symbolami, istnieją dwa przypadki:

  1. Jeśli oczekujesz, że określony model będzie poprawny dla twoich danych (liniowy, harmoniczny, cokolwiek), powinieneś dopasować swoje dane do modelu, wyjaśnić model w tekście i skomentować zgodność między danymi a modelem.

  2. Jeśli nie masz żadnego rozsądnego modelu danych, nie powinieneś uwzględniać dodatkowych założeń na swoim wykresie. W szczególności oznacza to, że nie należy umieszczać żadnego rodzaju linii między punktami z wyjątkiem linii prostych. Ładne interpolacje „dopasowania do splajnu”, które Excel (i inne oprogramowanie) mogą rysować, są kłamstwem . Nie ma żadnego uzasadnionego powodu, aby Twoje dane były zgodne z tym konkretnym modelem matematycznym, dlatego powinieneś trzymać się odcinków linii prostych.

    Co więcej, w takim przypadku może być fajnie dodać zastrzeżenie gdzieś w podpisie do figury, np. „Linie to tylko wskazówki dla oka”.


2
To doskonała rada bez komentarza, że ​​paski są bardziej odpowiednie. Aby zapoznać się z podobną dyskusją związaną z tym, zobacz Alternatywne grafiki do wykresów „obsługi pasków” . Wyobraźmy sobie wykres wymieniony przez PO jako klastrowy wykres słupkowy, bardzo trudno byłoby wyobrazić sobie trend w różnych zakresach temperatur. Sposobem na uczynienie punktów bardziej widocznymi jest drżenie ich wzdłuż osi x, a praca Clevelanda sugerowałaby, że powinniśmy preferować punkty od słupków.
Andy W

@Andy W, co rozumiesz przez „drżenie ich wzdłuż osi X”?
Ivan P.,

1
@ IvanP., Mam na myśli, zamiast robić punkty przymocowane do tej konkretnej wartości na odciętej, aby przesunąć je lekko w prawo lub w lewo, aby punkty się nie zakryły. Z pozostałej części wykresu powinno być jasne, że tak naprawdę odnoszą się one do dokładnych wartości dla grup na osi x, a niewielkie drgania nie powinny mieć wpływu na wizualizację trendu między wartościami.
Andy W

6

1-Twój profesor ma rację.

2-Twoja fabuła zdecydowanie nie zwiększa czytelności IMHO.

3-Z mojego zrozumienia nie jest to właściwe forum, aby naprawdę zadawać tego rodzaju pytania i należy je zadawać podczas weryfikacji krzyżowej.


Chciałbym wiedzieć, gdzie jest problem z czytelnością, a wszelkie sugestie dotyczące poprawy są bardzo mile widziane
Ivan P.

1

Czasami łączenie punktów ma sens, szczególnie jeśli są bardzo gęste.

A wtedy sensowna może być interpolacja (np. Za pomocą splajnu ). Jeśli jednak jest to coś bardziej zaawansowanego niż splajn rzędu pierwszego (dla którego wyraźnie widać, że to tylko łączenie punktów), musisz o tym wspomnieć.

Jednak w przypadku kilku punktów lub tuzina punktów tak nie jest. Po prostu zostaw punkty takimi, jakie są, ze znacznikami. Jeśli chcesz dopasować linię (lub inną krzywą), jest to model. Możesz to dodać, ale bądź wyraźny - np. „Linia reprezentuje dopasowanie regresji liniowej”.


0

Myślę, że zdarzają się przypadki, w których nie proponuje się wyraźnego modelu, a mimo to potrzebuje jakiegoś przewodnika dla oka. Moją zasadą jest zatem unikanie krzywych takich jak plaga i trzymanie się prostych odcinków między kolejnymi punktami serii.

Po pierwsze, założenie to jest bardziej oczywiste dla czytelników. Spiczasty jest również dobry w powstrzymywaniu czytelników przed zakładaniem trendów nieobsługiwanych przez dane. Jeśli w ogóle, to tylko podkreśla hałas i wartości odstające.

Obawiam się, że pobieżne (nie rygorystyczne, nieprecyzyjne) jest użycie splajnów, kwadratów, regresji itp. Bardzo często sprawia to wrażenie, że istnieją trendy, których nie ma. Dobrym przykładem nadużyć są krzywe narysowane przez @Ivan. W przypadku 3 punktów danych nie sądzę, aby jakiekolwiek maksima lub minima w modelu bazowym były oczywiste.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.