dbn.learn: Dynamic Bayesian Network Structure Learning

Description Usage Arguments Value Author(s) Examples

View source: R/dbnlearn.R

Description

Dynamic Bayesian Network Structure Learning

Usage

1

Arguments

ts

Time Series.

Value

Dynamic Bayesian Network Structure Learning

Author(s)

Robson Fernandes

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 library(dbnlearn)
 library(bnviewer)
 library(ggplot2)

 #Time Series AirPassengers
 ts <- AirPassengers

 #Time Series Preprocessing with time window = 12
 X.ts = dbn.preprocessing(ts, window = 12)

 #Define 70\% Train and 30\% Test Data Set
 percent = 0.7
 n = nrow(X.ts)

 trainIndex <- seq_len(length.out = floor(x = percent * n))
 X.ts.train <- X.ts[trainIndex,]
 X.ts.test <- X.ts[-trainIndex,]

 #Dynamic Bayesian Network Structure Learning
 ts.learning = dbn.learn(X.ts.train)

 #Viewer Dynamic Bayesian Network
 viewer(ts.learning,
        edges.smooth = TRUE,
        bayesianNetwork.height = "400px",
        node.colors = list(background = "#f4bafd",
                           border = "#2b7ce9",
                           highlight = list(background = "#97c2fc",
                                            border = "#2b7ce9")),
        bayesianNetwork.layout = "layout_with_sugiyama")


 #Dynamic Bayesian Network Fit
 ts.fit = dbn.fit(ts.learning, X.ts.train)


 #Predict values
 prediction = dbn.predict(ts.fit, X.ts.test)


 #Plot Real vs Predict
 real = X.ts.test[, "X_t"]
 prediction = prediction

 df.validation = data.frame(list(real = real, prediction = prediction))

 ggplot(df.validation, aes(seq(1:nrow(df.validation)))) +
   geom_line(aes(y = real, colour="real")) +
   geom_line(aes(y = prediction, colour="prediction")) +
   scale_color_manual(values = c(
     'real' = 'deepskyblue',
     'prediction' = 'maroon1')) +
   labs(title = "Dynamic Bayesian Network",
        subtitle = "AirPassengers Time Series",
        colour = "Legend",
        x = "Time Index",
        y = "Values") + theme_minimal()

dbnlearn documentation built on July 30, 2020, 5:14 p.m.