def check_fpp_kuiper_two(N, M, R, fpp): fps = 0 for i in range(R): D, f = kuiper.kuiper_two(np.random.random(N), np.random.random(M)) if f < fpp: fps += 1 assert scipy.stats.binom(R, fpp).sf(fps - 1) > 0.005 assert scipy.stats.binom(R, fpp).cdf(fps - 1) > 0.005
def check_fpp_kuiper_two(N,M,R,fpp): fps = 0 for i in range(R): D, f = kuiper.kuiper_two(np.random.random(N),np.random.random(M)) if f<fpp: fps += 1 assert scipy.stats.binom(R,fpp).sf(fps-1)>0.005 assert scipy.stats.binom(R,fpp).cdf(fps-1)>0.005
if i < 20: plt.figure() plt.plot(t2 - (popt[1] / (2 * np.pi) * rp), his9, label=str(i)) #+(popt[1]*(2*np.pi)/rp) plt.plot(t2, func(t2, popt[0], 0, popt[2]), label='fit') plt.legend(loc='upper left') #plt.text(0, 20, 'Parameters = ' + str(popt), fontsize=15) #plt.plot(lobase[:-1], locum, label=str(i)) #plt.legend(loc='upper left') #plt.plot([0,4.07],[0,1],'k--') plt.show() #reshape and save cums = np.reshape(cums, (detnum, bins)) pars = np.reshape(pars, (detnum, 3)) np.savetxt('fitparsfsat.dat', pars, fmt='%-.6f') pvals = [] #will become Kuiper p-values #Do the Kuiper test - this is for all 18 detectors right now (code will fail) for i in range(0, 18): for j in range(0, 18): st, p = kp.kuiper_two(cums[i, :], cums[j, :]) pvals = np.append(pvals, p) #Save Kuiper values pvals = np.reshape(pvals, (18, 18)) pvals[pvals != pvals] = 1 np.savetxt('polkuivals.dat', pvals, fmt='%-.6f')
def test_detect_kuiper_two_different(): D, f = kuiper.kuiper_two( np.random.random(500) * 0.5, np.random.random(500)) assert f < 0.01
def check_kuiper_two_nonuniform(N, M): assert kuiper.kuiper_two(np.random.random(N)**2, np.random.random(M)**2)[1] > 0.01
def check_kuiper_two_uniform(N, M): assert kuiper.kuiper_two(np.random.random(N), np.random.random(M))[1] > 0.01
def test_detect_kuiper_two_different(): D, f = kuiper.kuiper_two(np.random.random(500)*0.5,np.random.random(500)) assert f<0.01
def check_kuiper_two_nonuniform(N,M): assert kuiper.kuiper_two(np.random.random(N)**2,np.random.random(M)**2)[1]>0.01
def check_kuiper_two_uniform(N,M): assert kuiper.kuiper_two(np.random.random(N),np.random.random(M))[1]>0.01