Esempio n. 1
0
        dt = ret.iloc[k * N:(k + 1) * N, :]
        # demean to zero
        dt = dt - dt.mean(axis=0)
        samples[k, :, :] = dt
        S[k, :, :] = np.cov(samples[k], rowvar=False, bias=True)

    return S, samples, n


K = 13
N = 250
S, samples, n = filter_by_start(ret, start_date='2002-01-02', K=K, N=N)

Sinv = np.linalg.pinv(S, hermitian=True)
#%%
L1, L2, _ = lambda_grid(num1=7, num2=3, reg=reg)
grid1 = L1.shape[0]
grid2 = L2.shape[1]

AIC = np.zeros((grid1, grid2))
BIC = np.zeros((grid1, grid2))

Omega_0 = np.zeros((K, p, p))
Theta_0 = np.zeros((K, p, p))

for g1 in np.arange(grid1):
    for g2 in np.arange(grid2):
        lambda1 = L1[g1, g2]
        lambda2 = L2[g1, g2]

        sol, info = ADMM_MGL(S,
Esempio n. 2
0
M = 10

reg = 'GGL'
save = False

Sigma, Theta = group_power_network(p, K, M)

draw_group_heatmap(Theta, save=save)

S, sample = sample_covariance_matrix(Sigma, N)
S_train, sample_train = sample_covariance_matrix(Sigma, N_train)
Sinv = np.linalg.pinv(S, hermitian=True)

#%%
# grid search for best lambda values with warm starts
L1, L2, W2 = lambda_grid(num1=3, num2=9, reg=reg)
grid1 = L1.shape[0]
grid2 = L2.shape[1]

ERR = np.zeros((grid1, grid2))
FPR = np.zeros((grid1, grid2))
TPR = np.zeros((grid1, grid2))
DFPR = np.zeros((grid1, grid2))
DTPR = np.zeros((grid1, grid2))
AIC = np.zeros((grid1, grid2))
BIC = np.zeros((grid1, grid2))

gammas = np.linspace(0, 1, 20)
GAM = np.zeros((len(gammas), grid1, grid2))

Omega_0 = get_K_identity(K, p)
Esempio n. 3
0
Sigma, Theta = time_varying_power_network(p, K, M)
#np.linalg.norm(np.eye(p) - Sigma@Theta)/np.linalg.norm(np.eye(p))

#single_heatmap_animation(Theta)

S, sample = sample_covariance_matrix(Sigma, N)
S_train, sample_train = sample_covariance_matrix(Sigma, N)
Sinv = np.linalg.pinv(S, hermitian = True)


results = {}
results['truth'] = {'Theta' : Theta}

#%%
# grid search for best lambda values with warm starts
L1, L2, _ = lambda_grid(num1 = 10, num2 = 5, reg = reg)
grid1 = L1.shape[0]; grid2 = L2.shape[1]

ERR = np.zeros((grid1, grid2))
FPR = np.zeros((grid1, grid2))
TPR = np.zeros((grid1, grid2))
DFPR = np.zeros((grid1, grid2))
DTPR = np.zeros((grid1, grid2))
AIC = np.zeros((grid1, grid2))
BIC = np.zeros((grid1, grid2))

Omega_0 = get_K_identity(K,p)
Theta_0 = get_K_identity(K,p)

for g1 in np.arange(grid1):
    for g2 in np.arange(grid2):