Pull to refresh
7
0
Константин @kostik_rusakov

Data Scientist

Send message

@befuddle Спасибо за интересную статью! А можете, пожалуйста, поделиться датасетом Forms (по гугл ссылке пишется "Нет доступа")

Добрый день. Спасибо большое за интересную статью. В выводах вы пишите, что "индекс «IVF262144, PQ64» полностью удовлетворил все наши нужды по скорости и точности поиска". Скажите пожалуйста, а есть у вас точные показатели точноти и скорости при ваших 315 миллионах векторов по сравнению с полным перебором, например.

Согласен с Вами, спасибо за замечание.
Потому что сначала мы решаем нашу систему дифф. уравнений

S = dsolve(diff(x) == ax + 1y,'x(0)=20', diff(y) == 0.0225x — 0.3y,'y(0)=20');

И выбираем первую фазовую координату, потому что она содержит наш искомый параметр

x(t) = S.x;

Эта фазовая координата и есть x_1
Затем в цикле

for i=2:81
SSS(i)=solve(SS(i)==X(i,1),a);
end

приравниваем SS (это модельные значения x_1) к X(i,1) (это измеренные значения первой фазовой координаты x_1) для того чтобы найти оценку a^* в моменты времени T

Игнорирую вторую фазовую координату, так как в данный момент она не нужна. И мы можем вообще изначально установить что мы её не наблюдаем.
Точки я использую одни и те же. Эти точки "T" выходят автоматически при решении в самом начале нашей системы методом Рунге-Кутты. Потом я их же использую для параметрической идентификации.
Я не стремился решить эту задачу наилучшим способом. Просто на этом примере я хотел показать решение задачи параметрической идентификации методом наименьших квадратов , когда модель задана в виде системы линейных дифференциальных уравнений. Безусловно фильтр Калмана лучше справился бы с этой задачей.
Да вы правы, некорректно написал. Параметр оценивается дискретно. И правильнее было сказать, что оценка параметра а сходится к "истинному" значению. Почему такая значительная ошибка? Уже написал выше, я думаю что это из-за использования встроенных алгоритмов для решения обратных задач. Но это мое мнение, если вы считаете по другому, напишите пожалуйста.
Погрешность 28 %. Да, достаточно большая. Причем там появляется систематическая погрешность. Почему именно, нужно разбираться, но мне кажется что эти ошибки возникают из-за использования встроенных алгоритмов MatLab для решения таких обратных задач. По крайней мере оценка хоть примерно сходится в направлении "истинного" значения.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity