Обычно используются веса в приложениях, таких как моделирование смесей, и для линейного объединения базисных функций. Веса часто должны подчиняться 0 и . Я бы хотел случайным образом выбрать вектор веса из равномерного распределения таких векторов.
Может быть заманчиво использовать где U (0, 1), однако, как обсуждалось в комментариях ниже, распределение \ mathbf {w } не является равномерным.
Однако, учитывая ограничение , кажется, что размерность проблемы лежит в , и что должна быть возможность выбрать , выбрав параметров в соответствии с некоторое распределение, а затем вычисление соответствующего из этих параметров (поскольку после определения весов оставшийся вес полностью определяется).
Проблема , как представляется, аналогична точке сферы собирания проблемы (но, а не выбирать 3-векторы, нормы равна единица, я хочу , чтобы выбрать -векторы которых нормы равна единица).
Благодарность!
Ответы:
Выберите равномерно (с помощью единичных вещественных чисел в интервале ). Сортируйте коэффициенты так, чтобы . Устанавливать n - 1 [ 0 , 1 ] 0 ≤ x 1 ≤ ⋯ ≤ x n - 1x∈[0,1]n−1 n−1 [0,1] 0≤x1≤⋯≤xn−1
Поскольку мы можем восстановить отсортированный с помощью частичных сумм , отображение равнодо 1; в частности, его образ - это симплекс в . Поскольку (a) каждый своп в сортировке является линейным преобразованием, (b) предыдущая формула является линейной, и (c) линейные преобразования сохраняют равномерность распределений, однородность подразумевает однородность на симплексе . В частности, обратите внимание, что маргиналы не обязательно независимы.w i x → w ( n - 1 ) ! n - 1 R n x w n - 1 wxi wi x→w (n−1)! n−1 Rn x w n−1 w
Этот трехмерный точечный график показывает результаты 2000 итераций этого алгоритма для . Точки ограничены симплексом и приблизительно равномерно распределены по нему.n=3
Поскольку время выполнения этого алгоритма , оно неэффективно для больших . Но это действительно отвечает на вопрос! Лучший способ (в общем случае) генерировать равномерно распределенные значения на симплексе - нарисовать равномерных вещественных чисел на интервале , вычислитьn n - 1 n ( x 1 , … , x n ) [ 0 , 1 ]O(nlog(n))≫O(n) n n−1 n (x1,…,xn) [0,1]
(что делает каждый положительным с вероятностью , откуда их сумма почти наверняка равна нулю) и установить 1yi 1
Это работает, потому что у каждого есть распределение , что подразумевает, что имеет распределение Dirichlet - и это равномерно. Γ ( 1 ) w ( 1 , 1 , 1 )yi Γ(1) w (1,1,1)
источник
Первая запись обнуляется для идентификации; Вы увидите, что это делается в многочленных логистических моделях. Конечно, в полиномиальных моделях вы также будете иметь ковариаты под показателями степени, а не только случайные
zz
s. Распределениеzz
s является предельным распределением значений; это понадобится вам, чтобы убедиться, что полученные веса были вначале указаныrnorm
там, но сначала я почувствовал, что это не сработает.источник
Решение очевидно. Следующий код MathLab дает ответ для 3 весов.
источник