예제 #1
0
            '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
예제 #2
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
예제 #3
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
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.
예제 #4
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, 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)
예제 #7
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
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,
예제 #8
0
                              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
예제 #9
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
예제 #10
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
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):
    """
예제 #11
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
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,