2015-04-12 2 views
1

Я пытаюсь создать распределенные числа с степенным распределением от 0 до 1 из равномерного распределения. Я нашел два подхода, и я не уверен, кто из них прав, а кто ошибается.Создание распределенных чисел с степенным законом из однородного распределения - найдено 2 подхода: какой из них правильный?

1st Source: Wolfram:

enter image description here

2nd Source: Physical Review (Page 2):

enter image description here

Где: у = равномерная случайная величина, п = мощность распределения, х0 и х1 = диапазон распределения , x = распределенная вариация степенного закона.

Второй только дает неплохие результаты для х0 = 0 и x1 = 1, когда п находится в пределах от 0 до 1.

ответ

2

Если у является равномерной случайной величиной между 0 и 1, а затем 1-й также , Таким образом, давая z = 1-y, вы можете преобразовать свою формулу (1) как:

x = [(x_1^{n + 1} - (x_1^{n + 1} -x_0^{n + 1})) г]^{1/(п + 1)}

, который тогда же, как и вашей формуле (2) для изменения п кроме -.> (-n)

Поэтому я полагаю, что единственное различие между этими двумя формулами в обозначениях того, как n относится к разложению степенного закона (к сожалению, ссылка, которую вы дали для формулы альфа Вольфрама, недействительна, поэтому я не могу проверить, какую нотацию они используют).

+0

Спасибо, я обновил ссылку. единственная разница лежит в n <-> -n. Я просто сравниваю d оба источника снова. 1-й источник объявляет распределение степенного закона как P (x) = x^n, а 2 объявляет его как P (x) = x^(- n). Угадайте, что он сейчас решен. Я сделаю некоторые эксперименты и сравню распределения для разных значений n. – MJQZ1347

+0

ОК, я просто немного экспериментировал. Когда я использую 2-й подход и введите n = 1,5, сгенерированные значения находятся за пределами диапазона [0,1]. Когда я вхожу в n = -1,5, он находится в пределах диапазона. Как это объяснить? – MJQZ1347

+0

Вы не можете генерировать случайное число в [0,1], распределенное функцией P (x), пропорциональное x^{- n}, когда n> = 1. Причиной этого является то, что при приближении x к нулю P (x) слишком быстро расходится, и поэтому вы не можете его нормализовать (интеграл от x^{- n} btw 0 и 1 не существует, когда n> = 1). Если вы хотите взять x_0 = 0, вам нужно, чтобы n было строго меньше 1 (с обозначением P (x) prop. На x^{- n}). – vib