-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsim3.m
executable file
·41 lines (35 loc) · 1.17 KB
/
sim3.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
% simulation C: Slowly Changing Subspace with Change Points
close all; clc; clear;
pms.m = 400;
pms.n = 5000;
pms.r = [];
pms.rho = [];
pms.nrep = 1;
pms.burnin = 200;
pms.win_size = 200;
pms.track_cp_burnin = 200;
pms.n_check_cp = 20;
pms.alpha = 0.01;
pms.proportion = 0.5;
pms.n_positive = 3;
pms.min_test_size = 100;
pms.tolerance_num = 0;
pms.factor = 1;
r_range = [[10,10,10]; [50,50,50]; [10,50,25]];
rho_range = [ 0.01 0.1];
len = length(r_range)*size(rho_range,1);
all_results = cell(1,len );
omwRPCA_result_mean = zeros( len,5);
NORST_result_mean = zeros(len,5);
for r_iter = 1: length(r_range)
pms.rvec = r_range(r_iter,:);
for rho_iter = 1: length(rho_range)
pms.rho = rho_range(rho_iter);
idx = (r_iter - 1)*length(pms.rho) + rho_iter;
all_results{idx} = simulation3(pms);
temp_mean = mean(table2array(all_results{idx}.omwRPCA.result_eval),1);
omwRPCA_result_mean(idx,:) = [[r_iter pms.rho] temp_mean(2:end) ];
temp_mean = mean(table2array(all_results{idx}.NORST.result_eval),1);
NORST_result_mean(idx,:)=[[r_iter pms.rho] temp_mean(2:end)];
end
end