def generate_graphs_for_spatial_statistics(main, sub, y_unit): ''' Takes the name of the main header of data and the subheader, as well as value that goes on the y-axis, and plots. main sub --------------------- units Number of fields Coverage maps Sparsity Coverage Representation fields Area ''' runs = 32 modes = None # Load data from network1 network network1 = [] for room_len in [1,2,3,4,5]: network1.append(load(runs,modes,500,room_len,main,sub)) # Load data from network2 network network2 = [] for room_len in [1,2,3]: network2.append(load(runs,modes,1500,room_len,main,sub)) graph_shit(network1, network2, main.capitalize()+': '+sub, y_unit) # If looking at sparsity, plot expected exponential curve if sub == 'Sparsity': graph_expected_sparsity() plt.legend(loc='upper right') if main == 'units' and sub == 'Coverage': linereggsion(network1,network2, main,sub) if sub == 'Number of fields': linereggsion(network1,network2, main,sub) if sub == 'Area': linereggsion(network1,network2, main,sub)
def regr(with_bounds): """ 'load' returns data of the form {side_len1: [num_flds,...], side_len2: [num_flds,...], ... } Note that lambduh_bounds are the errors relative to lambduh. For example, if lambduh_bounds = [[1,...], [2,...]] and lambduhs[0] = 7, then the real value lies in (7-1, 7+2). """ global plot_bounds plot_bounds = with_bounds # Bring in the data in a nice form. num_flds_1 = load(side_lens=[1, 2, 2.5], subfolder='Group 1', plc_cells=500, grd_cells=1000, modules=None) num_flds_2 = load(side_lens=[1, 2, 2.5, 3], subfolder='Group 2', plc_cells=500, grd_cells=1000, modules=None) num_flds_3 = load(side_lens=[1, 2, 2.5], subfolder='Group 3', plc_cells=500, grd_cells=1000, modules=None) num_flds_31 = load(side_lens=[1, 2, 3], subfolder='Group 3 no cutoff', plc_cells=500, grd_cells=1000, modules=None) num_flds_4 = load(side_lens=[1, 2, 2.5], subfolder='Group 4', plc_cells=500, grd_cells=1000, modules=0) num_flds_5 = load(side_lens=[1, 2, 2.5, 3], subfolder='Group 5', plc_cells=500, grd_cells=1000, modules=None) # Calculate the lambdas from the place field data. lambdus_1, bounds_1, areas_1 = calc_lambduhs(num_flds_1) lambdus_2, bounds_2, areas_2 = calc_lambduhs(num_flds_2) lambdus_3, bounds_3, areas_3 = calc_lambduhs(num_flds_3) lambdus_31, bounds_31, areas_31 = calc_lambduhs(num_flds_31) lambdus_4, bounds_4, areas_4 = calc_lambduhs(num_flds_4) lambdus_5, bounds_5, areas_5 = calc_lambduhs(num_flds_5) # Graph the junks plt.figure('Poisson Parameter Regression') _graph_poisson_parameter_regression('Group 1', lambdus_1, areas_1, bounds_1, 'b') _graph_poisson_parameter_regression('Group 2', lambdus_2, areas_2, bounds_2, 'g') _graph_poisson_parameter_regression('Group 3', lambdus_3, areas_3, bounds_3, 'r') _graph_poisson_parameter_regression('Group 3 no cutoff', lambdus_31, areas_31, bounds_31, 'y') _graph_poisson_parameter_regression('Group 4', lambdus_4, areas_4, bounds_4, 'k') _graph_poisson_parameter_regression('Group 5', lambdus_5, areas_5, bounds_5, 'c') _graph_init() plt.show()
def graph_spatial_statistics(): subfolder = 'Group 1' modes = None place_cells = 500 grid_cells= 1000 side_lens = [1, 2, 2.5, 3] real_curves = load(subfolder, place_cells, grid_cells, modules, side_lens) from figures.analysis.spatialStatistics.graphCoverage import graph_coverage graph_coverage() from figures.analysis.spatialStatistics.graphFieldArea import graph_field_area graph_field_area() from figures.analysis.spatialStatistics.graphfFieldCoverage import graph_field_coverage graph_field_coverage() from figures.analysis.spatialStatistics.graphMapCoverage import graph_map_coverage graph_map_coverage() from figures.analysis.spatialStatistics.graphNumberOfFields import graph_number_of_fields graph_number_of_fields() from figures.analysis.spatialStatistics.graphRepresentation import graph_representation graph_representation() from figures.analysis.spatialStatistics.graphRepresentation import graph_sparsity graph_sparsity() for (main, sub, y_unit) in [('units', 'Number of fields', 'Fields'), ('units','Coverage', 'Proportion'), ('maps', 'Sparsity', 'Proportion'), ('maps', 'Coverage', 'Proportion'), ('maps', 'Representation', 'Fields'), ('fields','Area','Field Area (m$^2$)')]: generate_graphs_for_spatial_statistics(main, sub, y_unit)
def graph_poisson_fit(calc_overall_best_fit): real_curves = load(subfolder, place_cells, grid_cells, modes, side_lens) theoretical_curves = best_poisson_fit(real_curves, calc_overall_best_fit) plot_poisson_curves(real_curves, theoretical_curves)