'Alg'] = 'My Implimentation of FRAUST V3.3 Best simple version' pltSummary2(res_v3_3, data, (e_high, e_low)) if v3_1: '''My older version''' res_v3_1 = FRAHST_V3_1(data, alpha=alpha, e_low=e_low, e_high=e_high, holdOffTime=holdOFF, fix_init_Q=1, r=1, evalMetrics='F') res_v3_1['Alg'] = 'My Implimentation of FRAUST Version 3.1' pltSummary2(res_v3_1, data, (e_high, e_low)) if pedro: '''Pedros Version''' res_ped = frahst_pedro_original(data, r=1, alpha=alpha, e_low=e_low, e_high=e_high, holdOffTime=holdOFF, evalMetrics='F') res_ped['Alg'] = 'Pedros Original Implimentation of FRAUST' pltSummary2(res_ped, data, (e_high, e_low)) first = 0
# -*- coding: utf-8 -*- """ Created on Sat Mar 05 23:19:11 2011 THIS IS THE VERSION TO RUN ON MAC, NOT WINDOWS @author: musselle """ from numpy import eye, zeros, dot, sqrt, log10, trace, arccos, nan, arange import numpy as np from numpy.random import rand from numpy.linalg import qr, eig, norm, solve from matplotlib.pyplot import plot, figure, title, step from artSigs import genCosSignals_no_rand , genCosSignals import scipy.io as sio from utils import analysis, QRsolveA, pltSummary2 from PedrosFrahst import frahst_pedro_original from Frahst_v3_1 import FRAHST_V3_1 from Frahst_v3_3 import FRAHST_V3_3 from load_syn_ping_data import load_n_store def FRAHST_V3_4(data, r=1, alpha=0.96, e_low=0.96, e_high=0.98, fix_init_Q = 0, holdOffTime=0, evalMetrics = 'F', static_r = 0, r_upper_bound = None, L = 5, ignoreUp2 = 0): """ Fast Rank Adaptive Householder Subspace Tracking Algorithm (FRAHST) VErsion 3.4 - input data z is time lagged series up to length l. - Algorithm is essentially same as 3.3, just adds pre processing to data vector - input Vector z_t is now of length (N times L) where L is window length - Q is increased accordingly Version 3.3 - Add decay of S and in the event of vanishing inputs - Make sure rank of S does not drop (and work out what that means!) - stops S going singular
# -*- coding: utf-8 -*- """ Created on Sat Mar 05 23:19:11 2011 THIS IS THE VERSION TO RUN ON MAC, NOT WINDOWS @author: musselle """ from numpy import eye, zeros, dot, sqrt, log10, trace, arccos, nan, arange, ones import numpy as np import scipy as sp from numpy.random import rand from numpy.linalg import qr, eig, norm, solve from matplotlib.pyplot import plot, figure, title, step from artSigs import genCosSignals_no_rand , genCosSignals import scipy.io as sio from utils import analysis, QRsolveA, pltSummary2 from PedrosFrahst import frahst_pedro_original from Frahst_v3_1 import FRAHST_V3_1 from Frahst_v3_3 import FRAHST_V3_3 from Frahst_v3_4 import FRAHST_V3_4 from Frahst_v4_0 import FRAHST_V4_0 from load_syn_ping_data import load_n_store from QR_eig_solve import QRsolve_eigV def FRAHST_V6_0(data, r=1, alpha=0.96, EW_alpha = 0.1, e_low = 0.96, e_high = 0.98, fix_init_Q = 0, holdOffTime=0, evalMetrics = 'F', static_r = 0, r_upper_bound = None, L = 5, ignoreUp2 = 0, data_norm_window = 50): """ Fast Rank Adaptive Householder Subspace Tracking Algorithm (FRAHST) Version 6.0 - Different rank adjusting mechanism compares sum of r eigenvalues to variance of entire data.
# -*- coding: utf-8 -*- """ Created on Sat Mar 05 23:19:11 2011 THIS IS THE VERSION TO RUN ON MAC, NOT WINDOWS @author: musselle """ from numpy import eye, zeros, dot, sqrt, log10, trace, arccos, nan, arange import numpy as np from numpy.random import rand from numpy.linalg import qr, eig, norm, solve from matplotlib.pyplot import plot, figure, title, step from artSigs import genCosSignals_no_rand , genCosSignals import scipy.io as sio from utils import analysis, QRsolveA, pltSummary from PedrosFrahst import frahst_pedro_original def FRAHST_V3_2(data, r=1, alpha=0.96, e_low=0.96, e_high=0.98, fix_init_Q = 0, holdOffTime=0, evalMetrics = 'F', static_r = 0, r_upper_bound = None, ignoreUp2 = 0): """ Fast Rank Adaptive Householder Subspace Tracking Algorithm (FRAHST) Version 3.2 - Added ability to fix r to a static value., and also give it an upper bound. If undefined, defaults to num of data streams. Version 3.1 - Combines good bits of Pedros version, with my correction of the bugs Changed how the algorithm deals with sci. only difference, but somehow has a bigish effect on the output. """
'alg': algInfo }, 'data': res_fixfr }) # Plot pltSummary2( res_fixfr, streams, (el, eh)) if run_frahst_pedro == 1: # Pedros version of Frahst res_frped = frahst_pedro_original( streams, alpha=a, e_low=el, e_high=eh, holdOffTime=h, r=1, evalMetrics='F', ignoreUp2=ignoreUp2) res_frped['Alg'] = 'Pedros Frahst: alpha = ' + str(a) + \ ' ,E_Thresh = (' + str(el) + ',' + str(eh) + ')' # Store algInfo = 'Pedro FRAHST: E_Thresh = (' + str(el) + ',' + str(eh) + ')\n' + \ 'alpha = ' + str(a) + '\nHoldOff = ' + str(h) results.append({ 'info': { 'data': dataInfo, 'alg': algInfo }, 'data': res_frped
res_fixfr = FRAHST_V3_2(streams, alpha=a, static_r = 1, fix_init_Q = 1, r = r, evalMetrics = 'F', r_upper_bound = upper_bound, ignoreUp2 = ignoreUp2) res_fixfr['Alg'] = 'Frahst-FIXED: alpha = ' + str(a) + ' ,E_Thresh = (' + str(el) + ',' + str(eh) + ')' #Store algInfo = 'Fixed FRAHST: E_Thresh = (' + str(el) + ',' + str(eh) + ')\n' + \ 'alpha = ' + str(a) + '\nHoldOff = ' + str(h) results.append({'info': {'data': dataInfo, 'alg' : algInfo}, 'data' : res_fixfr}) # Plot pltSummary2(res_fixfr, streams, (el, eh)) if run_frahst_pedro == 1: # Pedros version of Frahst res_frped = frahst_pedro_original(streams, alpha=a, e_low=el, e_high=eh, holdOffTime=h, r = 1, evalMetrics = 'F', ignoreUp2 = ignoreUp2) res_frped['Alg'] = 'Pedros Frahst: alpha = ' + str(a) + \ ' ,E_Thresh = (' + str(el) + ',' + str(eh) + ')' # Store algInfo = 'Pedro FRAHST: E_Thresh = (' + str(el) + ',' + str(eh) + ')\n' + \ 'alpha = ' + str(a) + '\nHoldOff = ' + str(h) results.append({'info': {'data': dataInfo, 'alg' : algInfo}, 'data' : res_frped}) # Plot pltSummary2(res_frped, streams, (el, eh)) finish = time.time() - start print 'Runtime = ' + str(finish) + 'seconds\n' print 'In H:M:S = ' + GetInHMS(finish)
# -*- coding: utf-8 -*- """ Created on Sat Mar 05 23:19:11 2011 THIS IS THE VERSION TO RUN ON MAC, NOT WINDOWS @author: musselle """ from numpy import eye, zeros, dot, sqrt, log10, trace, arccos, nan, arange, ones import numpy as np import scipy as sp import numpy.random as npr from numpy.linalg import qr, eig, norm, solve from matplotlib.pyplot import plot, figure, title, step, ylim from artSigs import genCosSignals_no_rand , genCosSignals import scipy.io as sio from utils import analysis, QRsolveA, pltSummary2 from PedrosFrahst import frahst_pedro_original from Frahst_v3_1 import FRAHST_V3_1 from Frahst_v3_3 import FRAHST_V3_3 from Frahst_v3_4 import FRAHST_V3_4 from Frahst_v4_0 import FRAHST_V4_0 from load_syn_ping_data import load_n_store from QR_eig_solve import QRsolve_eigV from create_Abilene_links_data import create_abilene_links_data from MAfunctions import MA_over_window from ControlCharts import Tseries def FRAHST_V6_3(data, r=1, alpha=0.96, L = 1, holdOffTime=0, evalMetrics = 'F', EW_mean_alpha = 0.1, EWMA_filter_alpha = 0.3, residual_thresh = 0.1, F_min = 0.9, epsilon = 0.05, static_r = 0, r_upper_bound = None,
ignoreUp2 = ignoreUp2) res_new['Alg'] = 'My Implimentation of FRAUST Version 3.4' pltSummary2(res_new, data, (e_high, e_low)) if v3_3: '''My previous version''' res_v3_3 = FRAHST_V3_3(data, alpha=alpha, e_low=e_low, e_high=e_high, holdOffTime=holdOFF, fix_init_Q = 1, r = 1, evalMetrics = 'F', ignoreUp2 = ignoreUp2) res_v3_3['Alg'] = 'My Implimentation of FRAUST V3.3 Best simple version' pltSummary2(res_v3_3, data, (e_high, e_low)) if v3_1: '''My older version''' res_v3_1 = FRAHST_V3_1(data, alpha=alpha, e_low=e_low, e_high=e_high, holdOffTime=holdOFF, fix_init_Q = 1, r = 1, evalMetrics = 'F') res_v3_1['Alg'] = 'My Implimentation of FRAUST Version 3.1' pltSummary2(res_v3_1, data, (e_high, e_low)) if pedro: '''Pedros Version''' res_ped = frahst_pedro_original(data, r=1, alpha=alpha, e_low=e_low, e_high=e_high, holdOffTime=holdOFF, evalMetrics='F') res_ped['Alg'] = 'Pedros Original Implimentation of FRAUST' pltSummary2(res_ped, data, (e_high, e_low)) first = 0
# -*- coding: utf-8 -*- """ Created on Sat Mar 05 23:19:11 2011 THIS IS THE VERSION TO RUN ON MAC, NOT WINDOWS @author: musselle """ from numpy import eye, zeros, dot, sqrt, log10, trace, arccos, nan, arange, ones import numpy as np from numpy.random import rand from numpy.linalg import qr, eig, norm, solve from matplotlib.pyplot import plot, figure, title, step from artSigs import genCosSignals_no_rand , genCosSignals import scipy.io as sio from utils import analysis, QRsolveA, pltSummary2 from PedrosFrahst import frahst_pedro_original from Frahst_v3_1 import FRAHST_V3_1 from Frahst_v3_3 import FRAHST_V3_3 from Frahst_v3_4 import FRAHST_V3_4 from load_syn_ping_data import load_n_store from QR_eig_solve import QRsolve_eigV def FRAHST_V4_0(data, r=1, alpha=0.96, e_low=0.96, e_high=0.98, fix_init_Q = 0, holdOffTime=0, evalMetrics = 'F', static_r = 0, r_upper_bound = None, L = 5, ignoreUp2 = 0): """ Fast Rank Adaptive Householder Subspace Tracking Algorithm (FRAHST) Version 4.0 - Now also approximates eigenvalues for the approximated tracked basis for the eignevectors - Approach uses an orthogonal iteration arround X.T - Note, only a good approximation if alpha ~< 1. Used as its the fastest method as X.T b --> b must be solved anyway. - New entries in res
# -*- coding: utf-8 -*- """ Created on Sat Mar 05 23:19:11 2011 THIS IS THE VERSION TO RUN ON MAC, NOT WINDOWS @author: musselle """ from numpy import eye, zeros, dot, sqrt, log10, trace, arccos, nan, arange, ones import numpy as np import scipy as sp import numpy.random as npr from numpy.linalg import qr, eig, norm, solve from matplotlib.pyplot import plot, figure, title, step, ylim from artSigs import genCosSignals_no_rand , genCosSignals import scipy.io as sio from utils import analysis, QRsolveA, pltSummary2 from PedrosFrahst import frahst_pedro_original from Frahst_v3_1 import FRAHST_V3_1 from Frahst_v3_3 import FRAHST_V3_3 from Frahst_v3_4 import FRAHST_V3_4 from Frahst_v4_0 import FRAHST_V4_0 from load_syn_ping_data import load_n_store from QR_eig_solve import QRsolve_eigV from create_Abilene_links_data import create_abilene_links_data from MAfunctions import MA_over_window def FRAHST_V6_2(data, r=1, alpha=0.96, EW_mean_alpha = 0.1, EWMA_filter_alpha = 0.3, residual_thresh = 0.1, epsilon = 0.05, e_low = 0.96, e_high = 0.98, fix_init_Q = 0, holdOffTime=0, evalMetrics = 'F', static_r = 0, r_upper_bound = None, L = 5, ignoreUp2 = 0, data_norm_window = 50): """
# -*- coding: utf-8 -*- """ Created on Sat Mar 05 23:19:11 2011 THIS IS THE VERSION TO RUN ON MAC, NOT WINDOWS @author: musselle """ from numpy import eye, zeros, dot, sqrt, log10, trace, arccos, nan, arange import numpy as np import numpy.random as npr import scipy as sp from numpy.random import rand from numpy.linalg import qr, eig, norm, solve from matplotlib.pyplot import plot, figure, title, step from artSigs import genCosSignals_no_rand, genCosSignals import scipy.io as sio from utils import analysis, QRsolveA, pltSummary2 from PedrosFrahst import frahst_pedro_original from Frahst_v3_1 import FRAHST_V3_1 from load_syn_ping_data import load_n_store def FRAHST_V3_3(data, r=1, alpha=0.96, e_low=0.96, e_high=0.98, fix_init_Q=0, holdOffTime=0, evalMetrics='F', static_r=0, r_upper_bound=None,