Проблемы с повторными отрисовками последовательности Соболя в scipyPython

Программы на Python
Ответить
Anonymous
 Проблемы с повторными отрисовками последовательности Соболя в scipy

Сообщение Anonymous »

Как мне получить уникальные последовательности Соболя, выполняя повторные вызовы метода random или random_base2?
Я пытаюсь повторно генерировать «случайные» последовательности Соболя, но получаю то же самое последовательность каждый раз. Прочитав документацию, я предположил, что повторные вызовы дадут мне другую последовательность («Чтобы продолжить существующий дизайн, дополнительные очки можно получить, снова вызвав random_base2».)
Вот мой код :

Код: Выделить всё

import scipy
engine2 = scipy.stats.qmc.Sobol(d=1, scramble=True)
sample_qmc1 = engine2.random_base2(m=14)
print(sample_qmc1)
sample_qmc2 = engine2.random_base2(m=14)
print(sample_qmc2)
Вот пример вывода:

Код: Выделить всё

[[0.2534843 ]
[0.884218  ]
[0.69113704]
...
[0.69106254]
[0.88420477]
[0.25347106]]
[[0.25342032]
[0.88416122]
[0.69107275]
...
[0.69111674]
[0.88426601]
[0.2535251 ]]
Как видите, значения практически одинаковы.
reset() не помогает, я получаю ту же последовательность. Переход на random() тоже не помогает. Использование выборки меньшего размера, похоже, работает.
Если я добавлю эту строку:

Код: Выделить всё

sample_qmc3 = engine2.random_base2(m=14)
Я получаю следующую ошибку:

Код: Выделить всё

ValueError: The balance properties of Sobol' points require n to be a power of 2. 24576 points have been previously generated, then: n=24576+2**14=40960. If you still want to do this, the function 'Sobol.random()' can be used.
Я попробовал LatinHypercube, и у него нет этой проблемы.
Я использую scipy 1.14.1
У кого-нибудь есть идеи, как я могу генерировать уникальные последовательности Соболя?

Подробнее здесь: https://stackoverflow.com/questions/792 ... e-in-scipy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»