green_fr (green_fr) wrote,
green_fr
green_fr

И ещё один красивый баг

...который меня чуть с ума не свёл на этих выходных.

Задача: нужно сгенерировать по N сценариев для M величин, каждый сценарий описывается всего одним числом. У меня есть программа, которая генерирует любое количество сценариев для одной такой величины, я задаю нужное мне количество MxN, потом нарезаю в нужном мне формате.
Баг: если нарезать «сначала все сценарии для первой величины, затем все для второй...», то получившиеся M случайных величин (которые мы наблюдаем N раз) выглядят независимыми — пренебрежимо маленькие коэффициенты корреляции. А если нарезать «сначала первые сценарии для всех M величин, потом вторые...», то иногда (не всегда!) корреляции получаются порядка 70-80%.
Объяснение: в программе есть возможность ускорения Монте-Карло через антитетические случайные числа, таким образом числа идут зависимыми парами. И при чётном M второй способ нарезания сценариев приводит к переменным с сильной отрицательной корреляцией (не будь там обработки этих антитетических переменных, вообще −100% получилось бы).

Это очередной рассказ из серии «за что я люблю своего шефа» — я не смог эту проблему решить за выходные, он начал улыбаться ещё в начале моего рассказа, потом спросил, не забыл ли я отключить эту опцию...
Tags: rabota
Subscribe

  • Новинки опечаток

    Я очень люблю рассматривать опечатки и пытаться понять, откуда они взялись — где-то кнопки рядом на клавиатуре, где-то транслит заглючил, где-то…

  • Влияние COVID на смертность

    В Institut des Actuaires сделали доклад на эту тему, как можно было не послушать? :-) В двух словах, человек пытается показать, что смертность…

  • Осенний ковид

    На работе пошла постепенно обратная тенденция. Домой ещё не выталкивают, но изначальный настрой «скоро свернём карантин» пропал. Ещё летом, когда нас…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments