% data generation clear all close all ddd = datestr(now); ddd([12 15 18])='-' ; fnd=[ddd '.txt']; diary(fnd) % Metaparams hyp = 'mar'; ntests = 2; % change it ! nessais = 2; % change it ! m = 1000; % change it ! % INIT missing = 2; misv = -9999; %test = zeros(nessais,6); test = zeros(nessais,ntests); taille = zeros(nessais,ntests); kiki = zeros(nessais,1); %%%%%%%%%% TESTS %%%%%%%%%%% for essai=1:nessais N = ceil(rand*11) + 2 base_proba = .15 + rand/4; fan_in = ceil(rand*4) dag=mk_rnd_dag(N,fan_in) discrete=1:N; for i=1:N, node_sizes(i) = ceil(rand*4)+1; end bnet = mk_bnet(dag, node_sizes, discrete); node_sizes for i=1:N, bnet.CPD{i} = tabular_CPD(bnet, i); end if prod([hyp(1:3) == 'mca']+0), bnet_miss = gener_MCAR_net(bnet, base_proba); disp(' - MCAR net generated'); elseif prod([hyp(1:3) == 'mar']+0), bnet_miss = gener_MAR_net(bnet, base_proba); disp(' - MAR net generated'); end [data, comp_data, bnet_miss, taux, bnet_orig, notok, dT] = gener_data_from_bnet_miss(bnet_miss, m, base_proba ,1); base_proba kiki(essai) = 1-chi2cdf(dT,1); %test(essai,1)=1-chi2cdf(d,df); node0=[]; param0=[]; for i=1:ntests % choose a node node=ceil(rand*N); while ~isempty(myintersect(node,node0)) & ichi2_table(chi2(chiv),df), test(essai,i,chiv) = 1; end %end cumchi=chi2cdf(d,df) test(essai,i) = 1-cumchi; taille(essai,i) = toto; %fprintf('%2.1f%% OF MISSING DATA (%2.1f%%, Khi2 : %2.1f > %2.1f)\n', round(base_proba*10000)/100, round(taux*10000)/100, d, chi2(nchi)); end clear bnet_miss bnet datamat data node0 family node_sizes CPT indj tmp end kiki taille test %eval(['save resgener' ddd 'kiki taille test hyp ntests nessais = 50 m']) diary off