サブセットの分布?


9

整数サブセットに何らかの種類の標準分布があるかどうか疑問に思っています。同様に、これをバイナリ結果の長ベクトルの分布として表すことができます。たとえば、場合、はベクトル対応します。{1,2,...,J}JJ=5{1,3,5}(1,0,1,0,1)

理想的には、私が探しているのは、2つのバイナリベクトルとが同様の方法で質量を分布する、有限次元パラメータによってインデックスが付けられたファミリからの分布。それらが「近い」場合の確率、つまりとは同様の確率を持ちます。実際、私が希望することは、がかなり大きいことがわかっている場合、がから遠く離れたベクトルに比べておそらく大きくなるように、事前に設定することです。νθ()θr1r2r1=(0,0,1,0,1)r2=(0,0,1,1,1)θνθ(r1)νθ(r2)r1

頭に浮かぶ1つの戦略は、上のメトリックまたは分散液のいくつかの他の尺度を置くことであろうの、次に取る、または類似したもの。明示的な例は、正規分布と同様にになります。それは問題ありませんが、ベイジアン分析に適した標準的なものがあることを願っています。これでは、正規化定数を書き留めることはできません。dθ{0,1}Jνθ(r)exp(dθ(r,μ))exp{rμ2/(2σ2)}


サブセットのサンプリングは、調査方法論の基本的な問題です。
ステファン・ローラン

@Stephane確かですが、私の問題は、ディストリビューションに反映させたい望ましい構造がいくつかあるという点で異なります。距離についての漠然とした考えがあるので、サブセットについて質問するのは悪い考えかもしれません。

「...はおそらく小さい ...」と書くつもりですか?正規化定数に関する限り、メトリックにハミング距離を使用することを検討してください。分布のロケーションスケールファミリーの場合、項の合計としてその定数を計算できます。さらに、基準を満たすそのようなファミリはすべて、離散パラメータ(位置)と連続パラメータだけで記述できます。J + 1 J Jvθ(r2)J+1JJ
whuber

@whuberいいえ、私は大きいことを意味しました。が、互いに近接する点の周りに質量を分散させたい。質問を超立方体の頂点に分布を置くこととして表現することはおそらくより適切であったでしょう。私はハミング距離を考えました(私の場合はと同じです)。として微調整したいと思うでしょう、そして私はおそらくそのような分布からサンプリングするためにいくつかのMCMCを行わなければならないでしょう。L 1 Σ | R I - μ Iνθ()L1|riμiσi|

ああ、わかりました。しかし、それはあなたが最初に言ったことではありません。たとえば、特性評価で、が大きく、がから「遠く」離れたベクトルのセットであり、がにないベクトルである場合、も「おそらく」でなければなりません。大きくなる。しかし、「遠くない」と「近い」はまったく同じことを意味しません。コメントで行ったように条件を言い換えると、より簡単で、内部的には一貫性があります。しかし、いいえ。ハミング距離に基づいてロケーションスケール分布からサンプリングするためにMCMCを必要としません。はるかに効率的な方法があります。R R 1 R 2 R ν R 2ν(r1)Rr1r2Rν(r2)
whuber

回答:


6

その豊富さ、柔軟性、および計算の扱いやすさのため、ハミング距離基づいてロケーションファミリーを優先する場合があります。


表記と定義

基底がを持つ自由有限次元モジュールでは、2つのベクトル間のハミング距離およびは、である場所の数。E 1E 2... E J δ H V = V 1 、E 1 + + V J E J W = W 1 E 1 + + W J E J iは、V のIW IV(e1,e2,,eJ) δHv=v1e1++vJeJw=w1e1++wJeJiviwi

任意の原点与えられると、ハミング距離はを球、に。ここで、。グラウンドリングに要素がある、は要素があり、は要素があります。(これは、要素がと正確に場所で異なることを観察した直後です-その中にV S iは V 0iは=01...J S I V 0={ WV | δ H W V 0=I}NV N J S I V Jv0VVSi(v0)i=0,1,,JSi(v0)={wV | δH(w,v0)=i}nVnJSi(v)Sivvi J(Ji)(n1)iSi(v)vi n1(Ji)可能性-そして、それぞれの場所に独立しての値の選択肢があることをます。)n1

アフィン変換は、分布に自然に作用してロケーションファミリーを提供します。具体的には、が上の任意の分布である場合(つまり、少し上回っている場合、はすべての、および)であり、は任意の要素で、も分布ですどこF V F V [ 0 1 ] F V0 VV ΣのVVの F V= 1 W V F WVfVf:V[0,1]f(v)0vVvVf(v)=1wVf(w)

f(w)(v)=f(vw)

すべてのための。ロケーションファミリー分布のこの作用の下で不変である:意味のためのすべての。vV F Ω F VΩのVVΩfΩf(v)ΩvV

建設

これにより、1つの固定ベクトルで形状を指定することにより、潜在的に興味深く有用な分布のファミリーを定義できます。便宜上、、そしての作用の下でこれらの「生成分布」を変換して、完全なファミリーを取得します。が近くの点で同等の値を持つべき望ましい特性を達成するには、単にすべての生成分布のその特性を要求します。0 = 0 0 ... 0 V Ω Fv0=(0,0,,0)VΩf

これがどのように機能するかを確認するために、距離が増加するにつれて減少するすべての分布のロケーションファミリーを構築しましょう。ハミング距離のみが可能であるため、負でない実数の減少するシーケンスを考える =。セットするA 0 A 0A 1J0J+1a0a0a1aJ0

A=i=0J(n1)i(Ji)ai

機能を定義によってfa:V[0,1]

fa(v)=aδH(0,v)A.

次に、簡単に確認できるように、は上の分布です。また、場合にのみの正の倍数であるにおけるベクターとして()。したがって、必要に応じて、を標準化することができます。 V f a = f a aa R J + 1 a a 0 = 1faVfa=faaaRJ+1aa0=1

したがって、この構造は、ハミング距離とともに減少するそのようなすべての位置不変分布の明示的なパラメーター化を提供します。そのような分布は、いくつかのシーケンスの形式はです。と一部ベクトル。、A = 1 A 1A 2J0 VVfa(v)a=1a1a2aJ0vV

このパラメーター化により、事前分布の便利な指定が可能になる場合があります。それらを位置の事前形状事前分布に分解します。(もちろん、場所と形状が独立していない、より大きな事前分布のセットを検討することもできますが、これはより複雑な作業になります。)ava

ランダムな値を生成する

からサンプリングする1つの方法 は、球形の放射上の分布と各球を条件とする別の分布にそれを因数分解することによる段階です。fa(v)

  1. 確率によって与えられるの離散分布からインデックスを描画します。ここで、は以前のように定義されています。{ 0 1 ... J } Ji{0,1,,J}A(Ji)(n1)iai/AA

  2. インデックスは、と正確に桁異なるベクトルのセットに対応します。したがって、可能なサブセットから配置するものを選択し、各等しい確率を与えます。(これはのほんの一例であるのうち添え字ずに交換。)のこのサブセットしてみましょう書くことが置か。v i i Jivii iJiI(Ji)iJ iI

  3. すべてのに対してと等しくないスカラーのセットから値個別に選択して要素をし、それ以外の場合は設定します。同様に、ときはゼロ以外のスカラーからをランダムに均一に選択し、それ以外の場合は設定して、ベクトル作成します。セット。ワットjはV J J I ワットJ = V J U U J J I 、U 、J = 0 、W = V + UwwjvjjIwj=vjuujjIuj=0w=v+u

バイナリの場合、ステップ3は不要です。


ここRに説明する実装があります。

rHamming <- function(N=1, a=c(1,1,1), n=2, origin) {
  # Draw N random values from the distribution f_a^v where the ground ring
  # is {0,1,...,n-1} mod n and the vector space has dimension j = length(a)-1.
  j <- length(a) - 1
  if(missing(origin)) origin <- rep(0, j)

  # Draw radii `i` from the marginal distribution of the spherical radii.
  f <- sapply(0:j, function(i) (n-1)^i * choose(j,i) * a[i+1])
  i <- sample(0:j, N, replace=TRUE, prob=f)

  # Helper function: select nonzero elements of 1:(n-1) in exactly i places.
  h <- function(i) {
    x <- c(sample(1:(n-1), i, replace=TRUE), rep(0, j-i))
    sample(x, j, replace=FALSE)
  }

  # Draw elements from the conditional distribution over the spheres
  # and translate them by the origin.
  (sapply(i, h) + origin) %% n
}

その使用例として:

test <- rHamming(10^4, 2^(11:1), origin=rep(1,10))
hist(apply(test, 2, function(x) sum(x != 0)))

これは、分布から iid要素を描画するのに秒かかりましたここで、、(バイナリの場合)、、およびは指数関数的に減少しています。10 4 F V J = 10 、N = 2 、V = 1 1 ... 1 = 2 112 10... 2 10.2104fa(v)J=10n=2v=(1,1,,1)a=(211,210,,21)

(このアルゴリズムはが減少していることを必要としないので、単峰性のものだけでなく、任意の位置ファミリからランダム変量を生成します。)a


これをありがとう!この場合のハミング距離は、であり、立方体の頂点に制限されます。その文脈では、ハミング距離は等方的に作用しています。距離測定に超える異なる値があるので、それから離れると、これらのことが複雑になると思いますか?これに関する一般的なコメントはありますか?R J JL1RJJ

はい:距離関数の選択は、の値が何を表すかによって異なります。質問は抽象的に定式化されているので、何が良い選択であるかについての意見を形成するために本当に何もすることはありません。ハミング距離は、名目値やおそらく他の場合にも適切ですが、セット固有の距離感がある場合、他の距離の方がうまく機能する可能性があります。バイナリの場合場合、ハミング距離を一般化することは困難です。それらはすでにかなり一般的です。、{ 1 2 ... N } N = 2{1,2,,n}{1,2,,n}n=2
whuber

1

k決定点プロセスからのサンプルは、サブセットでの分布をモデル化して多様性を促進し、サンプル内で類似したアイテムが一緒に発生する可能性が低くなるようにします。Ben TaskarのAlex KuleszaによるK決定点プロセスのサンプリングを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.