예제 #1
0
    task = sys.argv[5]
    append_directory = sys.argv[6]
    """
    Set directories
    """
    current_path = os.getcwd()
    parent_path = os.path.abspath(os.path.join(current_path, os.pardir))
    input_dir = parent_path + '/data/'
    output_dir = parent_path + '/outputs/'
    """
    Load data
    """
    data = Data(input_dir, output_dir)
    sc, hmap, fc_obj = load_data(data)

    fc_obj = fisher_z(subdiag(fc_obj))
    rejection_threshold = 1.0 - pearsonr(fc_obj, subdiag(sc))[0]

    if model_type == 'homogeneous':
        from optimization import Homogeneous

        pmc_opt = Homogeneous(input_dir, output_dir + append_directory + '/')
        pmc_opt.initialize(sc,
                           fc=fc_obj,
                           gradient=None,
                           n_particles=n_samples,
                           rejection_threshold=rejection_threshold,
                           norm_sc=True)
    else:
        from optimization import Heterogeneous
예제 #2
0
 def distance_function(self, synthetic_data):
     fit = pearsonr(self.fc_objective, fisher_z(synthetic_data))[0]
     penalty = (self.fc_objective.mean() - synthetic_data.mean())**2
     distance = 1.0 - (fit - penalty)
     return distance
mpl.rcParams['axes.labelsize'] = 26.0
mpl.rcParams['axes.titlesize'] = 26.0
mpl.rcParams['xtick.labelsize'] = 20.0
mpl.rcParams['ytick.labelsize'] = 20.0

fig, axes = plt.subplots(2, 3, figsize=(30, 15))

#import pdb; pdb.set_trace()
matrix_plot(axes[0][0], fc_obj, 'RdBu_r')
axes[0][0].set_title('Empirical FC')
matrix_plot(axes[0][1], homogeneous.get('corr_bold'), 'RdBu_r')
axes[0][1].set_title('Homogeneous model FC')
matrix_plot(axes[0][2], heterogeneous.get('corr_bold'), 'RdBu_r')
axes[0][2].set_title('Heterogeneous model FC')

reg_plot(axes[1][0], fisher_z(subdiag(homogeneous.get('corr_bold'))),
         fisher_z(subdiag(fc_obj)))
axes[1][0].set_title('Homogeneous model FC fit')
reg_plot(axes[1][1], fisher_z(subdiag(heterogeneous.get('corr_bold'))),
         fisher_z(subdiag(fc_obj)))
axes[1][1].set_title('Heterogeneous model FC fit')

axes[1][2].bar(np.arange(5), theta_heterogeneous.mean(1)[:5])
axes[1][2].set_title('Optimal model parameters')
axes[1][2].set_xticks(np.arange(5) + 0.5)
axes[1][2].set_xticklabels(
    ['wEI min', 'wEI scale', 'wEE min', 'wEE scale', 'g'], minor=False)
plt.tight_layout()

plt.show()
plt.savefig('Example_model_fit.png', dpi=100)