We have two objectives 1. Demonstrate how SpatPCA captures the most dominant spatial pattern of variation based on different signal-to-noise ratios. 2. Represent how to use SpatPCA for one-dimensional data
The underlying spatial pattern below indicates realizations will vary dramatically at the center and be almost unchanged at the both ends of the curve.
We want to generate 100 random sample based on - The spatial signal for the true spatial pattern is distributed normally with σ = 20 - The noise follows the standard normal distribution.
We can see simulated central realizations change in a wide range more frequently than the others.
There are two comparison remarks 1. Two estimates are similar to the true eigenfunctions 2. SpatPCA can perform better at the both ends.
It is hard to see a crystal clear spatial pattern via the simulated sample shown below.
The following panel indicates that SpatPCA outperforms to PCA visually when the signal-to-noise ratio is quite lower.
cv <- spatpca(x = position, Y = realizations)
eigen_est <- cv$eigenfn
data.frame(
position = position,
true = true_eigen_fn,
spatpca = eigen_est[, 1],
pca = svd(realizations)$v[, 1]
) %>%
gather(estimate, eigenfunction, -position) %>%
ggplot(aes(x = position, y = eigenfunction, color = estimate)) +
geom_line() +
base_theme