Description Usage Arguments Value Author(s) References Examples
Collection of stepwise procedures to conduct multiple hypotheses testing. The details of the stepwise algorithm can be found in Romano and Wolf (2007) <DOI:10.1214/009053606000001622> and Hsu, Kuan, and Yen (2014) <DOI:10.1093/jjfinec/nbu014>.
1 2 | FWERkControl(test_stat, boot_stat, k, alpha)
FDPControl(test_stat, boot_stat, gamma, alpha)
|
test_stat |
m x 1 column vector of test statistics |
boot_stat |
m x B matrix of bootstrap statistics |
k |
Number of false rejections |
gamma |
False discovery proportion |
alpha |
The desired FWER(k) or FDP level |
Reject
: A 0/1 numeric vector where the element j
equals 1 indicates the model j
is significant.
CV
: The critical value.
Yu-Chin Hsu and Kendro Vincent
Maintainer: Kendro Vincent <vincent.kendro@gmail.com>
Romano, J. P. and Wolf, M. (2005). “Stepwise multiple testing as formalized data snooping.” Econometrica, 73, 1237-1282.
Romano, J. P. and Wolf, M. (2007). “Control of generalized error rates in multiple testing.” Annals of Statistics, 35, 1378-1408.
Hsu, P.-H., Hsu, Y.-C., and Kuan, C.-M. (2010). “Testing the predictive ability of technical analysis using a new stepwise test without data-snooping bias.” Journal of Empirical Finance, 17, 471-484.
Hsu, Y.-C., Kuan, C.-M., and Yen, M.-F. (2014). “A generalized stepwise procedure with improved power for multiple inequalities testing.” Journal of Financial Econometrics, 12, 730-755.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # Specify the model parameters
m_null = 3
m_alt = 7
m = m_null + m_alt
mu = c( rep(0, m_null), rep(0.5,m_alt) )
rho = 0.25
omega= (1-rho)*diag(1,m) + rho*matrix(1,m,m)
v=t(chol(omega))
# generate the data
n = 100
y = mu%*%matrix(1,1,n)+ v %*% matrix(rnorm(m*n),m,n)
# calculate the test statistics and bootstrap statistics
library(foreach)
library(tseries)
B = 100
y_mean = apply(y,1,mean)
y_sig = apply(y,1,sd)
t_stat = as.matrix(sqrt(n)*y_mean/y_sig)
s = tsbootstrap(1:n,B,b=2,type="stationary")
b_stat = foreach(i=1:B,.combine=cbind) %do% {
y_boot = y[, s[,i]]
y_mean_boot = apply(y_boot,1,mean)
sqrt(n)*(y_mean_boot - y_mean)/y_sig
}
# Multiple test that controls FWER(1) at 5% significance level
FWERkControl(t_stat,b_stat,1,0.05)
# Multiple test that controls FWER(3) at 5% significance level
FWERkControl(t_stat,b_stat,1,0.05)
# Multiple test that controls FDP(0.1) at 5% significance level
FDPControl(t_stat,b_stat,0.1,0.05)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.