perturb {deal} | R Documentation |
Randomly insert/delete/turn arrows to obtain another network.
perturb(nw,data,prior,degree=size(nw),trylist=vector("list",size(nw)), nocalc=FALSE,timetrace=TRUE)
nw |
an object of class network , from which arrows are added/removed/turned. |
data |
a data frame used for learning the network, see
network . |
prior |
a list containing parameter priors, generated by
jointprior . |
degree |
an integer, which gives the number of attempts to randomly insert/remove/turn an arrow. |
trylist |
a list used internally for reusing learning of nodes,
see maketrylist . |
nocalc |
a logical. If TRUE no learning procedure is called, see eg. rnetwork . |
timetrace |
a logical. If TRUE , prints some timing
information on the screen. |
Given the initial network, a new network is constructed by randomly choosing an action: remove, turn, add. After the action is chosen, we choose randomly among all possibilities of that action. If there are no possibilites, the unchanged network is returned.
A list with two elements that may be accessed using
getnetwork
and gettrylist
. The elements are
nw |
an object of class network with the generated network. |
trylist |
an updated list used internally for reusing learning
of nodes, see maketrylist . |
Susanne Gammelgaard Bottcher alma@math.aau.dk,
Claus Dethlefsen cld@rn.dk.
Further information about deal can be found at:
http://www.math.aau.dk/~dethlef/novo/deal.
set.seed(200) data(rats) fit <- network(rats) fit.prior <- jointprior(fit) fit <- getnetwork(learn(fit,rats,fit.prior)) fit.new <- getnetwork(perturb(fit,rats,fit.prior,degree=10)) data(ksl) ksl.nw <- network(ksl) ksl.rand <- getnetwork(perturb(ksl.nw,nocalc=TRUE,degree=10)) plot(ksl.rand)