which algorithms can be used to extrapolate non-linear data?
That function can be decomposed into composite components:


General trend
Repeated frequencies (looks like there are 3 major cycles)
Random noise


A Fourier transform can decompose a function into its constituent frequencies.