Hypothesis testing for a fully-visible Boltzmann machine.
Hypothesis testing for a fully-visible Boltzmann machine.
Tests the hypothesis that the true bias and interaction parameter values are those in nullmodel, given data and model.
fvbmtests(data, model, nullmodel)
Arguments
data: An N by n matrix, where each of the N rows contains a length n string of spin variables (i.e. each element is -1 or 1).
model: List generated from fitfvbm.
nullmodel: A list containing two elements: a vector of length n bvec, and an n by n matrix Mmat. A list generated by fitfvbm is also sufficient.
Returns
A list containing 4 objects: a vector containing the z-scores corresponding to the bias parameters bvec_z,a vector containing the p-values corresponding to the bias parameters bvec_p,a matrix containing the z-scores corresponding to the interaction parameters Mmat_z, and a matrix containing the standard errors corresponding to the interaction parameters Mmat_p.
Examples
# Generate num=1000 random strings of n=3 binary spin variables under bvec and Mmat.num <-1000; bvec <- c(0,0.5,0.25); Mmat <- matrix(0.1,3,3)- diag(0.1,3,3);data <- rfvbm(num,bvec,Mmat)# Fit a fully visible Boltzmann machine to data, starting from parameters bvec and Mmat.model <- fitfvbm(data,bvec,Mmat)#Propose a null hypothesis modelnullmodel <- list(bvec = c(0,0,0), Mmat = matrix(0,3,3))# Compute z-scoresfvbmtests(data,model,nullmodel)
References
H.D. Nguyen and I.A. Wood (2016), Asymptotic normality of the maximum pseudolikelihood estimator for fully-visible Boltzmann machines, IEEE Transactions on Neural Networks and Learning Systems, vol. 27, pp. 897-902.