Я пытаюсь создать распределенные числа с степенным распределением от 0 до 1 из равномерного распределения. Я нашел два подхода, и я не уверен, кто из них прав, а кто ошибается.Создание распределенных чисел с степенным законом из однородного распределения - найдено 2 подхода: какой из них правильный?
2nd Source: Physical Review (Page 2):
Где: у = равномерная случайная величина, п = мощность распределения, х0 и х1 = диапазон распределения , x = распределенная вариация степенного закона.
Второй только дает неплохие результаты для х0 = 0 и x1 = 1, когда п находится в пределах от 0 до 1.
Спасибо, я обновил ссылку. единственная разница лежит в n <-> -n. Я просто сравниваю d оба источника снова. 1-й источник объявляет распределение степенного закона как P (x) = x^n, а 2 объявляет его как P (x) = x^(- n). Угадайте, что он сейчас решен. Я сделаю некоторые эксперименты и сравню распределения для разных значений n. – MJQZ1347
ОК, я просто немного экспериментировал. Когда я использую 2-й подход и введите n = 1,5, сгенерированные значения находятся за пределами диапазона [0,1]. Когда я вхожу в n = -1,5, он находится в пределах диапазона. Как это объяснить? – MJQZ1347
Вы не можете генерировать случайное число в [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