] Учитывая параметры масштабирования по оси y (s) и смещения по оси x (t), как масштабировать и выравнивать две не совпадающие кривые, когда целью является максимизация суперпозиции кривых (а не минимизация расстояния)?
Как указал @DWin, это можно было бы переименовать в «Как идеально играть в тетрис с помощью R», хотя у него есть приложения, выходящие далеко за рамки победы в игре тетрис.
Вариация этого вопроса может включать любое количество преобразований твердого тела (вращение, перемещение и масштабирование).
Имея кривую 1
curve1<-data.frame(x=c(1,1,2,2,3),
y=c(9,6,6,3,3))
with(curve1, plot(x=x, y=y, type="l", xlim=c(0,10), ylim=c(0,10)))
и кривую 2
curve2<-data.frame(x=c(4,5,5,6,6,7),
y=c(2,2,1,1,2,3))
with(curve2, plot(x=x, y=y, type="l", xlim=c(0,10), ylim=c(0,10)))
, я хочу найти s и t, которые максимизируют суперпозицию между двумя кривыми.
В идеале метод должен быть в R с использованием optim.
В этом составленном примере t=3 и s=1/3, так что
t=3
s=1/3
with(curve2, plot(x=x, y=y, type="l", xlim=c(0,10), ylim=c(0,10)))
with(curve1, lines(x=x+t, y=y*s, col="red"))
Обратите внимание, что для получения такой подгонки области, которые могут иметь консенсус, должны иметь более высокий вес при параметризации, чем области, которые не могут быть наложенным друг на друга, и что чем больше область консенсуса, тем выше вес.
Следы, которые я исследовал:
Бонусные баллы за метод, использующий максимальное правдоподобие (при нормальном распределении ошибок).