Powszechnie stosuje się wagi w aplikacjach, takich jak modelowanie mieszanin, i liniowo łączy funkcje podstawowe. Masy muszą często być zgodne z w i ≥ 0 i ∑ i w i = 1 . Chciałbym losowo wybrać wektor wagi w = ( w 1 , w 2 , … ) z jednolitego rozkładu takich wektorów.
Kuszące może być użycie gdzieU (0, 1), jednak jak omówiono w komentarzach poniżej, rozkładnie jest jednolity.
Biorąc jednak pod uwagę ograniczenie , wydaje się, że leżąca u podstaw wymiarowość problemu wynosi i że powinna istnieć możliwość wyboru poprzez wybór parametrów zgodnie z pewnym rozkładem, a następnie obliczenie odpowiadające z tych parametrów (ponieważ po określeniu odważników pozostała masa jest w pełni określona).
Problem wydaje się być podobny do problemu wybierania punktu kuli (ale zamiast wybierać wektory 3, których normą jest jedność, chcę wybrać wektorów, których normą jest jedność).ℓ 1
Dzięki!
źródło
Odpowiedzi:
Wybierz równomiernie (za pomocą n - 1 jednolitych liczb rzeczywistych w przedziale [ 0 , 1 ] ). Posortuj współczynniki tak, aby 0 ≤ x 1 ≤ ⋯ ≤ x n - 1 . Zestawx∈[0,1]n−1 n−1 [0,1] 0 ≤ x1≤ ⋯ ≤ xn - 1
Ponieważ możemy odzyskać posortowanejxi za pomocą częściowych sum , mapowanie x → w wynosi ( n - 1 ) ! do 1; w szczególności jego obraz to n - 1 simpleks w R n . Ponieważ (a) każda zamiana w rodzaju jest transformacją liniową, (b) poprzedni wzór jest liniowy, oraz (c) transformacje liniowe zachowują jednorodność rozkładów, jednorodność x implikuje jednorodność w na n - 1 simpleks.wi x → w ( n - 1 ) ! n - 1 Rn x w n - 1 W szczególności należy zauważyć, że marginesy niekoniecznie są niezależne.w
Ten wykres punktowy 3D pokazuje wyniki 2000 iteracji tego algorytmu dla . Punkty są ograniczone do simpleksu i są w przybliżeniu równomiernie rozmieszczone na nim.n = 3
Ponieważ czas wykonania tego algorytmu wynosi , jest on nieefektywny dla dużych n . Ale to odpowiada na pytanie! Lepszym sposobem (ogólnie)generowania równomiernie rozłożonych wartości na n - 1 -simplexjest narysowanie n jednolitych liczb rzeczywistych ( x 1 , … , x n ) w przedziale [ 0 , 1 ] , obliczenieO ( n log( n ) ) ≫ O ( n ) n n−1 n (x1,…,xn) [0,1]
(co sprawia, że każdy pozytywne prawdopodobieństwem 1 , skąd ich suma jest prawie na pewno różna od zera) i zestawyi 1
Działa ponieważ każdy posiada Γ ( 1 ) rozkład, co oznacza w posiada Dirichlet ( 1 , 1 , 1 ), rozkład - i jest jednolita.yi Γ(1) w (1,1,1)
źródło
Pierwszy wpis jest zerowany w celu identyfikacji; zobaczyłbyś to w wielomianowych modelach logistycznych. Oczywiście w modelach wielomianowych pod wykładnikami byłyby również zmienne towarzyszące, a nie tylko losowe
zz
. Rozkładzz
s jest skrajnym rozkładem wartości; potrzebujesz tego, aby upewnić się, że wynikowe wagi są takie, że początkowo umieściłemrnorm
tam również, ale potem miałem przeczucie, że to nie zadziała.źródło
Rozwiązanie jest oczywiste. Poniższy kod MathLab zawiera odpowiedź na 3 wagi.
źródło