誰でもポイントの多様性を視覚化するためのヒートマップを生成するアルゴリズムを提案できますか?応用例は、種の多様性が高い地域のマッピングになります。一部の種では、すべての植物がマッピングされているため、ポイント数が多くなりますが、地域の多様性に関してはほとんど意味がありません。他の地域は、真に多様性に富んでいます。
次の入力データを考慮してください。
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
結果のマップ:
左上の象限には非常に多様なパッチがあり、右下の象限には点集中が高いが多様性が低いエリアがあります。多様性を視覚化する2つの方法は、従来のヒートマップを使用するか、各ポリゴンで表されるカテゴリの数をカウントすることです。以下の画像が示すように、ヒートマップは右下で最大の強度を示すため、これらのアプローチの使用は限られていますが、ビニングアプローチはカテゴリが1つしかない場合はまったく同じに見えます(これは、サイズを大きくすることで対処できます)ポリゴンビンになりますが、結果は不必要に細かくなります)。
これを行うために考えたアプローチの1つは、定義された半径内の異なるカテゴリのポイントの数で従来のヒートマップアルゴリズムを準備し、ヒートマップを生成するときにそのカウントをポイントの重みとして使用することです。ただし、これは、非常に鋭い結果をもたらす相互強化など、不要なアーティファクトが発生する傾向があると思います。また、同じタイプの密接にマップされたポイントは、同じ程度ではなく、高濃度として表示され続けます。
別のアプローチ(おそらくより良いが、計算コストが高い)は次のとおりです。
- データセット内のカテゴリの総数を計算します
- 出力画像の各ピクセルに対して:
- 各カテゴリについて:
- 最も近い代表点までの距離(r)を計算する[おそらく半径を超えると影響が無視できる程度に制限される]
- 1 / r 2に比例する重みを追加します
- 各カテゴリについて:
私がこれを行うことを知らないアルゴリズム、または多様性を視覚化する他の方法はすでにありますか?
編集
Tomislav Muicの提案に従って、各カテゴリのヒートマップを計算し、次の式(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)
次の結果(彼の答えの下にコメント):