Для таких проблем есть две типичные ситуации:
i) вы хотите сгенерировать выборку из заданного распределения, характеристики населения которой соответствуют указанным (но из-за вариации выборки у вас нет точно совпадающих характеристик выборки).
ii) вы хотите сгенерировать выборку, характеристики выборки которой соответствуют указанным (но из-за ограничений точного сопоставления количеств выборки с заранее заданным набором значений на самом деле вы не получите желаемого распределения).
Вы хотите второй случай - но вы получите его, следуя тому же подходу, что и первый случай, с дополнительным этапом стандартизации.
Таким образом, для многомерных нормалей любой из них может быть выполнен довольно простым способом:
В первом случае вы можете использовать случайные нормали без структуры совокупности (такие как стандартная норма iid, которые имеют ожидание 0 и ковариационную матрицу идентичности), а затем наложить ее - преобразовать, чтобы получить ковариационную матрицу и означать, что вы хотите. Если и - это среднее значение для популяции и ковариация, которые вам нужны, а - это стандартное нормальное значение, то для некоторого вычисляетсяΣ z y = L z + μ L L yμΣzy=Lz+μL где (например, подходящий можно получить с помощью разложения Холецкого) , Тогда есть желаемые характеристики населения.LL′=ΣLy
Со вторым вы должны сначала преобразовать свои случайные нормали, чтобы удалить даже случайное отклонение от нулевого среднего и тождественной ковариации (делая выборочное среднее ноль и ковариационную выборку ), а затем действовать как прежде. Но этот начальный шаг по удалению выборочного отклонения от точного среднего 0 , дисперсия I мешает распределению. (В небольших образцах это может быть довольно серьезным.)In0I
Это может быть сделано путем вычитания среднего значения выборки из ( z ∗z ) и вычисления разложения Холецкого z ∗ . Если L ∗ является левым фактором Холецкого, то z ( 0 ) = ( L ∗ ) - 1 z ∗ должно иметь выборочное среднее значение 0 и ковариационную единицу выборочной выборки. Затем вы можете рассчитать y = L z ( 0 ) + μz∗=z−z¯z∗L∗z(0)=(L∗)−1z∗y=Lz(0)+μи есть образец с желаемыми моментами образца. (В зависимости от того, как определены количества пробы, может быть очень маленькая скрипка, связанная с умножением / делением на такие факторы, как , но это достаточно легко определить, что нужно.)n−1n−−−√