Goal: Replicate simulation in Section 4.1 of Wang & Shi (2014) [GGPFR].
20 replicates per setting.
GGPFR also uses “squared exponential” covariance structure for fitting. Basis dimension for \(\beta_0(t)\) chosen as in the article.
Boxplots show results for each of the 20 replicates per combination of settings.
Mean RMSEs:
group_by(tbl_df(res), n, g, alg) %>%
filter(n==60) %>%
summarise(beta0 = mean(rmse_beta0),
nu = mean(rmse_nu),
eta = mean(rmse_eta))
## Source: local data frame [6 x 6]
## Groups: n, g
##
## n g alg beta0 nu eta
## 1 60 21 ggpfr 0.2171 0.3068 0.3714
## 2 60 21 pffr 0.2222 0.3140 0.3824
## 3 60 41 ggpfr 0.1858 0.2713 0.3263
## 4 60 41 pffr 0.1675 0.2929 0.3355
## 5 60 61 ggpfr 0.1603 0.2569 0.2977
## 6 60 61 pffr 0.1474 0.2794 0.3110
Results in Wang/Shi for rmse_eta are different, they get mean RMSEs 0.3193, 0.2639, 0.2387 for \(n=60; g=20, 40, 60\)….
Approximate CIs for \(\eta_i(t)\). Nominal level: 90%
Arrows connect results on same data.
Mean Coverage:
group_by(tbl_df(res), n, g, alg) %>%
summarise(coverage = mean(cover_eta))
## Source: local data frame [12 x 4]
## Groups: n, g
##
## n g alg coverage
## 1 30 21 ggpfr 0.5829
## 2 30 21 pffr 0.7767
## 3 30 41 ggpfr 0.6521
## 4 30 41 pffr 0.8024
## 5 30 61 ggpfr 0.6274
## 6 30 61 pffr 0.8143
## 7 60 21 ggpfr 0.7438
## 8 60 21 pffr 0.8085
## 9 60 41 ggpfr 0.7834
## 10 60 41 pffr 0.8335
## 11 60 61 ggpfr 0.7906
## 12 60 61 pffr 0.8755
n_obs is number of curves n times number of points per curve g.
Computation times for GGPFR given for a single run using pre-specified number of basis functions for estimating \(\beta_0(t)\). Since BIC-based selection of the basis dimension requires \(k\) runs for selecting between \(k\) candidate numbers of basis functions, actual computation times in practical applications will increase roughly \(k\)-fold.
Median times (minutes):
group_by(tbl_df(res), n, g, alg) %>%
summarise(time = median(time)/60)
## Source: local data frame [12 x 4]
## Groups: n, g
##
## n g alg time
## 1 30 21 ggpfr 4.522
## 2 30 21 pffr 1.485
## 3 30 41 ggpfr 177.321
## 4 30 41 pffr 4.318
## 5 30 61 ggpfr 279.166
## 6 30 61 pffr 5.916
## 7 60 21 ggpfr 19.987
## 8 60 21 pffr 5.782
## 9 60 41 ggpfr 466.838
## 10 60 41 pffr 24.653
## 11 60 61 ggpfr 510.688
## 12 60 61 pffr 39.042
Using pffr() from refundDevel at r177 on R-3.1.0 with mgcv_1.8-3. Using MATLAB 7.12.0.635 (R2011a) 64-bit (glnxa64). Simulations ran on a server with 32 Quad-Core AMD Opterons 8384 (2.6 GHz).