Как стать автором
Обновить

Комментарии 2

Я правильно понимаю, что это один из примеров, где векторизация через NumPy мало поможет, т.к. задача нелинейная и маленькой размерности, и без компиляции быстро никак не сделать?

Вы совершенно правы — в части оптимизации задача нелинейная и относительно маленькой размерности в отношении количества переменных модели. Но количество уравнений (наблюдений) может быть велико (практически не более 10^4, обычно много меньше). Если нет аналитического решения дифф. уравнения модели, то в самом простом случае (вектор предикторов и вектор наблюдений) потребуется одно решение на итерацию оптимизации + вычисление loss_function (как в примере выше, затраты времени на вычисление loss_function переваливают затраты на получение решения где-то уже со 100 наблюдений), но если предикторов больше, то решать уже приходится дифф. уравнение в частных производных — нетривиальная задача. Без танцев с бубном DiffEquations.jl ее не решает, но можно получить отдельное решение для каждого наблюдения, что будет очень дорого по времени — все остальные вычисления просто не будут заметны. Если есть аналитическое решение, то, разумеется, проще и быстрее решать с помощью чего угодно, что решает нелинейные модели.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации