% _________________________________________________________________________ % จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ % PREDICTION OF ACUTE HYPOTENSIVE EPISODES USING NEURAL NETWORK MULTIMODELS % _________________________________________________________________________ % จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ % Copyright (C) 2009 % : Jorge Henriques ... , % : Teresa Rocha ... % This software is released under the terms of the GNU % General Public License (http://www.gnu.org/copyleft/gpl.html) % จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ % mainPredictionABPSignals.m %__________________________________________________________________________ % จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ % Prediction of ABP signals based on ..\NNNmodels %__________________________________________________________________________ % จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ clc; clear; close all warning off showValid = 0; saveValid = 1; disp('___________________________________________________________________') disp('จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ') disp(' mainPredictionABPSignal ') disp('___________________________________________________________________') disp('จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ') pause(1) %บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ % DEFINITIONS 1. %บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ %__________________________________________________________________________ % AHE Episode 1.1 %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ FORECAST= 60; %.. one hour mmHG = 60; %.. mmHg perTOL = 0.9; %.. 90% numAHE = 18; %.. it should be 30! %__________________________________________________________________________ % Multi Models 1.2 %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ D = 15; %.. Window prediction size NUMNET = 4; %.. num Networks AFTER = 4; %.. num Windows = (D*AFTER minutes) T0 = 600; INI = 1; %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ correlation parameters TOLCOR = 0.77; %.. not used TOLSUM = 0.2; NUMCOR = 5; WEIGHTS = 1; % templates combination (0/1) equal/proportional to correlation TYPECOR = 1; % Correlation analysis - 0: corrcoef>TOLCOR % 1: per(sum(corrcoef))>TOLSUM % 2: num templates>=NUMCOR % Possible solutions [numAHE=18, TYPECOR=1, TOLSUM=0.2] % Possible solutions [numAHE=20, TYPECOR=2, NUMCOR= 5 ] %__________________________________________________________________________ % Testing Data 1.3 %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ sinal = 'BP'; nS = '1'; option=menu(' -------- DATASET -------- ', ... ' . A ', ' . B '); switch option case 1; dS='A'; case 2; dS='B'; end %บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ % VALIDATION 2. %บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ Templates + ORD/SIZE pathTest='..\dataTest\'; if dS=='A' NUMSIG=1:10; load ..\dataTrain\DATSET_A load ..\dataTrain\DATHC_A load ..\dataTrain\DATOS_A end if dS=='B' NUMSIG=1:40; load ..\dataTrain\DATSET_B load ..\dataTrain\DATHC_B load ..\dataTrain\DATOS_B end predictAHE =[ ]; positionAHE =[ ]; for iS=NUMSIG %______________________________________________________________________ % Load Signal : DAT(660,3) %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ cmd=['load ' char(pathTest) char(sinal) '_' ... char(dS) char(nS) '_' num2str(iS) ]; eval(cmd); %______________________________________________________________________ % Templates %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ Signal YBEF =DAT( INI:T0,2); %.. Before YAFT =DAT(T0+1:end,2); %.. After YBA =DAT( INI:end,2); %.. Before+After %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ Templates DBEF =DATSET( INI:T0 ,:); %.. Before DAFT =DATSET(T0+1:end,:); %.. After DBA =DATSET( INI:end,:); %.. BEfore+After DIM =length(YBA); %______________________________________________________________________ % Correlation Analysis %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ [YYCOR, YYMEANCOR, CC,II,CCM ]=mmCorrelation(YBEF, DBEF, YAFT, DAFT,... OS, TOLCOR, TOLSUM, TYPECOR, WEIGHTS, NUMCOR); %______________________________________________________________________ % Prediction %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ % Find templates (DATSET) that are correlated with actual signal (DAT) % Use the correspondent GRNN models to predict the outputs (YYMEANMODEL) % Wighted Mean of YYMODELS (YYMEANMOD) [YYMEANMOD]=mmPredictionModel(YBEF, DBEF, YAFT, DAFT, II, CCM, ... OS, DATHC, NUMNET, D, NUMCOR); %______________________________________________________________________ % AHE Episodes %จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ % idm=position where AHE starts or % idm=60 if there are no AHE [epixx, indxx, indm ]=mmAHEepisode(YYMEANMOD(end-FORECAST+1:end), ... numAHE, FORECAST, mmHG, perTOL ); strResult=[' ... ' num2str(iS) '..... :' ]; if indm