# Initialize SPI class spi = SPI() # Set rolling window parameters spi.set_rolling_window_params(span=1, window_type=None, center=True) # Set distribution parameters spi.set_distribution_params(dist_type='gengamma') # Calculate SPI data = spi.calculate(rainfall_data, starting_month=1) # Create date list for plotting n_dates = np.shape(data)[0] date_list = create_datelist(dt.date(2000, 1, 1), n_dates) # Plot SPI plot_index(date_list, data) print np.squeeze(data) # Test find best distribution fit dist_list = ['gamma', 'gengamma', 'fisk', 'dweibull', 'logistic'] test_data = scipy.stats.gamma.rvs(10., size=100) sse = spi.best_fit_distribution(test_data, dist_list, bins=20, save_file='test.jpg') for k in sse: print "distribution = {0:}; SSE = {1:}".format(k, sse[k])