Esempio n. 1
0
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
from sklearn.decomposition import FastICA, PCA
from main import Main_Algorithm
import simulated_data
import ICA
import data

# simulated AR data
M = 8
N = 8
k = 8
L = 2000
n_seg = 1
Y, A_real, X_real = simulated_data.generate_AR(N, M, L, k)
Y = np.reshape(Y, (1, Y.shape[0], Y.shape[1]))
X_real = np.reshape(X_real, (1, X_real.shape[0], X_real.shape[1]))

# perform ICA on full datasetX_base
X_ica = ICA.ica_segments(Y, 1000)

# perform baseline in full dataset
A_base_full, X_base_full = Main_Algorithm(Y, M, L, n_seg, L_covseg=10)

# remove sensors from data
n_remove = 2  # have to correspond to request
Y_ = np.zeros((len(Y), M - n_remove, L))
for i in range(len(Y)):
    Y_[i] = data._reduction(Y[i], 'remove 2')
M = Y_.shape[1]
Esempio n. 2
0
from simulated_data import mix_signals
from simulated_data import MSE_one_error
import numpy as np
import matplotlib.pyplot as plt
import Cov_DL
from Cov_DL import _dictionarylearning
from Cov_DL import _A
from sklearn.decomposition import PCA
""" DATA GENERATION """
M = 3  # number of sensors
k = 4  # number of active sources
N = 5
L = 1000  # number of sampels
n_seg = 1

Y, A_real, X_real = generate_AR(N, M, L, k)

Y = np.reshape(Y, (1, Y.shape[0], Y.shape[1]))

err_listA = np.zeros(10)
err_listX1 = np.zeros(10)
err_listX2 = np.zeros(10)

Amse = np.zeros(3)

for ini in range(3):
    for ite in range(10):
        """ DIFFERENTS INITIAL A'S """
        A_list = [
            np.random.random((M, k)),
            np.random.uniform(-1, 1, (M, k)),
Esempio n. 3
0
M = 8
N = [8, 16, 32]
k = [8, 16, 32]
L = 1000
n_seg = 1

err_listA = np.zeros(10)
err_listX1 = np.zeros(10)
err_listX2 = np.zeros(10)

Amse = np.zeros(3)
Xmse1 = np.zeros(3)
Xmse2 = np.zeros(3)

for n in range(len(N)):
    Y, A_real, X_real = generate_AR(N[n], M, L, k[n])
    Y = np.reshape(Y, (1, Y.shape[0], Y.shape[1]))
    print("Next choice for N")
    for ite in range(10):
        A_result, X_result1, X_result2 = Main_Algorithm(Y,
                                                        M,
                                                        N[n],
                                                        k[n],
                                                        L,
                                                        n_seg,
                                                        L_covseg=60)

        err_listX1[ite] = MSE_one_error(X_real.T[0:X_result1[0].shape[1]].T,
                                        X_result1[0])
        err_listX2[ite] = MSE_one_error(X_real.T[0:X_result2[0].shape[1]].T,
                                        X_result2[0])