問題タブ [uniform-distribution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - SQL を使用して、緯度と経度のデータセットから代表的な均等に分散されたサブセットを取得する方法は?
緯度と経度の情報を含むデータがいくつかありますが、ほとんどのデータ ポイントは地理的に密集しており、代表的ではありません。これらのデータ セットから均一に分布する代表的なサブセットを選択したいと考えています。
以下は私のデータの例です
私はいくつかの情報をチェックし、緯度と経度をグループ化することを学び、ピアソンカイ二乗検定を使用しましたが、SQL の使用に慣れていません。
そのようなサブセットを取得するためのSQLコードを取得するか、SQLを使用して均等な分散メソッドを取得したいと考えています。
hash - 同じ出力と均一な分布を保証して、入力を出力にマッピングする方法は?
String
可変サイズの一連の入力 (私の場合はs) がN
あり、固定サイズの一連の出力 (私の場合は配列のインデックス) にマップする必要がありますM
。したがって、基本的に次のような関数が必要です。
私は2つのことを保証する必要があります:
- どの入力に対しても
X
、常に同じ出力を返す必要がありますY
。例: 文字列を関数に渡すたびに"hello"
、戻り値は常に同じでなければなりません1
。 - 返される値の分布は均一でなければなりません。つまり、無限の数の入力に対して、同じ返される値の平均は同じでなければなりません。たとえば、
M = 4
返す値が異なり、入力もN = 100
異なる場合、各出力にマップされる入力の数は、理想的には に等しくなければなりません25
。
次のコードを思いつきました。
上記のコードは、1 番目のポイント (同じ入力に対して常に同じ出力) を保証しますが、2 番目のポイント (分布の均一性) を保証するとは限りません。
両方のポイントが保証されるように、そのような関数の高速な実装はありますか?