gmdbn | R Documentation |
This function creates a Gaussian mixture dynamic Bayesian network as an
object of S3 class gmdbn
. Assuming that the system evolves over time
(possibly non-stationary) and denoting by X^{(t)} its state at time
slice t, a dynamic Bayesian network is a probabilistic graphical model
that encodes the joint distribution over any finite time sequence:
p(X^{(1)}, … , X^{(T)}) = p(X^{(1)}) ∏_{t = 2}^T p(X^{(t)} | X^{(t - 1)}, … , X^{(1)})
It is defined by a sequence of transition models \mathcal{B}_1, \mathcal{B}_2, … , \mathcal{B}_N associated with transition time slices t_1 = 1 < t_2 < … < t_N, where:
\mathcal{B}_1 is a Bayesian network that encodes the
distribution p(X^{(t)}) for 1 ≤ t ≤ t_2 - 1, assuming that
the states at these time slices do not depend on previous states;
for each i ≥ 2, \mathcal{B}_i is a (k_i + 1)-slice temporal Bayesian network (where k_i < t_i) that encodes the transition distribution p(X^{(t)} | X^{(t - 1)}, … , X^{(t - k_i)}) for t_i ≤ t ≤ t_{i + 1} - 1 (or t ≥ t_i if i = N), assuming that the states at these time slices only depend on the k_i previous states (Hourbracq et al., 2017).
In a Gaussian mixture dynamic Bayesian network, these transition models are Gaussian mixture Bayesian networks (Roos et al., 2017).
gmdbn(...)
... |
Objects of class |
A list of class gmdbn
containing the gmbn
objects
passed as arguments.
Hourbracq, M., Wuillemin, P.-H., Gonzales, C. and Baumard, P. (2017). Learning and Selection of Dynamic Bayesian Networks for Non-Stationary Processes in Real Time. In Proceedings of the 30th International Flairs Conference, pages 742–747, Marco Island, FL, USA.
Roos, J., Bonnevay, S. and Gavin, G. (2017). Dynamic Bayesian Networks with Gaussian Mixture Models for Short-Term Passenger Flow Forecasting. In Proceedings of the 12th International Conference on Intelligent Systems and Knowledge Engineering, Nanjing, China.
gmbn
, gmm
library(dplyr) data(data_air) data <- data_air %>% group_by(DATE) %>% mutate(NO2.1 = lag(NO2), O3.1 = lag(O3), TEMP.1 = lag(TEMP), WIND.1 = lag(WIND)) %>% ungroup() gmdbn_1 <- gmdbn( b_2 = gmbn( NO2 = split_comp(add_var(NULL, data[, c("NO2", "NO2.1", "WIND")]), n_sub = 3), O3 = split_comp(add_var(NULL, data[, c("O3", "NO2", "NO2.1", "O3.1", "TEMP", "TEMP.1")]), n_sub = 3), TEMP = split_comp(add_var(NULL, data[, c("TEMP", "TEMP.1")]), n_sub = 3), WIND = split_comp(add_var(NULL, data[, c("WIND", "WIND.1")]), n_sub = 3) ), b_13 = gmbn( NO2 = split_comp(add_var(NULL, data[, c("NO2", "NO2.1", "WIND")]), n_sub = 3), O3 = split_comp(add_var(NULL, data[, c("O3", "O3.1", "TEMP", "TEMP.1", "WIND")]), n_sub = 3), TEMP = split_comp(add_var(NULL, data[, c("TEMP", "TEMP.1")]), n_sub = 3), WIND = split_comp(add_var(NULL, data[, c("WIND", "WIND.1")]), n_sub = 3) ) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.