about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/SLP/examples/test_data_generation.m
diff options
context:
space:
mode:
Diffstat (limited to 'sourcecodes/bnt-master/SLP/examples/test_data_generation.m')
-rw-r--r--sourcecodes/bnt-master/SLP/examples/test_data_generation.m46
1 files changed, 46 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/SLP/examples/test_data_generation.m b/sourcecodes/bnt-master/SLP/examples/test_data_generation.m
new file mode 100644
index 00000000..a31cf8da
--- /dev/null
+++ b/sourcecodes/bnt-master/SLP/examples/test_data_generation.m
@@ -0,0 +1,46 @@
+% gener_mcardat
+
+%%Jouet 1
+N=5;
+dag=zeros(N);
+dag(1,2)=1;
+dag(2,[3 4])=1;
+dag(4,5)=1;
+node_sizes= [2 3 4 5 2]; ns = node_sizes;
+bnet = mk_bnet(dag, node_sizes);
+bnet.CPD{1} = tabular_CPD(bnet, 1, [0.2 0.8]);
+bnet.CPD{2} = tabular_CPD(bnet, 2, [0.1 0.6 0.3 0.9 0.4 0.7]);
+bnet.CPD{3} = tabular_CPD(bnet, 3, [0.3 0.5 0.7 0.2   0.2 0.1 0.05 0.5   0.5 0.4 0.25 0.3]);
+bnet.CPD{4} = tabular_CPD(bnet, 4, [0.35 0.05 0.65 0.15 0.25  0.15 0.15 0.10 0.25 0.45  0.5 0.8 0.25 0.6 0.3]);
+bnet.CPD{5} = tabular_CPD(bnet, 5, [0.25 0.15  0.15 0.25  0.10 0.15  0.2 0.05  0.3 0.4]);
+bnet_orig=bnet
+
+base_proba=0.2;
+
+%%%%%%%% MCAR
+
+bnet_miss = gener_MCAR_net(bnet_orig, base_proba);
+
+carre=zeros(1,3*N);
+names={'X1','X2','X3','X4','X5','R1','R2','R3','R4','R5','M1','M2','M3','M4','M5'};
+xx=[.1,.3,.5,.7,.9,.05,.25,.45,.65,.85,.15,.35,.55,.75,.95];
+yy=[.85,.70,.90,.75,.80,.65,.40,.60,.45,.50,.2,.2,.2,.2,.2];
+figure;draw_graph(bnet_miss.dag,names,carre,xx,yy)
+
+[data, comp_data, bnet_miss, taux, bnet_orig, notok] = gener_data_from_bnet_miss(bnet_miss, 500, base_proba ,0,0);
+
+OK = ~notok
+
+%%%%%%%% MAR
+
+bnet_miss = gener_MAR_net(bnet_orig, base_proba);
+
+carre=zeros(1,3*N);
+names={'X1','X2','X3','X4','X5','R1','R2','R3','R4','R5','M1','M2','M3','M4','M5'};
+xx=[.1,.3,.5,.7,.9,.05,.25,.45,.65,.85,.15,.35,.55,.75,.95];
+yy=[.85,.70,.90,.75,.80,.65,.40,.60,.45,.50,.2,.2,.2,.2,.2];
+figure;draw_graph(bnet_miss.dag,names,carre,xx,yy)
+
+[data, comp_data, bnet_miss, taux, bnet_orig, notok] = gener_data_from_bnet_miss(bnet_miss, 500, base_proba ,0,0);
+
+OK = ~notok