-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPROC_ONLY_ONE.m
66 lines (41 loc) · 1.95 KB
/
PROC_ONLY_ONE.m
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
function [Run] = PROC_ONLY_ONE(data, steps, step_iterations, k_max, k_transition, lambda_coup, lambda_snr, nue_var, MATRIX)
global DATA_ALL;
[DATA_ALL] = SHIFT_DATA(data);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
global Prior;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[Prior] = SET_HYPERPARAMETERS(DATA_ALL);
n_nodes = length(DATA_ALL);
DAG = zeros(n_nodes,n_nodes);
lambda_coup_vec = lambda_coup * ones(n_nodes,1);
lambda_snr_vec = lambda_snr * ones(n_nodes,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i_node=1:n_nodes
VECTORS{i_node} = [0;-1 * ones(n_nodes,1)];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[Run] = INITIALISE(DATA_ALL, DAG, steps, nue_var, lambda_snr_vec, lambda_coup_vec, MATRIX, VECTORS);
[Run] = START(DATA_ALL, steps, step_iterations, k_max, Run, k_transition, nue_var);
return;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [DATA_SHIFTED] = SHIFT_DATA(data)
[n, t] = size(data);
n_plus = n+1; % Covariance matrices will be of size (n+1)x(n+1)
for node_i=1:n
% For each variable X_i consider
% data_1[X_1(t-1),...,X_(n)(t-1),...,X_1(t-slice),...,X_(n)(t-slice), X_(i)(t)]
obs = 1:(t-1);
data_new = zeros(n_plus,t-1);
data_new(1:n,obs) = data(1:n,1:(t-1));
data_new(n+1,obs) = data(node_i,2:t);
DATA_SHIFTED{node_i} = data_new;
end
return;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Prior] = SET_HYPERPARAMETERS(DATA_ALL)
[n_plus, n_obs] = size(DATA_ALL{1});
n_nodes = n_plus-1;
Prior = zeros(n_nodes+1,1);
return;