Simulation of functional data: Karhunen-Loeve expansion, Gaussian processes, and covariance matrices.
Functions
simulate
fdars.simulate(n, argvals, n_basis=5, efun_type="fourier",
eval_type="linear", seed=None)
Simulate functional data using a Karhunen-Loeve expansion with configurable eigenfunctions and eigenvalue decay.
| Parameter |
Type |
Default |
Description |
n |
int |
|
Number of curves to generate |
argvals |
ndarray (m,) |
|
Evaluation points |
n_basis |
int |
5 |
Number of basis functions |
efun_type |
str |
"fourier" |
Eigenfunction type: "fourier", "poly", "poly_high", "wiener" |
eval_type |
str |
"linear" |
Eigenvalue decay: "linear", "exponential", "wiener" |
seed |
int or None |
None |
Random seed for reproducibility |
| Returns |
Type |
Description |
| data |
ndarray (n, m) |
Simulated functional data |
t = np.linspace(0, 1, 100)
data = fdars.simulate(50, t, n_basis=5, efun_type="fourier", seed=42)
gaussian_process
fdars.gaussian_process(n, argvals, kernel="gaussian", length_scale=0.2,
variance=1.0, seed=None)
Generate samples from a Gaussian process with a specified kernel.
| Parameter |
Type |
Default |
Description |
n |
int |
|
Number of curves |
argvals |
ndarray (m,) |
|
Evaluation points |
kernel |
str |
"gaussian" |
Kernel: "gaussian", "exponential", "matern", "periodic" |
length_scale |
float |
0.2 |
Kernel length scale |
variance |
float |
1.0 |
Kernel variance (signal variance) |
seed |
int or None |
None |
Random seed |
| Returns |
Type |
Description |
| samples |
ndarray (n, m) |
Gaussian process samples |
t = np.linspace(0, 1, 200)
gp = fdars.gaussian_process(30, t, kernel="matern", length_scale=0.1, seed=42)
covariance_matrix
fdars.covariance_matrix(argvals, kernel="gaussian", length_scale=0.2, variance=1.0)
Compute a covariance matrix from a specified kernel function.
| Parameter |
Type |
Default |
Description |
argvals |
ndarray (m,) |
|
Evaluation points |
kernel |
str |
"gaussian" |
Kernel: "gaussian" or "exponential" |
length_scale |
float |
0.2 |
Kernel length scale |
variance |
float |
1.0 |
Kernel variance |
| Returns |
Type |
Description |
| cov |
ndarray (m, m) |
Covariance matrix |
t = np.linspace(0, 1, 100)
C = fdars.covariance_matrix(t, kernel="gaussian", length_scale=0.2)