def view(self): notDone = True while notDone: whatToView = -1 while whatToView < 0 or whatToView > 3: try: whatToView = int( raw_input( 'View walkers in C-ARMA coefficients (0) or C-ARMA roots (1) or C-ARMA \ timescales (2):')) except ValueError: print 'Bad input: integer required!' pView = -1 while pView < 1 or pView > self.pMax: try: pView = int(raw_input('C-AR model order:')) except ValueError: print 'Bad input: integer required!' qView = -1 while qView < 0 or qView >= pView: try: qView = int(raw_input('C-MA model order:')) except ValueError: print 'Bad input: integer required!' if whatToView == 0: figTitle = 'CARMA(%d,%d); DIC: %+4.3e' % ( pView, qView, self.DICDict['%d %d' % (pView, qView)]) labelList = list() dimCtr = 0 for i in range(pView): labelList.append(r'$a_{%d}$: $\mathrm{dim}%d$' % (i + 1, dimCtr)) dimCtr += 1 for i in range(qView + 1): labelList.append(r'$b_{%d}$: $\mathrm{dim}%d$' % (i, dimCtr)) dimCtr += 1 mcmcviz.vizTriangle(pView, qView, self.taskDict['%d %d' % (pView, qView)].Chain, labelList=labelList, figTitle=figTitle) dim1 = -1 while dim1 < 0 or dim1 > pView + qView + 1: try: dim1 = int(raw_input('1st Dimension to view:')) except ValueError: print 'Bad input: integer required!' dim2 = -1 while dim2 < 0 or dim2 > pView + qView + 1 or dim2 == dim1: try: dim2 = int(raw_input('2nd Dimension to view:')) except ValueError: print 'Bad input: integer required!' if dim1 < pView: dim1Name = r'$a_{%d}$' % (dim1) if dim1 >= pView and dim1 < pView + qView + 1: dim1Name = r'$b_{%d}$' % (dim1 - pView) if dim2 < pView: dim2Name = r'$a_{%d}$' % (dim2) if dim2 >= pView and dim2 < pView + qView + 1: dim2Name = r'$b_{%d}$' % (dim2 - pView) res = mcmcviz.vizWalkers( self.taskDict['%d %d' % (pView, qView)].Chain, self.taskDict['%d %d' % (pView, qView)].LnPosterior, dim1, dim1Name, dim2, dim2Name) elif whatToView == 1: figTitle = 'CARMA(%d,%d); DIC: %+4.3e' % ( pView, qView, self.DICDict['%d %d' % (pView, qView)]) labelList = list() dimCtr = 0 for i in range(pView): labelList.append(r'$r_{%d}$: $\mathrm{dim}%d$' % (i, dimCtr)) dimCtr += 1 for i in range(qView): labelList.append(r'$m_{%d}$: $\mathrm{dim}%d$' % (i, dimCtr)) dimCtr += 1 labelList.append(r'$\mathrm{Amp.}$: $\mathrm{dim}%d$' % (dimCtr)) dimCtr += 1 mcmcviz.vizTriangle(pView, qView, self.taskDict['%d %d' % (pView, qView)].rootChain, labelList=labelList, figTitle=figTitle) dim1 = -1 while dim1 < 0 or dim1 > pView + qView + 1: try: dim1 = int(raw_input('1st Dimension to view:')) except ValueError: print 'Bad input: integer required!' dim2 = -1 while dim2 < 0 or dim2 > pView + qView + 1 or dim2 == dim1: try: dim2 = int(raw_input('2nd Dimension to view:')) except ValueError: print 'Bad input: integer required!' if dim1 < pView: dim1Name = r'$r_{%d}$' % (dim1) if dim1 >= pView and dim1 < pView + qView: dim1Name = r'$m_{%d}$' % (dim1 - pView) if dim1 == pView + qView: dim1Name = r'$\mathrm{Amp.}$' if dim2 < pView: dim2Name = r'$r_{%d}$' % (dim2) if dim2 >= pView and dim2 < pView + qView: dim2Name = r'$m_{%d}$' % (dim2 - pView) if dim2 == pView + qView: dim2Name = r'$\mathrm{Amp.}$' res = mcmcviz.vizWalkers( self.taskDict['%d %d' % (pView, qView)].rootChain, self.taskDict['%d %d' % (pView, qView)].LnPosterior, dim1, dim1Name, dim2, dim2Name) else: figTitle = 'CARMA(%d,%d); DIC: %+4.3e' % ( pView, qView, self.DICDict['%d %d' % (pView, qView)]) labelList = list() dimCtr = 0 for i in range(pView + qView): labelList.append(r'$\tau_{%d}$: $\mathrm{dim}%d$' % (i, dimCtr)) dimCtr += 1 labelList.append(r'$\mathrm{Amp.}$: $\mathrm{dim}%d$' % (dimCtr)) dimCtr += 1 mcmcviz.vizTriangle( pView, qView, self.taskDict['%d %d' % (pView, qView)].timescaleChain, labelList=labelList, figTitle=figTitle) dim1 = -1 while dim1 < 0 or dim1 > pView + qView + 1: try: dim1 = int(raw_input('1st Dimension to view:')) except ValueError: print 'Bad input: integer required!' dim2 = -1 while dim2 < 0 or dim2 > pView + qView + 1 or dim2 == dim1: try: dim2 = int(raw_input('2nd Dimension to view:')) except ValueError: print 'Bad input: integer required!' if dim1 < pView + qView: dim1Name = r'$\tau_{%d}$' % (dim1) if dim1 == pView + qView: dim1Name = r'$\mathrm{Amp.}$' if dim2 < pView + qView: dim2Name = r'$\tau_{%d}$' % (dim2) if dim2 == pView + qView: dim2Name = r'$\mathrm{Amp.}$' res = mcmcviz.vizWalkers( self.taskDict['%d %d' % (pView, qView)].timescaleChain, self.taskDict['%d %d' % (pView, qView)].LnPosterior, dim1, dim1Name, dim2, dim2Name) var = str( raw_input('Do you wish to view any more MCMC walkers? (y/n):') ).lower() if var == 'n': notDone = False
def view(self): notDone = True while notDone: whatToView = -1 while whatToView < 0 or whatToView > 3: try: whatToView = int( raw_input('View walkers in C-ARMA coefficients (0) or C-ARMA roots (1) or C-ARMA \ timescales (2):')) except ValueError: print 'Bad input: integer required!' pView = -1 while pView < 1 or pView > self.pMax: try: pView = int(raw_input('C-AR model order:')) except ValueError: print 'Bad input: integer required!' qView = -1 while qView < 0 or qView >= pView: try: qView = int(raw_input('C-MA model order:')) except ValueError: print 'Bad input: integer required!' if whatToView == 0: figTitle = 'CARMA(%d,%d); DIC: %+4.3e'%(pView, qView, self.DICDict['%d %d'%(pView, qView)]) labelList = list() dimCtr = 0 for i in range(pView): labelList.append(r'$a_{%d}$: $\mathrm{dim}%d$'%(i + 1, dimCtr)) dimCtr += 1 for i in range(qView + 1): labelList.append(r'$b_{%d}$: $\mathrm{dim}%d$'%(i, dimCtr)) dimCtr += 1 mcmcviz.vizTriangle(pView, qView, self.taskDict[ '%d %d'%(pView, qView)].Chain, labelList=labelList, figTitle=figTitle) dim1 = -1 while dim1 < 0 or dim1 > pView + qView + 1: try: dim1 = int(raw_input('1st Dimension to view:')) except ValueError: print 'Bad input: integer required!' dim2 = -1 while dim2 < 0 or dim2 > pView + qView + 1 or dim2 == dim1: try: dim2 = int(raw_input('2nd Dimension to view:')) except ValueError: print 'Bad input: integer required!' if dim1 < pView: dim1Name = r'$a_{%d}$'%(dim1) if dim1 >= pView and dim1 < pView + qView + 1: dim1Name = r'$b_{%d}$'%(dim1 - pView) if dim2 < pView: dim2Name = r'$a_{%d}$'%(dim2) if dim2 >= pView and dim2 < pView + qView + 1: dim2Name = r'$b_{%d}$'%(dim2 - pView) res = mcmcviz.vizWalkers(self.taskDict['%d %d'%(pView, qView)].Chain, self.taskDict[ '%d %d'%(pView, qView)].LnPosterior, dim1, dim1Name, dim2, dim2Name) elif whatToView == 1: figTitle = 'CARMA(%d,%d); DIC: %+4.3e'%(pView, qView, self.DICDict['%d %d'%(pView, qView)]) labelList = list() dimCtr = 0 for i in range(pView): labelList.append(r'$r_{%d}$: $\mathrm{dim}%d$'%(i, dimCtr)) dimCtr += 1 for i in range(qView): labelList.append(r'$m_{%d}$: $\mathrm{dim}%d$'%(i, dimCtr)) dimCtr += 1 labelList.append(r'$\mathrm{Amp.}$: $\mathrm{dim}%d$'%(dimCtr)) dimCtr += 1 mcmcviz.vizTriangle(pView, qView, self.taskDict[ '%d %d'%(pView, qView)].rootChain, labelList=labelList, figTitle=figTitle) dim1 = -1 while dim1 < 0 or dim1 > pView + qView + 1: try: dim1 = int(raw_input('1st Dimension to view:')) except ValueError: print 'Bad input: integer required!' dim2 = -1 while dim2 < 0 or dim2 > pView + qView + 1 or dim2 == dim1: try: dim2 = int(raw_input('2nd Dimension to view:')) except ValueError: print 'Bad input: integer required!' if dim1 < pView: dim1Name = r'$r_{%d}$'%(dim1) if dim1 >= pView and dim1 < pView + qView: dim1Name = r'$m_{%d}$'%(dim1 - pView) if dim1 == pView + qView: dim1Name = r'$\mathrm{Amp.}$' if dim2 < pView: dim2Name = r'$r_{%d}$'%(dim2) if dim2 >= pView and dim2 < pView + qView: dim2Name = r'$m_{%d}$'%(dim2 - pView) if dim2 == pView + qView: dim2Name = r'$\mathrm{Amp.}$' res = mcmcviz.vizWalkers(self.taskDict['%d %d'%(pView, qView)].rootChain, self.taskDict[ '%d %d'%(pView, qView)].LnPosterior, dim1, dim1Name, dim2, dim2Name) else: figTitle = 'CARMA(%d,%d); DIC: %+4.3e'%(pView, qView, self.DICDict['%d %d'%(pView, qView)]) labelList = list() dimCtr = 0 for i in range(pView + qView): labelList.append(r'$\tau_{%d}$: $\mathrm{dim}%d$'%(i, dimCtr)) dimCtr += 1 labelList.append(r'$\mathrm{Amp.}$: $\mathrm{dim}%d$'%(dimCtr)) dimCtr += 1 mcmcviz.vizTriangle(pView, qView, self.taskDict['%d %d'%(pView, qView)].timescaleChain, labelList=labelList, figTitle=figTitle) dim1 = -1 while dim1 < 0 or dim1 > pView + qView + 1: try: dim1 = int(raw_input('1st Dimension to view:')) except ValueError: print 'Bad input: integer required!' dim2 = -1 while dim2 < 0 or dim2 > pView + qView + 1 or dim2 == dim1: try: dim2 = int(raw_input('2nd Dimension to view:')) except ValueError: print 'Bad input: integer required!' if dim1 < pView + qView: dim1Name = r'$\tau_{%d}$'%(dim1) if dim1 == pView + qView: dim1Name = r'$\mathrm{Amp.}$' if dim2 < pView + qView: dim2Name = r'$\tau_{%d}$'%(dim2) if dim2 == pView + qView: dim2Name = r'$\mathrm{Amp.}$' res = mcmcviz.vizWalkers(self.taskDict['%d %d'%(pView, qView)].timescaleChain, self.taskDict['%d %d'%(pView, qView)].LnPosterior, dim1, dim1Name, dim2, dim2Name) var = str(raw_input('Do you wish to view any more MCMC walkers? (y/n):')).lower() if var == 'n': notDone = False
labelList = [] labelT = [] labelRoots = [] for k in xrange(1, pBest + 1): labelList.append('a$_{%d}$'%(k)) labelT.append('$\tao_{%d}$'%(k)) labelRoots.append('r$_{%d}$'%(k)) for u in xrange(0, pBest): labelList.append('b$_{%d}$'%(u)) labelT.append('$\tao_{MA%d}$'%(u)) labelRoots.append('r$_{MA%d}$'%(u)) figTitle = args.sdssid #plot_res = mcmcviz.vizTriangle(p, q, nt.Chain, labelList, figTitle+'%d_%d'%(p, q)) res = mcmcviz.vizWalkers(taskDict['%d %d'%(pBest, qBest)].timescaleChain, taskDict['%d %d'%(pBest, qBest)].LnPosterior, 0, labelT[0], 1, labelT[1]) plt.clf() res_coeffs = mcmcviz.vizTriangle(pBest, qBest, taskDict['%d %d'%(pBest, qBest)].Chain, labelList , str(figTitle+'BestChain'+'%d-%d'%(pBest, qBest))) plt.clf() res_times = mcmcviz.vizTriangle(pBest, qBest, taskDict['%d %d'%(pBest, qBest)].timescaleChain, labelT, str(figTitle+'BestTimescales'+'%d-%d'%(pBest, qBest))) plt.clf() #reset labels list labelList2 = [] labelT2 = [] labelRoots2 = [] for k in xrange(1, pNext + 1): labelList2.append('a$_{%d}$'%(k)) labelT2.append('$tao_{%d}$'%(k)) labelRoots2.append('r$_{%d}$'%(k))
while dim1 < 0 or dim1 > pView + qView: dim1 = int(raw_input('1st Dimension to view:')) dim2 = -1 while dim2 < 0 or dim2 > pView + qView or dim2 == dim1: dim2 = int(raw_input('2nd Dimension to view:')) if whatToView == 0: if dim1 < pView: dim1Name = r'$a_{%d}$'%(dim1) if dim1 >= pView and dim1 < pView + qView + 1: dim1Name = r'$b_{%d}$'%(dim1 - pView) if dim2 < pView: dim2Name = r'$a_{%d}$'%(dim2) if dim2 >= pView and dim2 < pView + qView + 1: dim2Name = r'$b_{%d}$'%(dim2 - pView) res = mcmcviz.vizWalkers(taskDict['%d %d'%(pView, qView)].Chain, taskDict[ '%d %d'%(pView, qView)].LnPosterior, dim1, dim1Name, dim2, dim2Name) elif whatToView == 1: if dim1 < pView: dim1Name = r'$r_{%d}$'%(dim1) if dim1 >= pView and dim1 < pView + qView: dim1Name = r'$m_{%d}$'%(dim1 - pView) if dim1 == pView + qView: dim1Name = r'$\mathrm{Amp.}$' if dim2 < pView: dim2Name = r'$r_{%d}$'%(dim2) if dim2 >= pView and dim2 < pView + qView: dim2Name = r'$m_{%d}$'%(dim2 - pView) if dim2 == pView + qView: dim2Name = r'$\mathrm{Amp.}$' res = mcmcviz.vizWalkers(taskDict['%d %d'%(pView, qView)].rootChain, taskDict[