Bất cứ ai cũng có thể đề xuất một thuật toán để tạo ra một bản đồ nhiệt để trực quan hóa sự đa dạng điểm? Một ứng dụng ví dụ sẽ là để lập bản đồ các khu vực có độ đa dạng loài cao. Đối với một số loài, mỗi loài thực vật đã được lập bản đồ, dẫn đến số điểm cao, nhưng với rất ít ý nghĩa về sự đa dạng của khu vực. Các khu vực khác thực sự có sự đa dạng cao.
Xem xét các dữ liệu đầu vào sau:
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
và bản đồ kết quả:
Ở góc phần tư phía trên bên trái, có một mảng rất đa dạng, trong khi ở góc phần tư phía dưới bên phải, có một khu vực có nồng độ điểm cao, nhưng độ đa dạng thấp. Hai cách để hình dung sự đa dạng có thể là sử dụng bản đồ nhiệt truyền thống hoặc đếm số lượng danh mục được thể hiện trong mỗi đa giác. Như các hình ảnh sau đây cho thấy, các phương pháp này đã được sử dụng hạn chế, vì bản đồ nhiệt cho thấy cường độ lớn nhất ở phía dưới bên phải, trong khi phương pháp tạo thùng sẽ trông giống hệt nhau nếu chỉ có một loại (điều này có thể được giải quyết bằng cách tăng kích thước của thùng đa giác, nhưng sau đó kết quả trở thành dạng hạt không cần thiết).
Một cách tiếp cận tôi nghĩ để làm điều này sẽ là sử dụng thuật toán bản đồ nhiệt truyền thống theo số điểm của các loại khác nhau trong bán kính xác định và sau đó sử dụng số đó làm trọng số cho điểm khi tạo bản đồ nhiệt. Tuy nhiên, tôi nghĩ rằng điều này có thể dễ bị tạo tác không mong muốn, như củng cố lẫn nhau dẫn đến kết quả rất sắc nét. Ngoài ra, các điểm được ánh xạ chặt chẽ cùng loại sẽ tiếp tục hiển thị dưới dạng nồng độ cao, chỉ ở mức độ không giống nhau.
Một cách tiếp cận khác (có thể tốt hơn nhưng đắt hơn về mặt tính toán) sẽ là:
- Tính tổng số danh mục trong bộ dữ liệu
- Đối với mỗi pixel trong hình ảnh đầu ra:
- Đối với mỗi loại:
- tính khoảng cách đến điểm đại diện gần nhất (r) [có thể giới hạn bởi một số bán kính vượt quá tầm ảnh hưởng không đáng kể]
- thêm trọng số tỷ lệ với 1 / r 2
- Đối với mỗi loại:
Đã có các thuật toán mà tôi không biết để làm điều này, hoặc các cách khác để hình dung sự đa dạng?
Biên tập
Theo đề nghị của Tomislav Muic, tôi đã tính toán các bản đồ nhiệt cho từng danh mục và chuẩn hóa chúng bằng công thức sau (máy tính raster của QGIS):
((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)
với kết quả sau (bình luận dưới câu trả lời của anh ấy):