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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| %=========================================================================
% [II] apprentissage de la structure avec des données binaires
%==========================================================================
close all
clear all
clc
load stress_binaire.txt
%===================================================
% matrice d'adjacence
%===================================================
N=16;
dag=zeros(N,N);
%======================================================
% numérotation des noeuds
%======================================================
% VitC vitE gama vitCE Se Cu Zn Cu_Zn GSH GSSG GPX ratioGG prot_thiol AcideUrique
% c=1; e=2; ratioGG=6;thiol=7; se=3;cu=4;zn=8;tbar=5;
c=16; GSH=9;
e=2; GSSG=10;
gama=3; ratioGG=11;
c_e=4; thiol=12;
se=5; gpx=13;
cu=6; aci_ur=14;
zn=7; mda=15;
cu_zn=8; tbar=1;
discrete_nodes=1:N;
%node_sizes=[4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4];
node_sizes=4*ones(1,N);
bnet=mk_bnet(dag,node_sizes,discrete_nodes);
% ==============================================
% Affichage du graphe
% ==============================================
names={'c','e','gama','c_e','se','cu','zn','cu_zn','GHS','GSSG','ratioGG','thiol','gpx','aci_ur','mda','tbar'};
carre_rond= [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
%Gs= mk_all_dags(N,0)
%draw_graph(bnet.dag,names,carre_rond)
%==========================================================================
% MATRICE DE VARIANCE COVARIANCE
%==========================================================================
C = eye(16,16);
C(2,1:1) = [0.1373 ];
C(3,1:2) = [-0.0390 0.3428 ];
C(4,1:3) = [0.6874 -0.5210 -0.2238];
C(5,1:4) = [0.1415 0.1735 0.0394 -0.0153];
C(6,1:5) = [0.1850 0.0884 0.0254 0.1283 0.0609];
C(7,1:6) = [0.0295 0.0471 0.0922 0.0018 0.1655 -0.1064];
C(8,1:7) = [0.1344 0.0538 -0.0204 0.1392 -0.0452 0.8180 -0.5670];
C(9,1:8) = [0.0362 -0.0232 0.1411 0.0381 0.0832 -0.0662 0.1285 -0.1003];
C(10,1:9) = [0.1044 0.0676 0.1641 0.0400 0.0779 -0.0714 -0.0466 -0.0299 0.0087];
C(11,1:10) = [-0.0153 -0.0602 -0.1253 0.0281 -0.0595 0.0365 0.1084 0.0063 0.1513 -0.4628];
C(12,1:11) = [-0.0934 -0.0497 0.0629 -0.0948 0.3064 -0.1001 0.0972 -0.1084 0.0839 0.0726 0.0211];
C(13,1:12) = [-0.1207 -0.0694 -0.0480 -0.0853 -0.0254 -0.3992 0.2135 -0.4175 0.0679 -0.0197 0.0540 0.0214];
C(14,1:13) = [-0.1918 0.0863 0.1173 -0.2134 0.0444 -0.1915 0.1454 -0.2260 -0.1720 0.0251 -0.0650 -0.0101 -0.0249];
C(15,1:14) = [ 0.1050 0.2973 0.2612 -0.0832 0.1497 0.0019 0.1355 -0.0774 0.0147 -0.0922 0.0248 0.1433 0.0869 -0.1020];
C(16,1:15) = [ 0.0727 0.1986 0.2392 -0.0688 0.0580 0.0663 0.1328 -0.0143 -0.0622 -0.0163 -0.0030 0.0970 -0.0702 0.0407 0.7505];
N = 16;
for i=1:N
for j=i+1:N
C(i,j)=C(j,i);
end
end
p= size(stress_binaire,2);
max_fan_in = 16;
nsamples = 222;
alpha = 0.05;
%** D donne le nombre de parametres de réseaux bayesien,
% D=compute_bnet_nparams(bnet)
%==========================================================================
% ALGORITHME PC **apprentissage de la structure**
%==========================================================================
%pdag = learn_struct_pdag_pc('cond_indep_fisher_z', n, max_fan_in, C, nsamples, alpha)
pdag = learn_struct_pdag_pc('cond_indep', N, N-2,stress_binaire);
draw_graph(bnet.dag,names,carre_rond)
%==========================================================================
% utilisation de l'algorithme K2
%==========================================================================
%dag=learn_struct_k2(stress_binaire.txt',node_sizes,[1:16],'max_fan_in',15);
%draw_graph(dag,names,carre_rond)
%best_dag = learn_struct_K2(stressOXY, p, 'scoring_fn', 'bic', 'params', []) |
Partager