コード例 #1
0
z_data, H_data, dH = leer_data_cronometros('datos_cronometros.txt')

os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones/')
with np.load('valores_medios_HS_CC+SN_4params.npz') as data:
    sol = data['sol']
print(sol)

#Parametros fijos
n = 1
params_fijos = n

log_likelihood = lambda theta: -0.5 * params_to_chi2(theta,
                                                     params_fijos,
                                                     zcmb,
                                                     zhel,
                                                     Cinv,
                                                     mb,
                                                     z_data,
                                                     H_data,
                                                     dH,
                                                     chi_riess=False)


#%% Definimos las gunciones de prior y el posterior
def log_prior(theta):
    M, omega_m, b, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 0 < b < 2 and 60 < H0 < 80
            and 60 < alpha < 80 and 60 < beta < 80 and 60 < gamma < 80):
        return 0.0
    return -np.inf

#%%
#Datos de SN
os.chdir(path_git + '/Software/Estadística/Datos/Datos_pantheon/')
zcmb, zhel, Cinv, mb = leer_data_pantheon('lcparam_full_long_zhel.txt')

#Datos de crnómetros
os.chdir(path_git + '/Software/Estadística/Datos/')
z_data, H_data, dH = leer_data_cronometros('datos_cronometros.txt')

#%%
#Parametros a ajustar
nll = lambda theta: params_to_chi2(theta,
                                   params_fijos,
                                   zcmb,
                                   zhel,
                                   Cinv,
                                   mb,
                                   z_data,
                                   H_data,
                                   dH,
                                   chi_riess=False)

initial = np.array([M_true, omega_m_true, b_true])
soln = minimize(nll,
                initial,
                options={'eps': 0.01},
                bounds=((-19.6, -19), (0.1, 0.3), (0.2, 0.3)))
M_ml, omega_m_ml, b_ml = soln.x

print(M_ml, omega_m_ml, b_ml)

os.chdir(path_git + '/Software/Estadística/Resultados_simulaciones')