Мы работаем над байесовской моделью для пространственно-временного процесса и используем сэмплер No-U-Turn (NUTS), который требует модель для логарифмической вероятности и ее градиента по отношению к параметрам модели. Более кратко, у нас есть довольно сложная функция логарифмической вероятности , включающая статистические распределения, произведения Кронекера, экспоненты, отношения, операторы if-else и т. Д., И мы должны предоставить ее, и это градиент к NUTS. Несколько пакетов ( MCMC Стэна и Джулии ) используют перегрузку операторов (насколько мне известно) для автоматического получения градиента.
Если бы мы смогли создать нашу собственную функцию градиента, возможно, с помощью инструмента автоматической разницы преобразования исходного кода, мы бы получили более высокую производительность или OO такой же хороший или лучший?