def runTrradeoffRepTime(): method='COMALE';L=50000 numExperiments = 500; numThreads = 2; Nu = [0.005, 0.1]; S = [0.05] param={'numExperiments':numExperiments,'method':method, 'numThreads': numThreads,'ModelName':'TimeSeries','L':L} if method=='COMALE': param['T']=tsutl.loadTransitions() print Nu,S,'numThreads=',numThreads for numReplicates in [3,5,10,15,20]: param['numReplicates']=numReplicates for samplingWindow in [10,30,70,100]: param['samplingWindow']=samplingWindow df=[] for nu0 in Nu: param['nu0']=nu0 for s in S: param['s']=s params=getParamsForExperiments(param) if numThreads==1: a=map(runOne,params) else: pool=Pool(numThreads) a=pool.map(runOne,params) pool.terminate() df+=[pd.concat(a)] print '\nMethod={}\tR={}\twin={}\tnu0={}\ts={}'.format(method, numReplicates,samplingWindow,nu0,s) for param in params:param['s']=0;param['nu0']=0.005 df+=[pd.concat(map(runOne,params))] df=pd.concat(df) df.sortlevel(inplace=True) df.dropna(axis=1,how='all',inplace=True) df['rep']=numReplicates df['win']=samplingWindow df.to_pickle('{}ROC/COMALERep{}Win{}.df'.format(utl.outpath, numReplicates, samplingWindow))
plt.figure() a = pd.Series([estt.Estimate.LD(sim.H0.astype('float'), measure=measure) for measure in measures], index=measures) a['Rho'] = a['Rho'] ** 2 df = a.apply hap = sim.H0.loc[sim.H0[sim.posUnderSelection].idxmax(), sim.H0.loc[sim.H0[sim.posUnderSelection].idxmax()] == 1].index a.apply(lambda x: x.loc[sim.posUnderSelection]).T.plot(subplots=True, ax=plt.gca()); plt.figure() for i, m in enumerate(measures): plt.subplot(2, 2, i + 1) df = pd.concat([a.apply(lambda x: x.loc[sim.posUnderSelection]).T, sim.H0.mean()], axis=1) df.plot.scatter(x=0, y=m, ax=plt.gca()) df.loc[hap].plot.scatter(x=0, y=m, ax=plt.gca(), color='r') TRANSITIONS = tsutl.loadTransitions() TRANSITIONSEXP = tsutl.loadTransitions(path=utl.outpath + 'transition/simulation/exp/') s = 0.025; i = 0; depth = 100 HMM = splt.loadHMMAllDepths() GP = splt.loadGP().LR FIT = pd.read_pickle(utl.outpath + 'ROC/FIT.df').iloc[:, 0] CMH = pd.concat([pd.read_pickle(utl.outpath + 'ROC/CMH.30.df'), pd.read_pickle(utl.outpath + 'ROC/CMH.100.df')]).iloc[:, 0] EMISSIONS = pd.read_pickle(utl.outpath + 'markov/Emissions.df') df = pd.concat([(HMM.alt - HMM.null) * HMM.s.apply(np.sign), GP, FIT, CMH]).sort_index().loc[(depth, 0.005)].xs(1, level='label') r = df.groupby(level=range(3)).apply(lambda x: x.rank(ascending=False)) df = pd.concat([df, r], axis=1);