Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spline interpolation with R

I want to perform a (cubic) spline interpolation for population data to "transform" yearly data into quarterly data. I know that there are a fair number of flaws doing so, but I need to do it.

Here is an example of my code (using generic input data):

#--------------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

How can I define that the splines are calculated "quarterly", in other words at 1973.25, 1973.5, 1973.75, 1974 etc.? Sorry for not being an expert in statistics: What would be the best method to "transform" yearly data into quarterly data: "fmm", "natural", "periodic", "monoH.FC" or "hyman"? The assumption would be that the growth of population is evenly distributed over the year.

like image 871
Gilles Cosyn Avatar asked Jan 29 '15 13:01

Gilles Cosyn


1 Answers

Why not using splinefun:

func = splinefun(x=x, y=population, method="fmm",  ties = mean)

Then you define the point to forecast you want:

func(seq(1973, 2014, 0.25))
like image 84
Colonel Beauvel Avatar answered Sep 30 '22 16:09

Colonel Beauvel