/** * Replicates this model. */ @Override public void replicateModel() { //nonReplicatedNodes are the Dirichlet storing topics distributions. nonReplictedNodes = ef_learningmodel.getDistributionList().stream() .filter(dist -> isNonReplicatedVar(dist.getVariable())) .map(dist -> { Node node = new Node(dist); nonReplicatedVarsToNode.put(dist.getVariable(), node); return node; }) .collect(Collectors.toList()); List<Node> allNodes = new ArrayList<>(); allNodes.addAll(this.nonReplictedNodes); this.vmp.setNodes(allNodes); }
/** * Replicates this model. */ @Override public void replicateModel() { //nonReplicatedNodes are the Dirichlet storing topics distributions. nonReplictedNodes = ef_learningmodel.getDistributionList().stream() .filter(dist -> isNonReplicatedVar(dist.getVariable())) .map(dist -> { Node node = new Node(dist); nonReplicatedVarsToNode.put(dist.getVariable(), node); return node; }) .collect(Collectors.toList()); List<Node> allNodes = new ArrayList<>(); allNodes.addAll(this.nonReplictedNodes); this.vmp.setNodes(allNodes); }
.filter(dist -> dist.getVariable().isParameterVariable()) .map(dist -> { Node node = new Node(dist); parametersToNodeTime0.put(dist.getVariable(), node); return node; .filter(dist -> !dist.getVariable().isParameterVariable()) .map(dist -> { Node node = new Node(dist); variablesToNodeTime0.put(dist.getVariable(), node); return node;
nodeDirichletMixingTopics = new Node(ef_learningmodel.getDistribution(dirichletMixingTopics)); tmpNodes.add(nodeDirichletMixingTopics); tmpNodes = new ArrayList<>(); nodeDirichletMixingTopics = new Node(ef_learningmodel.getDistribution(dirichletMixingTopics)); tmpNodes.add(nodeDirichletMixingTopics); nodeTopic = new Node(ef_learningmodel.getDistribution(topicIndicator)); nodeWord = new Node(ef_learningmodel.getDistribution(word)); nodeWord.setAssignment(data.get(i));
nodeDirichletMixingTopics = new Node(ef_learningmodel.getDistribution(dirichletMixingTopics)); tmpNodes.add(nodeDirichletMixingTopics); tmpNodes = new ArrayList<>(); nodeDirichletMixingTopics = new Node(ef_learningmodel.getDistribution(dirichletMixingTopics)); tmpNodes.add(nodeDirichletMixingTopics); nodeTopic = new Node(ef_learningmodel.getDistribution(topicIndicator)); nodeWord = new Node(ef_learningmodel.getDistribution(word)); nodeWord.setAssignment(data.get(i));
/** * {@inheritDoc} */ @Override public void setModel(DynamicBayesianNetwork model_) { model = model_; ef_model = new EF_DynamicBayesianNetwork(this.model); this.vmpTime0.setEFModel(ef_model.getBayesianNetworkTime0()); nodesTimeT = this.ef_model.getBayesianNetworkTimeT().getDistributionList() .stream() .map(dist -> new Node(dist)) .collect(Collectors.toList()); nodesClone = this.ef_model.getBayesianNetworkTime0().getDistributionList() .stream() .map(dist -> { Variable temporalClone = this.model.getDynamicVariables().getInterfaceVariable(dist.getVariable()); EF_UnivariateDistribution uni = temporalClone.getDistributionType().newUnivariateDistribution().toEFUnivariateDistribution(); Node node = new Node(uni); node.setActive(false); return node; }) .collect(Collectors.toList()); List<Node> allNodes = new ArrayList(); allNodes.addAll(nodesTimeT); allNodes.addAll(nodesClone); this.vmpTimeT.setNodes(allNodes); this.vmpTimeT.updateChildrenAndParents(); }
.filter(dist -> dist.getVariable().isParameterVariable()) .map(dist -> { Node node = new Node(dist); parametersToNodeTimeT.put(dist.getVariable(), node); return node; Variable temporalClone = this.dbnModel.getDynamicVariables().getInterfaceVariable(dist.getVariable()); EF_UnivariateDistribution uni = temporalClone.getDistributionType().newUnivariateDistribution().toEFUnivariateDistribution(); Node node = new Node(uni); node.setActive(false); cloneVariablesToNode.put(temporalClone, node); .filter(dist -> !dist.getVariable().isParameterVariable()) .map(dist -> { Node node = new Node(dist, dist.getVariable().getName()+"_Slice_"+slice); map.put(dist.getVariable(), node); return node;