Я хочу создать непрерывную кривую на основе некоторых данных, но кривая должна удовлетворять некоторым ограничениям:
- Все значения кривой находятся на интервале [0,1]. Значения за пределами этого интервала не поддаются интерпретации.
- Я хочу указать точное начальное и конечное значения: f(1) = 1 и f(last) = 0
- производная от f(x) всегда отрицательна или равна 0.
Точки данных также следуют этим правилам.
Прямо сейчас я использую smooth.monotone из пакета fda, чтобы подогнать основу bspline, созданную с помощью create.bspline.basis. Это отлично работает для сохранения монотонности между узлами, но результирующая кривая, кажется, рискует быть выше 1 и ниже 0.
Есть ли способ указать точки, через которые должна проходить аппроксимация кривой, или интервал, который кривая не может покинуть?