谁能告诉我如何使用二次插值来估算缺失的数据。我知道该zoo
软件包提供线性和三次插值。
- 二次插值怎么样?
- 如何检查推算的值是否正确?
谢谢。
大量的赞成票鼓励我将我的评论变成答案。
由于以下原因,二次插值很少见:两个数据点定义一条线,四个数据点定义一条三次曲线。因此,您可以使用插值间隙任一侧的一个或两个数据点进行插值。对于三次情况,您还可以使用四个自由度来匹配间隙两侧的函数值和斜率,这会导致三次样条插值。
但是,对于二次曲线,您需要具有三个自由度。所以你需要三个点来定义插值形状,你不能均匀地分布在间隙的两侧。
可能的解决方案”:
我不会建议这些,但我想不出更好的答案来回答你的问题。对于每次计算,您可以验证给定的实现是否与设计理念相匹配,但由于我认为所有的设计理念都有缺陷,这种正确性仍然不能确保插值实际上有意义。
对于多项式插值和可视化结果拟合,我想您可能会尝试以下方式:
x <- runif(100,-2,2)
y <- x**2-rnorm(100) # an approximately quadratic relation between x and y.
plot(x,y)
quadratic.model <- lm(y ~ x + I(x**2))
int <- function(x) predict(quadratic.model,list(x=x))
plot(int,xlim=c(-2,2),col="navy",add=T)
segments(x,y,x,int(x),col="red")
...“正确性”当然只能衡量插补和观察之间的距离。