yutarineの日記: 2次元マップの補完方法考えてたのだけども 3
2次元の位置情報(x, y)とそれとは別の数値情報(z)が乗っている複数のデータを2次元マップ上で視覚化しようとしたのだけど、どうにも
データ点数が少ない。なのでデータが無いスカスカの隙間を補完してプロットする必要が出てきた。
グラフソフトだとそのへんおまかせで表示してくれるのもあるけど、表示だけじゃなくて補完で得られた数値自体も欲しい。
初めにデータ2点で1次元上で処理考えて組んでみるとそれなりのものが出来上がった。
次に2次元に拡張してもなんとなくそれっぽいのが完成。
(この時点ではとりあえずカタチにするのが目的なので、ちゃんと考えた通りに処理できてるかの検証はしてない)
それならばと3点目のデータを加えてみたのだけど、どうにもうまく出来ていない。
検証するまでもなく、明らかにおかしな処理結果になっている。
まぁこういうのはちゃんと処理方法勉強してきた方がいいよね、というわけで調べ直し。
少し調べてみるとバイリニア補完、バイキュービック補完というのがあった。画像処理分野で使われている補完方法らしい。
ただ解説を読んでみるとどうも格子状データで使うものの模様。
あいにく処理したいデータは格子状ではなくて、それぞれの位置は無関係にバラバラに散っている。
「この方法拡張すればバラバラのデータ処理にも拡張出来るのかしら?」と思ったのだけど、あいにくそんな器用な方法を思いつく脳みそは持ち合わせていない。
で、もう少し調べてみると地図データ分野の補完方法というのが見つかった。
逆距離加重補間とかいろいろあるらしい。解説をちょいちょい読んだ限りでは、結構自分がやりたかったことに近い。
だぶんこれ参考にして処理組めばイケそう。
(とりあえずカタチにするのが目的なので、補完方法が適切かどうかって判断は当面は後回し)
カーネル密度推定も使えると思いますよ (スコア:0)
説明は省略!googleにでも聞いてください
Re:カーネル密度推定も使えると思いますよ (スコア:1)
情報ありがとうございます。後で調べてみることにします。
カーネル密度推定...φ(._.)メモメモ…
Re:カーネル密度推定も使えると思いますよ (スコア:1)
離散的に近似するなら画像処理ソフトで、
黒一面の画像の上に白いドットを打って、ガウスぼかし(や他の適当なフィルタ)を掛ければ出来上がりってことだね。
あとは見やすいようにコントラストを調整してやればOKと。
論文とかに使うならちゃんとパラメーターを計算して指定してやらないといけないだろうけど、そうでない場面ならお手軽にできちゃうね。
あっ、そうか、
ドットの代わりに、予めベルカーブみたいなフィルタリング済みの明度を持つベクターデータを用意して、任意の座標に配置すれば連続的な近似もできるな。
書き出しはSVG、描画は画像表示ソフトでもWebブラウザでも良いと。