MMAE {BoolFilter} | R Documentation |
This function implements the Multiple Model Adaptive Estimation (MMAE) algorithm, which implements a bank of Boolean Kalman Filters running in parallel on a dataset in order to estimate model parameters.
MMAE(data, net, p, threshold, Prior = NA, obsModel = NA)
data |
Data from which the MMAE algorithm should attempt to estimate parameters |
net |
A vector of potential networks, defined in the BoolNet |
p |
A vector containing different possible intensities of Bernoulli process noise, from which the MMAE algorithm should choose the most likely |
threshold |
A posterior probability threshold value (between 0 and 1) for which the MMAE should stop running |
Prior |
A vector of the prior probabilities of the possible combinations of the various networks and process noise parameters input to the algorithm. The vector must be of size |
obsModel |
Parameters for the chosen observation model. |
The MMAE algorithm will return which network and process noise value is most likely to have generated the given dataset supplied in Y
.
If the posterior probability for any of the combinations of networks and process noise parameters fails to surpass the value defined in the threshold
variable, the algorithm will output that no decision could be made using the given data.
Imani, M., & Braga-Neto, U. (2015, November). Optimal gene regulatory network inference using the boolean kalman filter and multiple model adaptive estimation. In 2015 49th Asilomar Conference on Signals, Systems and Computers (pp. 423-427). IEEE.
#load potential networks data(p53net_DNAdsb0) data(p53net_DNAdsb1) net1 <- p53net_DNAdsb0 net2 <- p53net_DNAdsb1 #define observation model observation = list(type = 'NB', s = 10.875, mu = 0.01, delta = c(2, 2, 2, 2), phi = c(3, 3, 3, 3)) #simulate data using one of the networks and a given 'p' data <- simulateNetwork(net1, n.data = 100, p = 0.02, obsModel = observation) #run MMAE to determine model selection and parameter estimation MMAE(data, net=c("net1","net2"), p=c(0.02,0.1,0.15), threshold=0.8, obsModel = observation)