단일성으로 균일하게 분포 된 가중치를 생성합니까?


14

혼합 모델링과 같은 응용 분야에서 가중치를 사용하고 기본 기능을 선형으로 결합하는 것이 일반적입니다. 가중치 는 종종 0 및 준수해야합니다 . 이러한 벡터의 균일 분포에서 가중치 벡터 \ mathbf {w} = (w_1, w_2,…) 를 무작위로 선택하고 싶습니다 .w ii w i = 1 w = ( w 1 , w 2 , )wiwiiwi=1w=(w1,w2,)

그것은 사용하기를 원할 수 wi=ωijωj 여기서 ωi U (0, 1) 단의 분포, 이하의 주석에서 설명한 바와 같이 w 균일하지 않습니다.

그러나, 주어진 제약 iwi=1 , 문제의 근본적인 차원 인 것으로 보인다 n1 , 그리고이 선택 가능하도록 w 선택하여 n1 에 따른 파라미터 일부 분포 및 그런 다음 해당 모수에서 해당 \ mathbf {w} 를 계산합니다 w( 무게의 n1 이 지정되면 나머지 무게가 완전히 결정되므로).

이 문제 는 구점 선택 문제 와 비슷해 보입니다 (단, 2 표준이 1 인 3- 벡터 를 선택 하는 대신 ℓ_1 표준이 1 인 n 벡터 를 선택하고 싶습니다 ).1

감사!


3
이 방법은 단면에 균일하게 분포 된 벡터를 생성하지 않습니다. 올바르게 원하는 것을 수행하려면 가장 간단한 방법은 iid 임의의 변수를 생성 한 다음 합계로 정규화하는 것입니다. 당신은 그리는 다른 방법을 찾아 그것을 시도 할 수 직접 variates하지만 이후는 효율성의 상충 관계에 대한 나의 의심이 할 수 variates 매우 효율적에서 생성 변합니다. E x p ( 1 ) n 1 E x p ( 1 ) U ( 0 , 1 )nExp(1)n1Exp(1)U(0,1)
추기경

답변:


22

선택 균일 (의해 간격에서 균일 실수 ). 되도록 계수를 정렬 하십시오 . 세트 n 1 [ 0 , 1 ] 0 x 1x n - 1x[0,1]n1n1[0,1]0x1xn1

w=(x1,x2x1,x3x2,,xn1xn2,1xn1).

정렬 된 를 의 부분 합계를 사용하여 복구 할 수 있으므로 매핑 은~ 1; 특히 이미지는 의 심플 렉스입니다 . (a) 정렬의 각 스왑은 선형 변환이므로 (b) 위의 공식은 선형이며 (c) 선형 변환은 분포의 균일 성을 유지하므로 의 균일 성은 의 균일 성을 의미합니다 상의 심플. 특히, 의 한계는 반드시 독립적 인 것은 아닙니다.w i xw ( n - 1 ) ! N - 1 개 R N X w N - 1 wxiwixw(n1)!n1Rnxw n1w

3D 포인트 플롯

이 3D 포인트 플롯은 대한이 알고리즘의 2000 회 반복 결과를 보여줍니다 . 점은 심플 렉스에 국한되며 대략 균일하게 분포됩니다.n=3


이 알고리즘의 실행 시간은 이므로 큰 에는 비효율적입니다 . 그러나 이것은 질문에 대답합니다! simplex 에서 균일하게 분포 된 값생성 하는 더 좋은 방법은 일반적으로 구간 에서 균일 한 실수 를 그리는 것입니다., N , N - 1 N ( X 1 , ... , X N ) [ 0 , 1 ]O(nlog(n))O(n)nn1n(x1,,xn)[0,1]

yi=log(xi)

(각 가 확률이 인 양수로 , 합계가 거의 0이 아닌 경우) 1yi1

w=(y1,y2,,yn)/(y1+y2++yn).

이것은 각 에 분포 가 있기 때문에 는 Dirichlet 분포를 가지며 이는 균일 함을 의미합니다. Γ ( 1 ) w ( 1 , 1 , 1 )yiΓ(1)w(1,1,1)

[3D 포인트 플롯 2]


1
@Chris "Dir (1)"에 의해 모수 = 갖는 Dirichlet 분포를 의미하는 경우 대답은 예입니다. ( 1 , 1 , , 1 )(α1,,αn)(1,1,,1)
whuber

1
(+1) 하나의 사소한 의견 : 직관력이 우수합니다. 그 부분의 "선형 변환"은 임의적 인 것으로 해석되므로 (a) 해석에주의를 기울여야 할 수도 있습니다 . 그러나 이는 생성 프로세스와 특정 불변 속성의 교환 가능성을 사용하여 추가 형식을 희생하여 쉽게 해결할 수 있습니다.
추기경

1
더 명확하게 : 밀도가 인 분포의 경우 크기가 n 인 iid 샘플의 차수 통계 밀도 는 n입니다 ! f ( x 1 ) f ( x n ) 1 ( x 1 < x 2 < < x n ) . 의 경우에 F = 1 [ 0 , 1 ] ( X )fnn!f(x1)f(xn)1(x1<x2<<xn)f=1[0,1](x)순서 통계의 분포는 폴리 토프에서 균일하다. 이 시점에서 취한 나머지 변환은 결정적이며 결과는 다음과 같습니다.
추기경

1
@cardinal 흥미로운 점이지만 추가 세부 정보가 도움이 될 수 있다고 생각하지만 중요한 것은 아닙니다. 스왑 (실제 반사, 선형 변환)은 임의적이지 않으며 미리 결정됩니다. 실제로, ( n - 1 )에 조각됩니다 !In1=[0,1]n1(n1)!영역 중 하나가 다른 영역과 구별되고 각 영역과 고유 영역 사이에 미리 결정된 아핀 ject이 있습니다. 그러나 우리가 필요로하는 유일한 추가 사실은 한 지역의 균일 한 분포가 측정 가능한 부분 집합에서 균일하다는 것인데, 이는 사소한 일입니다.
whuber

2
@ whuber : 재미있는 말. 공유해 주셔서 감사합니다! 나는 그런 것들에 대한 당신의 통찰력있는 생각에 항상 감사합니다. "무작위 선형 변환"에 대한 이전 의견과 관련하여, 적어도 통해 사용 된 변환은 샘플 점 ω 에 따라 달라집니다 . 그것을 생각하는 다른 방법은 거기에 고정 된 소정의 함수이다 T는 : R N - 1R N - 1 이되도록 = T ( X ) 는 서브 세트의 선형하지만,하지만, 그 함수의 선형 호출 않을 그 파티션 ( n - 1 )xωT:Rn1Rn1w=T(x)(n1)-입방체. :)
추기경

1
    zz <- c(0, log(-log(runif(n-1))))
    ezz <- exp(zz)
    w <- ezz/sum(ezz)

첫 번째 항목은 식별을 위해 0으로 설정됩니다. 다항 로지스틱 모델에서 수행 된 것을 볼 수 있습니다. 물론, 다항식 모델에서는 랜덤 변이가 아닌 지수 아래 공변량도 있습니다 zz. zzs 의 분포 는 극단적 인 가치 분포입니다. 결과 가중치가 iid인지 확인하기 위해 이것이 필요 rnorm하지만 처음에는 als를 넣었 지만 작동하지 않을 것이라고 생각했습니다.


작동하지 않습니다. 히스토그램을 보려고 했습니까?
추기경

4
nExp(1)

1
사용하는 용어를 생각하면 약간 혼란스러워 보입니다.
추기경

2
실제로, Wiki 링크 이것을 (공평하게) 명시 적으로 논의합니다. 지원 제목 아래의 두 번째 단락을 참조하십시오 .
추기경

1
wn1Rnwn1n1

0

해결책은 분명합니다. 다음 MathLab 코드는 3 가지 가중치에 대한 답변을 제공합니다.

function [  ] = TESTGEN( )
SZ  = 1000;
V  = zeros (1, 3);
VS = zeros (SZ, 3);
for NIT=1:SZ   
   V(1) = rand (1,1);     % uniform generation on the range 0..1
   V(2) = rand (1,1) * (1 - V(1));
   V(3) = 1 - V(1) - V(2);  
   PERM = randperm (3);    % random permutation of values 1,2,3
   for NID=1:3
         VS (NIT, NID) = V (PERM(NID));
    end
end 
figure;
scatter3 (VS(:, 1), VS(:,2), VS (:,3));
end

enter image description here


1
한계 값이 올바르게 분포되어 있지 않습니다. Dirichlet 배포판 (코딩 한 알고리즘이있는 난수 생성 섹션)에 대한 Wikipedia 기사에서 판단 할 때, 유니폼이 아닌 V (1)에 대해 베타 (1,2) 배포판을 사용해야합니다 [0,1] 분포.
soakley

기울어 진 삼각형의 모서리에서 밀도가 증가하는 것으로 보입니다. 그럼에도 불구하고 문제의 멋진 기하학적 표시를 제공합니다.
DWin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.