| Type: | Package | 
| Title: | WISE: a Weighted Similarity Aggregation Test for Serial Independence | 
| Version: | 0.1.2 | 
| Description: | A fast implementation of the weighted information similarity aggregation (WISE) test for detecting serial dependence, particularly suited for high-dimensional and non-Euclidean time series. Includes functions for constructing similarity matrices and conducting hypothesis testing. Users can use different similarity measures and define their own weighting schemes. For more details see Q Zhu, M Liu, Y Han, D Zhou (2025) <doi:10.48550/arXiv.2509.05678>. | 
| Imports: | FNN, stats | 
| Suggests: | MASS | 
| License: | GPL-3 | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.3 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-10-09 07:57:42 UTC; zqh | 
| Author: | Qihua Zhu [aut, cre], Mingshuo Liu [aut], Yuefeng Han [aut], Doudou Zhou [aut] | 
| Maintainer: | Qihua Zhu <zhuqihua@u.nus.edu> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-10-15 19:30:10 UTC | 
Calculate an n by n similarity matrix
Description
Returns an n by n similarity matrix.
Usage
wise_sim(data, measure = "distance", metric = "manhattan", k = NULL)
Arguments
data | 
 an n by p data matrix, with n being the sample size and p being the dimension.  | 
measure | 
 the similarity measure: "distance" for distance-based measure; "graph" for k-nearest neighbor graph-based measure. The default is "distance".  | 
metric | 
 character string specifying the distance metric or graph weight. "manhattan" for Manhattan distance (default), "euclidean" for Euclidean distance.  | 
k | 
 the Number of nearest neighbors used in k-nearest neighbor graph. k = floor(sqrt(n)) if not specified.  | 
Value
an n by n similarity matrix.
Examples
X <- matrix(rnorm(100), nrow = 10)
wise_sim(X, measure = "distance", metric = "manhattan")
Conducts the serial independence test (WISE) based on a similarity matrix
Description
Returns the p-value of WISE, the squared test statistic, and related quantities (the chi-square critical value, permutation mean, permutation variance).
Usage
wise_test(sim, dependence = "proximity", alpha = 0.05, weight = NULL, h = 4)
Arguments
sim | 
 an n by n similarity matrix, typically generated from wise_sim().  | 
dependence | 
 design for the weight matrix W:
if "proximity",   | 
alpha | 
 the nominal significance level (default is 0.05).  | 
weight | 
 an n by n weight matrix with zero diagonal (only used if dependence = "customized").  | 
h | 
 the estimated periodicity (default is 4). The parameter is used only if dependence = "periodicity".  | 
Value
A list containing:
p_value | 
 The p-value of the test.  | 
test_statistic_sq | 
 The value of the squared test statistic.  | 
critical_value | 
 The chi-square critical value at the given significance level.  | 
t | 
 The unstandardized test statistic.  | 
permutation_mean | 
 The mean of t under the permutation null.  | 
permutation_variance | 
 The variance of t under the permutation null.  | 
Examples
library(MASS)
n <- 100
p <- 50
# Example 1: iid data
set.seed(123)
data_iid <- mvrnorm(n = n, mu = rep(0, p) , Sigma = diag(p))
wise_test(
 wise_sim(data_iid, measure = "distance", metric = "manhattan"),
 dependence = "proximity",
 alpha = 0.05
)
# Example 2: AR(1)
set.seed(123)
data_ar <- matrix(0, nrow = n, ncol = p)
error <- mvrnorm(n = n, mu = rep(0,p), Sigma = diag(p))
data_ar[1,] <- error[1,]
phi <- 0.1 * diag(p)
for (t in 2:n) {
  data_ar[t, ] <- phi %*% data_ar[t - 1, ] + error[t,]
}
wise_test(
 wise_sim(data_ar, measure = "distance", metric = "manhattan"),
 dependence = "proximity",
 alpha = 0.05
)
# Example 3: NMA(2)
set.seed(123)
data_nma <- matrix(0, nrow = n, ncol = p)
error <- mvrnorm(n = n, mu = rep(0,p), Sigma = diag(p))
data_nma[1:2, 1:p] <-error[1:2,1:p]
for (i in 3:n) {
  data_nma[i, ] <- error[i,]*error[i-1,]*error[i-2,]
}
wise_test(
 wise_sim(data_nma, measure = "distance", metric = "manhattan"),
 dependence = "proximity",
 alpha = 0.05
)