Efficient storage of functional data I have access to a sample (size $N$) of functional data. Each observation corresponds to $C$ functions. Each function $f_{n,c}$ is represented by $T_n$ points for $1\geq n \geq N, 1\geq c \geq C$. All $N, C, T_n$ are in the order of $1e2$ to $1e4$. It is prohibitive to store every $f_{n,c}$.
How do I efficiently store each observation's functions efficiently?
For more context, these data come from a computer process, where it is reasonable to temporarily store $f_{n,c}$ as a vector of points, but not all of them all at once.
I am thinking of summarizing the functions via  spline approximations and storing the parameters instead. Is there a more fundamentally sound approach?
 A: We use a basis $B$. Each time we get new data point, we project it in that basis, repeat. That way we are storing only the coefficients and a single copy of the basis functions. The obvious choice of a basis is to do an Functional PCA on our data. If we cannot/do not want to do that, a parametric basis should do mostly fine to. Example: JPEG 2000 was effectively a 2D discrete cosine transformation. Assuming one does not go fully non-parametric with the FPCA, at first instance, I would suggest looking at wavelets as they are the most flexible in terms of time- as well as frequency-domain. There is a slew of papers available for "wavelets on functional data", so I will mention two books:

*

*Wavelet Methods in Statistics with R (2008) by Nason.

*Wavelets in Functional Data Analysis (2017) by Morettin et al.

For a quick starter, I just saw this BSc thesis on Wavelet Representations for functional data (2019) by Lorenz and it's pretty decent if you want to get started too!
In any case, given we have defined our functional basis, reconstructing our original data $D$ is just taking our stored coefficients and using them to build this *reduced dimensionality" approximation $\hat{D}$. The error is going to be controlled by the expressiveness our basis $B$.
