Nokta çeşitliliğini görselleştirmek için ısı haritası algoritması


18

Nokta çeşitliliğini görselleştirmek için bir ısı haritası oluşturmak için bir algoritma önerilebilir mi? Örnek bir uygulama, yüksek tür çeşitliliği olan alanların haritalanması için olacaktır. Bazı türler için, her bir bitki haritalanmıştır, bu da yüksek puan sayımı ile sonuçlanır, ancak alanın çeşitliliği açısından çok az anlamı vardır. Diğer alanlar gerçekten yüksek çeşitliliğe sahiptir.

Aşağıdaki giriş verilerini göz önünde bulundurun:

x    y      cat
0.8  8.1    B
1.1  8.9    A
1.6  7.7    C
2.2  8.2    D
7.5  0.9    A
7.5  1.2    A
8.1  1.5    A
8.7  0.3    A
1.9  2.1    B
4.5  7.0    C
3.8  4.0    D
6.6  4.8    A
6.2  2.4    B
2.2  9.1    B
1.7  4.7    C
7.5  7.3    D
9.2  1.2    A

ve sonuçta ortaya çıkan harita:

ızgara çizimi

Sol üst kadranda çok çeşitli bir yama bulunurken, sağ alt kadranda yüksek nokta konsantrasyonuna sahip, ancak düşük çeşitliliğe sahip bir alan vardır. Çeşitliliği görselleştirmenin iki yolu, geleneksel bir ısı haritası kullanmak veya her çokgendeki temsil edilen kategori sayısını saymak olabilir. Aşağıdaki görüntülerin gösterdiği gibi, bu yaklaşımların sınırlı kullanımı vardır, çünkü ısı haritası sağ altta en büyük yoğunluğu gösterirken, binning yaklaşımı yalnızca bir kategori olsaydı tam olarak aynı görünecektir (bu, poligon kutuları, ancak sonuç gereksiz yere parçalı hale gelir).

sıcaklık haritası resim açıklamasını buraya girin

Bunu yapmayı düşündüğüm bir yaklaşım, geleneksel bir ısı haritası algoritmasını tanımlanmış bir yarıçap içindeki farklı kategorilerin nokta sayısına göre hazırlamak ve daha sonra bu sayıyı ısı haritası oluşturulurken nokta için ağırlık olarak kullanmak olacaktır. Bununla birlikte, bunun çok keskin sonuçlara yol açan karşılıklı takviye gibi istenmeyen eserlere eğilimli olabileceğini düşünüyorum. Ayrıca, aynı türden yakından eşlenen noktalar, aynı ölçüde değil, yüksek konsantrasyonlar olarak gösterilmeye devam edecektir.

Başka bir yaklaşım (muhtemelen daha iyi ama daha hesaplama açısından pahalı):

  1. Veri kümesindeki toplam kategori sayısını hesaplama
  2. Çıktı görüntüsündeki her piksel için:
    • Her kategori için:
      • en yakın temsili noktaya (r) olan mesafeyi hesaplayın [muhtemelen etkinin ihmal edilebileceği bazı yarıçaplarla sınırlandırın]
      • 1 / r 2 ile orantılı bir ağırlık ekleyin

Bunu yapmak için farkında olmadığım algoritmalar veya çeşitliliği görselleştirmenin başka yolları var mı?

Düzenle

Tomislav Muic'in önerisini takiben, her kategori için ısı haritalarını hesapladım ve aşağıdaki formülü (QGIS tarama hesaplayıcısı) kullanarak normalleştirdim:

((heatmap_A@1 >= 1) + (heatmap_A@1 < 1) * heatmap_A@1) +
((heatmap_B@1 >= 1) + (heatmap_B@1 < 1) * heatmap_B@1) +
((heatmap_C@1 >= 1) + (heatmap_C@1 < 1) * heatmap_C@1) +
((heatmap_D@1 >= 1) + (heatmap_D@1 < 1) * heatmap_D@1)

aşağıdaki sonuçla (cevabının altındaki yorumlar): normalleştirilmiş toplam


1
İkinci yaklaşımınız iyi görünüyor, bu çoğunlukla bir istatistik problemi, bu yüzden CRAN'daki ilgili R rutinlerine bakmaya başladım . Yine de, farklı ızgara boyutları ile denemek ve tekerleği yeniden icat önlemek için 'resmi' biyoçeşitlilik önlemleri aramak.
Deer Hunter

Yanıtlar:


4

Her ayrı kategori için bir ısı haritası oluşturmayı deneyin.

Ardından ısı haritalarını toplayın ve kategori sayısını kullanarak normalleştirin.

Bu keşfetmeye değer olabilir.


Soruma bu öneriye dayalı bir görselleştirme ekledim ve sonuç iyi görünüyor! Dezavantajı, yüzlerce veya binlerce kategoriyle uğraşıyorsanız, tüm bu rastlayıcıların saklanmasının bir sorun olacağıdır.
rudivonstaden

Bunu düşünün, her kategoriden sonra her bir ısı eşlemesini kompozit ısı eşlemesine eklerseniz sorun olmaz. O zaman soru şu, hangi yaklaşımın hesaplamaya göre daha hızlı olacağı - raster toplamları veya piksel piksel hesaplama.
rudivonstaden

Korkarım bu cevabın çeşitlilikle bir ilgisi yok. Sonuçta elde edilen toplamda (ve normalleşmede) birden fazla gruba sahip çok yoğun bir alan, yoğun değil bir grupla aynı alan gibi görünecektir.
Andy W
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.