-
Notifications
You must be signed in to change notification settings - Fork 0
/
experiment.py
32 lines (26 loc) · 991 Bytes
/
experiment.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import numpy as np
import sim
import math as ma
n = 500
nval = 100
p = 100
s = 50
rho = [0.1, 0.4, 0.7]
snr = np.logspace(ma.log10(0.05), ma.log10(10), num=12, base=10)
betatype = [1, 2, 3, 4]
method = ['susie', 'Lassocv', 'step']
parameters = ['risk', 'test_err', 'nzs', 'prop']
seed = 0
nrep = 20
L = 50
data = np.zeros((len(method), len(rho), len(betatype), len(snr), len(parameters)))
for j in range(len(rho)):
for k in range(len(betatype)):
for l in range(len(snr)):
print(l)
fit = sim.sim(n=n, nval=nval, p=p, s=s, rho=rho[j], snr=snr[l], beta_type=betatype[k], nrep=nrep, l=L)
for i in range(len(method)):
output, std = fit.sim_method(method[i], seed=seed)
for m in range(len(parameters)):
data[i, j, k, l, m] = output[parameters[m]]
np.savez('data_new4.npz', data=data, snr=snr, rho=rho, betatype=betatype, method=method, parameters=parameters)