注:用了一个月后,没有正确的答案,我要重新发布SO
背景
我有一个模型,其中
是来自 m个参数的样本的 n × m矩阵, Y是模型输出的 n × 1向量。
是计算密集型的,因此我想使用多变量三次样条曲线通过(X ,Y )点来近似 f,以便可以在更多点上评估 Y。
题
是否有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中。
尝试gam()函数,它允许三次样条
—
曲线的