nota: sem respostas corretas após um mês, reenviei para SO
fundo
Eu tenho um modelo, , onde Y = f ( X )
é umamatrizde amostras deparâmetroseé ovetordas saídas do modelo.
é computacionalmente intensivo, então eu gostaria de aproximar usando um spline cúbico multivariado através de pontos , para que eu possa avaliar em um número maior de pontos.
Questão
Existe uma função R que calcule uma relação arbitrária entre X e Y?
Especificamente, estou procurando uma versão multivariada da splinefun
função, que gera uma função spline para o caso univariado.
por exemplo, é assim que splinefun
funciona para o caso univariado
x <- 1:10
y <- runif(10)
foo <- splinefun(x,y)
foo(1:10) #returns y, as example
all(y == foo(1:10))
## TRUE
O que eu tentei
Eu revi o pacote mda e parece que o seguinte deve funcionar:
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
mas não consegui encontrar nenhuma maneira de implementar um spline cúbico no mars
atualização desde a oferta da recompensa, alterei o título - Se não houver função R, aceitaria, em ordem de preferência: uma função R que produz uma função de processo gaussiana ou outra função de interpolação multivariada que passa pelos pontos de design, de preferência em R, mais Matlab.