R中自然三次样条的计算

机器算法验证 r 样条
2022-03-25 13:24:32

我是使用三次样条进行回归的新手,想了解一下

1)什么是学习回归样条曲线的好资源(除了我读过但仍然不确定的ESL)?
2) 你将如何根据新数据计算给定自然三次样条解的基础?具体来说,如果要执行以下操作:

data(iris)
colnames(iris)
Sepal.Length.ns<-ns(iris$Sepal.Length,df=5)
Sepal.Length.ns

您将如何获取 Sepal.Length.ns 中的信息(结、边界)并计算新观测值的值?原因是在 R 之外对这个过程进行编码,一旦最初适合 R(即,将使用三次样条的回归模型放入生产系统中)。

例如,我可以在 R 中执行此操作,但想了解计算:

#three new observations to predict
newVector<-c(4.45,3.35,2.2)
pred.new<-predict(Sepal.Length.ns,newVector)

谢谢!

2个回答

维基百科对样条插值很好的解释

不久前,我在Rosettacode上发布了创建三次贝塞尔样条曲线的代码。

此外,您可以查看关于样条外推的关于 SO的讨论。

我从 Frank Harrell 的《回归建模策略》一书中了解了样条曲线在回归中的使用。Harrell 的 R 包 rms 允许您轻松拟合回归模型,其中一些预测变量表示为样条曲线。