# archivos_BAO = ['datos_BAO_da.txt','datos_BAO_dh.txt','datos_BAO_dm.txt', # 'datos_BAO_dv.txt','datos_BAO_H.txt'] # for i in range(5): # aux = leer_data_BAO(archivos_BAO[i]) # ds_BAO.append(aux) # AGN os.chdir(path_git + '/Software/Estadística/Datos/Datos_AGN') ds_AGN = leer_data_AGN('table3.dat') #%% Parametros a ajustar nll = lambda theta: params_to_chi2( theta, params_fijos, index=4, dataset_SN=ds_SN, dataset_CC=ds_CC, #dataset_BAO = ds_BAO, dataset_AGN=ds_AGN, #H0_Riess = True, model='HS') initial = np.array([M_true, omega_m_true, b_true, H0_true]) soln = minimize(nll, initial, options={'eps': 0.01}, bounds=((-25, -18), (0.1, 0.5), (0, 3), (68, 75))) M_ml, omega_m_ml, b_ml, H0_ml = soln.x print(M_ml, omega_m_ml, b_ml, H0_ml) os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones')
# 'datos_BAO_dv.txt','datos_BAO_H.txt'] # for i in range(5): # aux = leer_data_BAO(archivos_BAO[i]) # ds_BAO.append(aux) # AGN os.chdir(path_git + '/Software/Estadística/Datos/Datos_AGN') ds_AGN = leer_data_AGN('table3.dat') #%% Parametros a ajustar nll = lambda theta: params_to_chi2( theta, params_fijos, index=4, dataset_SN=ds_SN, dataset_CC=ds_CC, #dataset_BAO = ds_BAO, dataset_AGN=ds_AGN, #H0_Riess = True, model='EXP', errores_agrandados=True) initial = np.array([M_true, omega_m_true, b_true, H0_true]) soln = minimize(nll, initial, options={'eps': 0.01}, bounds=((-25, -18), (0.1, 0.5), (0, 3), (68, 75))) M_ml, omega_m_ml, b_ml, H0_ml = soln.x print(M_ml, omega_m_ml, b_ml, H0_ml)
#os.chdir(path_git+'/Software/Estadística/Datos/Datos_AGN') #ds_AGN = leer_data_AGN('table3.dat') os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones/') with np.load('valores_medios_LCDM_CC+SN_4params.npz') as data: sol = data['sol'] print(sol) #Parametros fijos params_fijos = 0 log_likelihood = lambda theta: -0.5 * params_to_chi2( theta, params_fijos, index=32, dataset_SN=ds_SN, dataset_CC=ds_CC, #dataset_BAO = ds_BAO, #dataset_AGN = ds_AGN, #H0_Riess = True, model='LCDM') #%% # Definimos la distribucion del prior def log_prior(theta): M, omega_m, H0 = theta if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 60 < H0 < 80): return 0.0 return -np.inf
#%% bs = np.linspace(0.01,7,40) Hs = np.arange(67,71) chies = np.zeros((len(bs),len(Hs))) omega_m=0.3 for (i,b) in enumerate(bs): print(i,b) for (j,H0) in enumerate(Hs): chies[i,j] = params_to_chi2([-19.41, omega_m, b, H0], _, index=4, dataset_SN = ds_SN, dataset_CC = ds_CC, dataset_BAO = ds_BAO, dataset_AGN = ds_AGN, #H0_Riess = True, model = 'EXP', integrador=int ) #1077.8293845284927/(1048+20+len(ds_CC[0])-4) #%% %matplotlib qt5 plt.figure() plt.title('EXP: CC+SN+BAO+AGN, omega_m=0.3, M=-19.41') plt.grid(True) #for k in range(0,6): #for k in range(7,len(chies[0,:])): for k in range(len(chies[0,:])): plt.plot(bs,chies[:,k],label='H0={}'.format(Hs[k]))
from funciones_data import leer_data_AGN from funciones_alternativos import params_to_chi2 #ORDEN DE PRESENTACION DE LOS PARAMETROS: omega_m,b,H_0,l,n,beta,n_agn #%% Predeterminados: omega_m_true = 0.3 H0_true = 73.48 #Unidades de (km/seg)/Mpc params_fijos = [_, _, H0_true] #Datos de AGN os.chdir(path_git + '/Software/Estadística/Datos/Datos_AGN') data_agn = leer_data_AGN('table3.dat') #%% Parametros a ajustar nll = lambda theta: params_to_chi2( theta, params_fijos, dataset_AGN=data_agn, index=1, model='LCDM') initial = omega_m_true soln = minimize(nll, initial, options={'eps': 0.01}) omega_m_ml = soln.x print(omega_m_ml) os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones') np.savez('valores_medios_LCDM_AGN_1params', sol=soln.x) soln.fun / (len(data_agn[0]) - 1) #%% os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones/') with np.load('valores_medios_LCDM_AGN_1params.npz') as data: sol = data['sol']
#ORDEN DE PRESENTACION DE LOS PARAMETROS: omega_m,b,H_0,l,n,beta,n_agn #%% Predeterminados: omega_m_true = 0.3 b_true = 0.1 H0_true = 73.48 #Unidades de (km/seg)/Mpc params_fijos = [_, H0_true] #Datos de AGN os.chdir(path_git + '/Software/Estadística/Datos/Datos_AGN') data_agn = leer_data_AGN('table3.dat') #%% Parametros a ajustar nll = lambda theta: params_to_chi2( theta, params_fijos, dataset_AGN=data_agn, index=21) initial = np.array([omega_m_true, b_true]) soln = minimize(nll, initial, options={'eps': 0.01}, bounds=((0.1, 0.7), (0, 0.5))) omega_m_ml, b_ml = soln.x print(omega_m_ml, b_ml) os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones') np.savez('valores_medios_HS_AGN_2params', sol=soln.x) soln.fun / (len(data_agn[0]) - 2) #%% os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones/')
#ds_AGN = leer_data_AGN('table3.dat') os.chdir(path_git+'/Software/Estadística/Resultados_simulaciones/') with np.load('valores_medios_HS_CC+SN_4params_taylor.npz') as data: sol = data['sol'] print(sol) #Parametros fijos params_fijos = 0 log_likelihood = lambda theta: -0.5 * params_to_chi2(theta, params_fijos, index=4, dataset_SN = ds_SN, dataset_CC = ds_CC, #dataset_BAO = ds_BAO, #dataset_AGN = ds_AGN, #H0_Riess = True, model = 'HS', all_analytic=True ) #%% # Definimos la distribucion del prior def log_prior(theta): M, omega_m, b, H0 = theta if (-22 < M < -19 and 0.1 < omega_m < 0.5 and 0 < b < 4 and 55 < H0 < 80): return 0.0 return -np.inf # Definimos la distribución del posterior def log_probability(theta): lp = log_prior(theta)
ds_AGN = leer_data_AGN('table3.dat') os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones/') with np.load('valores_medios_HS_CC+SN+BAO+AGN_4params_v2.npz') as data: sol = data['sol'] print(sol) #Parametros fijos params_fijos = 0 log_likelihood = lambda theta: -0.5 * params_to_chi2( theta, params_fijos, index=4, dataset_SN=ds_SN, dataset_CC=ds_CC, dataset_BAO=ds_BAO, dataset_AGN=ds_AGN, #H0_Riess = True, model='HS', errores_agrandados=True) #%% # Definimos la distribucion del prior def log_prior(theta): M, omega_m, b, H0 = theta if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 0 < b < 1 and 60 < H0 < 80): return 0.0 return -np.inf