def empiricalDistributionPlot(self, sample, bounds=None): if bounds: lower = bounds[0] upper = bounds[1] else: lower = min(sample) upper = max(sample) plotDomain = linspace(lower, upper, len(sample)) empiricalCDF = ECDF([uniform(0, 1) for i in range(len(sample))]) empiricalCDF.observations = sample obs = [] for j in range(len(sample)): obs.append(empiricalCDF(plotDomain[j])) ecdf_sample = array(obs) plt.plot(plotDomain, ecdf_sample) plt.show()
for t in range(sampleSize): defosequence.append(defo_ad_pf(initial_land, costshocks[t]) - initial_land) defosequence_ad = array(defosequence) * landtoemissions / 1e6 defosequence = [] for t in range(sampleSize): defosequence.append(defo_pf(initial_land, costshocks[t]) - initial_land) defosequence_defo = array(defosequence) * landtoemissions / 1e6 lower = min(min(defosequence_defo), min(defosequence_ad)) upper = max(max(defosequence_defo), max(defosequence_ad)) plotDomain = linspace(lower, upper, len(costshocks)) empiricalCDF = ECDF([uniform(0, 1) for i in range(len(costshocks))]) empiricalCDF.observations = defosequence_ad obs = [] for j in range(sampleSize): obs.append(empiricalCDF(plotDomain[j])) ecdf_sample_ad = array(obs) plt.plot(plotDomain, ecdf_sample_ad, label='AD') empiricalCDF.observations = defosequence_defo obs = [] for j in range(sampleSize): obs.append(empiricalCDF(plotDomain[j])) ecdf_sample_defo = array(obs) plt.plot(plotDomain, ecdf_sample_defo, label='Defo') plt.legend() plt.show() plt.plot(defo_ad_pf(gridLand, 1.0) - gridLand, label='AD')