BKS: Boolean Kalman Smoother

Description Usage Arguments Details Value Source Examples

View source: R/BKS.r

Description

Genereates the optimal MMSE estimate of the state of a Partially-Observed Boolean Dynamical System by implementing a Boolean Kalman Smoother to batch data

Usage

1
BKS(Y, net, p, obsModel)

Arguments

Y

Time series of noisy observations of the Boolean regulatory network.
Each row and column correspond to a specific Boolean variable and time point respectively.

net

A Boolean Network object (specified in BoolNet vernacular) that the time series of observations presented in Y is based on

p

Intensity of Bernoulli process noise

obsModel

Parameters for the chosen observation model.

Details

In the event that a sequence of measurements is available offline, the BKS can be used for computation of the optimal MMSE of smoothed trajectory.

The Boolean Kalman Smoother algorithm can handle various observation models, including Bernoulli, Gaussian, Poisson, and Negative-Binomial, based on the input to the obsModel parameter.

The obsModel parameter is defined the same as the Boolean Kalman Filter and simulateNetwork functions, reference the documentation for BKF or simulateNetwork for details.

Value

Xhat

Estimate of the sate of the Partially-Observed Boolean Dynamical System based on the BKS algorithm

MSE

Mean Squared Error of the estimate returned by the BKS algorithm for each time instance

Source

Imani, M., & Braga-Neto, U. (2015, December). Optimal state estimation for boolean dynamical systems using a boolean Kalman smoother. In 2015 IEEE Global Conference on Signal and Information Processing (GlobalSIP) (pp. 972-976). IEEE.

Examples

1
2
3
4
5
6
7
8
9
data(p53net_DNAdsb0)

obsModel = list(type = 'Bernoulli', q = 0.02)

#Simulate a network with Bernoulli observation noise
data <- simulateNetwork(p53net_DNAdsb0, n.data = 100, p = 0.02, obsModel)
          
#Derive the optimal estimate of state of the network using the BKS algorithm
Results <- BKS(data$Y, p53net_DNAdsb0, p = 0.02, obsModel)

BoolFilter documentation built on May 2, 2019, 1:27 p.m.