Arkadaşınızsanız bu tür veri görselleştirmelerini yaptırmazsınız: 16 kötü grafik türü ve nedenleri
(github.com/cxli233)- Bilimsel makalelerde ve veri analizinde sık kullanılsa da hatalı görselleştirme uygulamalarından 16’sını örneklerle derleyen bir GitHub deposu; R kodu ve simülasyon verileriyle her örnek doğrudan yeniden üretilebiliyor
- Çubuk grafiklerle ortalama karşılaştırmasının yanlış kullanımı, küçük örneklemde violin plot, tek yönlü veriye çift yönlü renk ölçeği uygulama gibi verinin dağılımını ve özelliklerini çarpıtan görselleştirmeleri somut olarak işaret ediyor
- Heatmap’lerde satır/sütun yeniden sıralamasının atlanması, aykırı değerlerin kontrol edilmemesi, pasta grafikler ve eş merkezli donut grafiklerin temel sınırlamaları gibi insanın görsel algı özelliklerini dikkate almayan grafik türlerinin sorunlarını açıklıyor
- Konum tabanlı görselleştirme ile uzunluk tabanlı görselleştirmenin karıştırılması, ekseni kesilmiş çubuk grafikler gibi yanlış anlamaya yol açan yapısal tasarım hatalarına dair uyarılar içeriyor
- Veri görselleştirmeyle çalışan tüm araştırmacı ve geliştiricilerin başvurabileceği pratik bir antipattern derlemesi; her madde için alternatif görselleştirme yöntemleri de sunuluyor
1. Ortalamaları çubuk grafikle karşılaştırmayın
- Ortalama karşılaştırma (means separation) grafikleri, bilimsel makalelerde en yaygın görselleştirmelerden biridir; amaç iki veya daha fazla grubun ortalamasını, varyansını ve dağılımını göstermektir
- Örnekte iki grup benzer ortalama ve standart sapmaya sahip olsa da dağılımları tamamen farklıdır — yalnızca çubuk grafikle bu farkı tespit etmek mümkün değildir
- Çubuk grafik kullanmadan önce verinin dağılımı mutlaka kontrol edilmelidir; Weissgerber et al. (2015, PLOS Biology) de çubuk grafiklerin sınırlılıklarına dikkat çeker
2. Küçük örneklemde violin plot kullanmayın
- Violin plot veya yumuşatılmış dağılım eğrileri, örneklem büyüklüğü küçük olduğunda anlamlı değildir
- Küçük örneklemde aynı gözlem değerleriyle bile dağılım ve çeyreklikler büyük ölçüde değişir; çeyrekliklerin kararlı hâle gelmesi için n’nin 50 veya üzeri olması gerekir
- Bu durum, aynı normal dağılımdan birden fazla kez örnekleme yapıp çeyreklikleri karşılaştıran deney sonuçlarıyla gösterilir
3. Tek yönlü veride çift yönlü renk ölçeği kullanmayın
- Renk ölçeğinde en koyu ve en açık renkler maksimum, minimum, ortalama, 0 gibi anlamlı değerleri temsil etmelidir
- En açık veya en koyu rengin rastgele bir sayıyı temsil etmesi, “çubuk grafikte en uzun çubuğun maksimum değer olmaması” kadar ciddi bir hatadır
- Heatmap/renk gradyanı kullanırken verinin yönüne (tek yönlü vs. çift yönlü) uygun renk ölçeği seçmek şarttır
4. Çubuk grafik çayırı (Bar Plot Meadow) oluşturmayın
- Çok faktörlü deney sonuçlarını çubuk grafiklerle yan yana dizmek, “çubuk grafik çayırı”na dönüşür ve sonuçları aktarmada verimsizdir
- Çok faktörlü deney sonuçlarını etkili aktarmak için ilgi duyulan faktörlere göre gruplama/facetleme dikkatle tasarlanmalıdır
- Örnekte Treatment ve Explant’ın Response üzerindeki etkisi Variety düzeyinde karşılaştırılır; analiz odağına göre yerleşimin değişmesi gerektiği vurgulanır
5. Heatmap’te satır/sütun yeniden sıralamasını göz ardı etmeyin
- Heatmap’ler bilimsel makalelerde, özellikle omics makalelerinde çok yaygındır; ancak satır ve sütun sırası yeniden düzenlenmezse yararlı bilgi çıkarmak mümkün değildir
- Kümeleme ile yeniden sıralama yaygındır ama tek yöntem değildir; 96 kuyucuklu plaka gibi fiziksel yerleşimi gösteren durumlarda yeniden sıralama yapılamaz
- Satır/sütun yeniden sıralaması uygun renk gradyanıyla birleştirildiğinde görsel olarak da güzel heatmap’ler üretilebilir
6. Heatmap’te aykırı değerleri kontrol etmeden geçmeyin
- Aykırı değerler heatmap’in algılanışını ve yorumunu tamamen değiştirebilir; bu, sayısal veriyi renkle ifade eden tüm görselleştirmeler için geçerli bir sorundur
- Örnekte 20 özelliği ölçülen 2 gözlem, aykırı değerler kontrol edilmediğinde genel olarak benzer görünür; ancak renk ölçeği 95. persentile göre ayarlandığında tüm özelliklerde farklar ortaya çıkar
7. Her faktör düzeyi için veri aralığını kontrol edin
- Çok faktörlü deneylerde tepki değişkeninin aralığının faktör düzeylerine göre büyük ölçüde değişmesi yaygındır
- Varsayımsal bir deneyde 3 bileşik 2 grup (kontrol vs. tedavi) üzerinde ölçülür; bileşik 1’in konsantrasyon aralığı diğer bileşiklerden çok daha dar olduğu için tedavi etkisini kaçırma riski vardır
- Her bileşik için veri aralığı önceden kontrol edilmezse önemli tedavi etkileri gözden kaçabilir
8. Ağ grafiğinde birden fazla yerleşim deneyin
- Ağ grafiğinin görünümü (topoloji değil, yerleşim) etkinliğini büyük ölçüde etkiler
- Aynı veriden üretilen 3 ağ grafiği tamamen farklı görünür; 9 farklı yerleşimin uygulandığı bir örnek de yer alır
- Yerleşime bağlı olarak ağın yorumlama zorluğu ciddi biçimde değiştiğinden birden fazla yerleşim denenmelidir
9. Konum tabanlı ve uzunluk tabanlı görselleştirmeyi karıştırmayın
- Nokta/çizgi grafiklerde değerler x ve y eksenlerindeki konumla, çubuk grafiklerde ise x ekseninden olan mesafe (uzunluk) ile ifade edilir
- Örnekte sıfırdan başlamayan bir çubuk grafik, zaman noktası 2’deki çubuğun uzunluğunu zaman noktası 1’in yaklaşık 3 katı gibi gösterir; oysa gerçek ortalama farkı yaklaşık 1,6 kattır — uzunluk ile konumu karıştırmak yanıltıcı grafikler üretir
-
Ekseni kesilmiş (Broken Axis) çubuk grafiklere dikkat
- Eksen kesme, geniş aralıktaki sayıları ifade ederken kullanışlıdır (alternatif olarak log ölçekli eksen kullanılabilir), ancak yalnızca konum tabanlı grafiklerde uygundur
- Çubuk grafikte eksen kesme konumu değiştirildiğinde belirli bir çubuğun daha uzun veya daha kısa görünmesine yol açan optik yanılsama oluşur
- Örnekte “d” çubuğunun uzunluğu eksen kesme konumuna göre çok farklı görünür; bunun nedeni çubuk grafiğin uzunluk tabanlı bir grafik olmasıdır
10. Pasta grafik yapmayın
- Pasta grafik, oran verilerini dairesel dilimlere bölerek gösterir; ancak insanlar uzunluğu okumada açı ve alana kıyasla çok daha başarılıdır
- 2 grup ve her birinde 4 alt kategori bulunan örnekte pasta grafikle gruplar arası karşılaştırma yapmak çok zordur
- Donut grafikle sadeleştirilse bile veri yay uzunluğuyla ifade edilir; bu yüzden donut’ı açıp stacked bar grafik yapmak karşılaştırma için çok daha etkilidir
- ggplot’ta pasta grafik ve donut grafik script’leri, stacked bar’dan aksine daha karmaşıktır
11. Eş merkezli donut grafik yapmayın
- Eş merkezli donut’ta verinin yay uzunluğuyla ifade edildiğini düşünmek kolaydır ama aslında yay açısıyla ifade edilir; insanlar yay açısını okumakta zayıftır
- Dış halkadaki yay uzunluğu iç halkadakinden çok daha uzun olduğundan, Group 2 ve Group 3 aynı değere sahip olsa bile Group 3’ün yay uzunluğu çok daha uzun görünür
- Grup sırası (hangi grubun hangi halkaya yerleştirildiği) grafiğin izlenimini büyük ölçüde etkiler; büyük değerin daha kısa yaya sahip olduğu bir paradoks oluşabilir
- Aynı sorun circos plot gibi dairesel yerleşimler için de geçerlidir; alternatif, donut’ı basitçe açıp stacked bar plota dönüştürmektir
12. Kırmızı/yeşil ve gökkuşağı renk ölçekleri kullanmayın
- Kırmızı-yeşil renk görme bozukluğu (Deuteranomaly) erkeklerde 1/16, kadınlarda 1/256 oranında görülen en yaygın renk körlüğü türüdür
- Kırmızı/yeşil ve gökkuşağı renk ölçekleri renk körü kullanıcılar için sorun yaratır; siyah-beyaz baskıda da bilgi koruması çok düşüktür
- viridis gibi “modern” renk ölçekleri renk körlüğü dostudur, gri tonlamada da güvenlidir ve görsel olarak da üstündür
13. Stacked bar plot’ta yeniden sıralamayı unutmayın
- Stacked bar plot’lar oran verilerini, topluluk yapısını, popülasyon yapısını, admixture analysis sonuçlarını görselleştirmede sık kullanılır
- 100 örnek ve 8 sınıflı örnekte çubuk sırası optimize edilmezse grafikte hiçbir desen ayırt edilemez
- Çubuklar yeniden sıralandıktan sonra desenler çarpıcı biçimde ortaya çıkar; örneklerin gruplandırılması ve sıralama optimizasyonu kritiktir
14. Stacked bar ile ortalama karşılaştırmasını karıştırmayın
- Stacked bar plot toplamı %100 olan oran verilerini, ortalama karşılaştırma grafiği ise ortalamalar arasındaki farkı ve varyansı gösterir; bunlar tamamen farklı görselleştirme görevleridir
- Yaban mersini bitkisi deneyi örneğinde standart stacked bar plot, kimyasal işlemin meyve rengi profilini en olgun aşamaya (dark blue) güçlü biçimde kaydırdığını net olarak gösterir
- Stacked bar üzerine hata çubukları ve noktalar bindirildiğinde hangi hata çubuğu ve noktanın karşılaştırıldığı belirsizleşir; üstteki stack’in hata çubuğu yukarı itildiği için y ekseni yorumu sezgisel olmaz
- Görselleştirmenin ana amacı ortalama karşılaştırması ve varyans ise ayrı bir ortalama karşılaştırma grafiği daha uygundur
15. Küçük örneklemde histogram kullanmayın
- Histogram bazen çubuk grafiğe alternatif olarak önerilse de bin sayısına karşı dayanıklılığı küçük örneklemde çok düşüktür
- Aynı normal dağılımdan n = 10, 100, 1000 ile örnekleme yapıp 10, 30, 50 bin’li histogramlar çizildiğinde, aynı dağılım olmasına rağmen histogram şekli büyük ölçüde değişir
- Küçük örneklemde (n < 30) tüm veri noktalarını doğrudan grafikte göstermek çok daha iyidir; n = 100’de bile bin sayısına göre histogramın görünümü hızla değişir
- Histogramın bin sayısı değişimine dayanıklı hâle gelmesi için örneklem büyüklüğünün yaklaşık 1000 veya üzeri olması gerekir
16. İki tepeli (Bimodal) dağılımlı veride boxplot kullanmayın
- Boxplot medyan ve çeyrekliklere odaklandığından iki tepeli dağılımı (ve çok tepeli dağılımları) doğru ifade edemez
- Boxplot oluşturmadan önce verinin dağılımı mutlaka kontrol edilmelidir
- Küçük-orta örneklem büyüklüklerinde (on binlerin altında), ggbeeswarm paketindeki
geom_quasirandom()kullanılarak tüm veri noktalarını doğrudan göstermek en iyi uygulamadır - Violin plot ve histogram gibi dağılım tabanlı grafikler küçük örneklemde dayanıklı değildir
2 yorum
Yazı başlığı oldukça eğlenceli. Orijinal yazıya bakarsanız örnek grafik de birlikte yer alıyor, bu yüzden incelemesi daha kolay.
Hacker News yorumları
Bir yandan bu içerik oldukça iyi görünüyor.
Diğer yandan bu kötü grafiklerin önemli bir kısmı, veri noktalarının azlığını ya da şüpheli bir temel dağılımı gizlemek için özellikle seçilmiş gibi duruyor.
Bu yüzden “arkadaşınsan böyle bir şey yapmana izin vermem”den çok, “net biçimde göstermek yerine bulanıklaştıran bir grafik görürsen bunun kasıtlı olabileceğinden şüphelen” demeye daha yakın.
Dahil olduğum makaleler arasında tutumu “hemen şimdi gönderelim” olmayanların sayısı 0’dı.
Grafiklerin net olmamasının nedeni çoğu zaman, onları net hale getirmenin zaman ve emek gerektirmesi; akademide de bu ikisi ciddi biçimde kıt. Çirkin ayrıntıları kasıtlı olarak gizleyenler de elbette bazen vardır, ama bu tür kötü görsellerin başlıca kaynağının bu olduğunu düşünmüyorum.
Bazı gruplar uyuyan köpeği dürtme gereği duymuyor, bazı gruplar ise sadece bilmiyor. Araştırma yapmaması gereken insanlar da var ama eğitim yetersiz; ucuz doktora iş gücünü bulmak da kolay değil, bu yüzden durum böyle.
“Arkadaşınsan aykırı değeri maksimum olarak almayan bir ısı haritası yapmasına izin vermezsin” örneği gerçekten çok yaygın. Video oyunlarındaki istatistik görselleştirmelerinde de sık görülüyor.
Strateji ve simülasyon oyunlarında oyuncunun durumu ya da sorunu anlamasına yardımcı olan çok sayıda görselleştirme var; ama ısı haritalarında aykırı değer etkisi yüzünden renk geçişleri sık sık oldukça işe yaramaz hale geliyor.
Örneğin Oxygen Not Included’da sıcaklık görselleştirmesini açtığınızda, volkan gibi bir ısı kaynağı varsa diğer tüm renkler soğuk görünür; ekran çoğunlukla maviye ya da pembemsi kırmızıya döner. 1000°C’lik bir volkan ile biraz fazla ısınmış 270°C’lik bir buhar odasını ayırt edemezsiniz; ikisi de neredeyse tekdüze pembemsi kırmızı olur. Aşırı ısınmış 60°C’lik bir üs bile göreli olarak soğuk kaldığı için mavi görünür; bu yüzden sıcaklık sorunlarını teşhis etmeye yarayan bir ısı haritası olarak neredeyse işe yaramaz.
Aslında sıcaklık değiştikçe renklerin anlamının da değişmesi epey kötü bir fikir gibi geliyor.
Hem sıcak nokta uyarısı olarak çalışıyor hem de aynı anda onları görmezden gelmen gerektiğini hatırlatıyor; gerçekten kullanışlı.
Bir zamanlar HN’de biri, tüm eksenlerin minimum değeri 0 olmayan her grafiğin yanıltıcı olduğunu söylemişti ve bu konuda hararetli bir tartışma çıkmıştı.
İklim değişikliği nedeniyle küresel sıcaklık artışını gösteren bir grafikten bahsediyorduk; o kişi Y ekseni olan sıcaklık 0’dan başlamadığı için grafiğin misleading olduğunu söylemişti. Bunun Fahrenheit 0 mı, Celsius 0 mı, yoksa lanet Kelvin 0 mı olduğunu da bilmiyorum.
Hatta “taban 0 olduğunda görünmeyen bir değişimse, belki de o kadar anlamlı bir değişim değildir?” bile demişti. Bir süre insanlığa olan inancım ezilip büzüldü, ama şimdi daha yüksek bir düzeyde konuşuyor gibiyiz; buna sevindim. 2016~2020 başka bir dönem gibiydi.
25°C’nin 20°C’den “%25 daha sıcak” gibi görünmesine yol açan bir grafik bu anlamda yanıltıcı sayılabilir. Elbette bu, küresel ısınma inkârcılığını haklı çıkarmaz.
Örneğin ilk bulduğum grafik şu: https://religionnews.com/wp-content/uploads/2014/08/61Years-...
İlk bakışta 2/3 oranında azalmış gibi görünüyor; bu da yanıltıcı. Bu tür düşüş grafikleri çoğu zaman gerçek azalma miktarını yansıtmayan görsel bir izlenim veriyor.
Veri görselleştirme üzerine daha fazla okumak isterseniz Edward Tufte’nin The Visual Display of Quantitative Information kitabı mükemmel bir başvuru kaynağıdır. İlk kez 1983’te yayımlanmış bir klasik olsa da bugün hâlâ anlamlı
Ancak yazının merkezindeki “bilgiye kıyasla mürekkep oranını maksimize edin” önermesi çok makul görünse de temelde kusurlu. Çünkü mürekkep miktarı, ekranda ise siyah piksel sayısı, görsel karmaşıklık ile aynı şey değildir. Beyin görsel bilgiyi yorumlarken kenar algılama, gruplama ve diğer ön işleme adımlarını zaten tamamlamış olur
Saçılım grafiğinde eksenlerin köşede birleşmesini sağlamak yerine yalnızca veri aralığını gösterecek şekilde eksenleri kısaltma örneği veriliyor; daha az mürekkep kullanıp daha fazla bilgi gösterdiği için kazan-kazan olduğu söyleniyor. Ama karşılaştırınca değiştirilmiş sürümün görsel olarak daha karmaşık olduğu açık. Metin ve birden fazla grafiğin birlikte olduğu karmaşık bir sayfada parçalar görsel olarak birbirine karışır ve daha da kötüleşir
Bu karmaşıklığı azaltmanın bir yolu, tüm çizim alanı gibi büyük bölgeleri bir kutuyla çevrelemektir; ama kutular, o kitapta ve başka yerlerde Tufte’nin mutlak düşmanıdır. Görsel temsillere bu kadar uzun süre bakmış olmasına rağmen böyle bir tutumu sürdürmesi şaşırtıcı
Tukey, Tufte’nin mentorlarından biriydi
Veriye ve o verinin hikâyesine uygun grafiği seçmek için üst düzey bir genel bakış olarak http://data-to-viz.com harika; çeşitli çizim kütüphanelerinin örnekleri de ilham almak için iyi başvuru kaynakları. Örneğin https://matplotlib.org/stable/gallery/index.html
Çok ilginç ve konuyla ilgili, ancak bu konudaki nihai söz değil
Ancak birçok kişi arkasındaki mantığı kaçırıp yalnızca Tufte stilini olduğu gibi kopyalıyor; bunun sonucu bazen aşırı biçimlendirilmiş ve ikonoklastik görünebiliyor. R’deki ggplot2 varsayılan grafikleri buna iyi bir örnek
Yaygın veri görselleştirme hatalarını iyi tarayan bir yazı; çalışma arkadaşlarımla paylaşacağım. Ek kaynak olarak Kennedy Eliot’ın 39 studies about human perception in 30 mins yazısını güçlü şekilde öneririm: https://medium.com/@kennelliott/39-studies-about-human-perce...
Veri görselleştirme en iyi uygulamaları etrafındaki birçok iddianın araştırma temelini hızlıca gözden geçirmeyi sağlıyor. Özellikle pasta grafik kullanmama dogması ilginç; 1930’lardan beri tasarımcıların rahatsızlık duyduğu bir konu, ama araştırma sonuçları en iyi ihtimalle bile net bir sonuca varmıyor
Medium yazısına şöyle bir bakınca bu konularda aynı bakış açısına sahip gibi görünüyor; birbirlerini tamamlayacaklarını düşünüyorum
“3. Arkadaşsanız tek yönlü veride çift yönlü renk ölçeği kullanmasına izin vermezsiniz” kısmında, en başta o örneklerde neden renk kullanıldığını anlamıyorum
Birçok durumda tek değişkenli gösterim, yalnızca gri tonlama kullanmaktansa renk ölçeğiyle iyileştirilebilir. Böyle durumlarda tek yönlü veride çift yönlü ölçek kullanmak kötüdür; tersi de aynı şekilde
Yani renk ölçeğinin ne zaman kullanılması gerektiğini gösteren bir örnek değil
Bu derslerin çoğu yeni değil. Willard C. Brinton’ın 1939 tarihli Graphic presentation kitabına bakabilirsiniz; ücretsiz erişilebilir: https://archive.org/details/graphicpresentat00brinrich/mode/...
Bana göre bunların hepsi hâlâ kötü. Çok fazla grafik süslemesi var ve çoğunda renk de fazla
O çizgilerin hepsine gerek yok. Dikkatli şekilde daha az koyarsanız okumak kolaylaşır. Edward Tufte’nin herhangi bir kitabında da anlatılan şey bu; birkaç temel teknikle epey yol alınabilir
Düzeltme: Tufte’nin yaptığını sanıyordum, yanılmışım. https://www.amazon.com/Grammar-Graphics-Statistics-Computing...
Violin plot’ları hiç sevmedim, ama veri görselleştirme alanından biri de değilim. Daha geçen hafta violin plots should not exist adlı videoya rastladım ve taşlar yerine oturdu: https://youtu.be/_0QMKFzW9fw?feature=shared
Bill Cleveland’ın araştırmasına dayanarak bu fikirlerden birkaçını tutarlı bir çerçevede bir araya getiren How Humans See Data adlı bir sunum yaptı
https://www.youtube.com/watch?v=fSgEeI2Xpdc
Üç aşamalı tahmin bölümü gerçekten ufuk açıcıydı. Sonradan bakınca bariz geliyor ama biri doğrudan açıklayana kadar bağlantıyı kuramamıştım