(三次)样条插值
(Cubic) spline interpolation
我想对人口数据执行(三次)样条插值,以将年度数据“转换”为季度数据。我知道这样做有很多缺陷,但我必须这样做。
这是我的代码示例(使用通用输入数据):
#--------------spline interpolation
x <- c(1973:2014)
population <- seq(500000, 600000, length.out=42)
list <- spline(x, population, n=4*length(x), method="fmm",
xmin=min(x), xmax=max(x), ties=mean)
x_spline <- list$x
pop_spline <- list$y
如何定义样条曲线是“每季度”计算的,换言之,在 1973.25、1973.5、1973.75、1974 等时间点计算?抱歉,我不是统计学专家:将年度数据“转换”为季度数据的最佳方法是什么:“fmm”、“natural”、“periodic”、“monoH.FC”或“hyman”?假设是人口增长在一年中分布均匀。
为什么不使用 splinefun
:
func = splinefun(x=x, y=population, method="fmm", ties = mean)
然后您定义要预测的点:
func(seq(1973, 2014, 0.25))
我想对人口数据执行(三次)样条插值,以将年度数据“转换”为季度数据。我知道这样做有很多缺陷,但我必须这样做。
这是我的代码示例(使用通用输入数据):
#--------------spline interpolation
x <- c(1973:2014)
population <- seq(500000, 600000, length.out=42)
list <- spline(x, population, n=4*length(x), method="fmm",
xmin=min(x), xmax=max(x), ties=mean)
x_spline <- list$x
pop_spline <- list$y
如何定义样条曲线是“每季度”计算的,换言之,在 1973.25、1973.5、1973.75、1974 等时间点计算?抱歉,我不是统计学专家:将年度数据“转换”为季度数据的最佳方法是什么:“fmm”、“natural”、“periodic”、“monoH.FC”或“hyman”?假设是人口增长在一年中分布均匀。
为什么不使用 splinefun
:
func = splinefun(x=x, y=population, method="fmm", ties = mean)
然后您定义要预测的点:
func(seq(1973, 2014, 0.25))