примечание: без правильных ответов через месяц я разместил сообщение на SO
Фон
У меня есть модель, , где
-матрица выборок изпараметров размером а-векторвыходных данных модели.
требует большого объема вычислений, поэтому я хотел бы аппроксимировать используя многовариантный кубический сплайн через точек, чтобы я мог оценить в большем количестве точек.
Вопрос
Есть ли функция R, которая будет вычислять произвольные отношения между X и Y?
В частности, я ищу многовариантную версию splinefun
функции, которая генерирует сплайн-функцию для одномерного случая.
например, это то, как splinefun
работает для одномерного случая
x <- 1:10
y <- runif(10)
foo <- splinefun(x,y)
foo(1:10) #returns y, as example
all(y == foo(1:10))
## TRUE
Что я пробовал
Я рассмотрел пакет mda , и кажется, что должно работать следующее:
library(mda)
x <- data.frame(a = 1:10, b = 1:10/2, c = 1:10*2)
y <- runif(10)
foo <- mars(x,y)
predict(foo, x) #all the same value
all(y == predict(foo,x))
## FALSE
но я не мог найти способ реализовать кубический сплайн в mars
обновить, поскольку предлагая щедрость, я изменил название. Если функции R нет, я бы принял в порядке предпочтения: функцию R, которая выводит функцию процесса Гаусса, или другую многомерную интерполяционную функцию, которая проходит через точки проектирования, предпочтительно в R, иначе Matlab.