Пример #1
0
    def finalizeSampling(self):
        #from scikits.talkbox.tools.correlations import  acorr
        from pyhrf.stats import acorr
        if 0 and self.smplHistory is not None:
            logger.info('Compute autocorrelation of %s samples, shape=%s',
                        self.name, str(self.smplHistory.shape))
            trajectory = self.smplHistory[self.samplerEngine.nbSweeps::2]
            self.autocorrelation = acorr(trajectory)
            sn = trajectory.shape[0] ** .5
            t95 = 1.959963984540054 / sn
            self.autocorrelation_test = np.zeros(self.autocorrelation.shape,
                                                 dtype=np.int32)
            self.autocorrelation_test[np.where(self.autocorrelation > t95)] = 1
            self.autocorrelation_test[
                np.where(self.autocorrelation < -t95)] = -1

            self.autocorrelation_thresh = t95

            from scipy.stats import norm
            self.autocorrelation_pvalue = np.zeros(self.autocorrelation.shape,
                                                   dtype=np.float32)
            m_pos = np.where(self.autocorrelation > 0)
            if len(m_pos[0]) > 0:
                ac_pos = self.autocorrelation[m_pos]
                self.autocorrelation_pvalue[m_pos] = norm.sf(ac_pos * sn)

            m_neg = np.where(self.autocorrelation < 0)
            if len(m_neg[0]) > 0:
                ac_neg = self.autocorrelation[m_neg]
                self.autocorrelation_pvalue[m_neg] = norm.cdf(ac_neg * sn)

            logger.info('Compute posterior median for %s ', self.name)
            self.median = np.median(self.smplHistory, axis=0)

        self.check_final_value()
Пример #2
0
    def finalizeSampling(self):
        #from scikits.talkbox.tools.correlations import  acorr
        from pyhrf.stats import acorr
        if 0 and self.smplHistory is not None:
            logger.info('Compute autocorrelation of %s samples, shape=%s',
                        self.name, str(self.smplHistory.shape))
            trajectory = self.smplHistory[self.samplerEngine.nbSweeps::2]
            self.autocorrelation = acorr(trajectory)
            sn = trajectory.shape[0]**.5
            t95 = 1.959963984540054 / sn
            self.autocorrelation_test = np.zeros(self.autocorrelation.shape,
                                                 dtype=np.int32)
            self.autocorrelation_test[np.where(self.autocorrelation > t95)] = 1
            self.autocorrelation_test[np.where(
                self.autocorrelation < -t95)] = -1

            self.autocorrelation_thresh = t95

            from scipy.stats import norm
            self.autocorrelation_pvalue = np.zeros(self.autocorrelation.shape,
                                                   dtype=np.float32)
            m_pos = np.where(self.autocorrelation > 0)
            if len(m_pos[0]) > 0:
                ac_pos = self.autocorrelation[m_pos]
                self.autocorrelation_pvalue[m_pos] = norm.sf(ac_pos * sn)

            m_neg = np.where(self.autocorrelation < 0)
            if len(m_neg[0]) > 0:
                ac_neg = self.autocorrelation[m_neg]
                self.autocorrelation_pvalue[m_neg] = norm.cdf(ac_neg * sn)

            logger.info('Compute posterior median for %s ', self.name)
            self.median = np.median(self.smplHistory, axis=0)

        self.check_final_value()
Пример #3
0
    def finalizeSampling(self):
        # from scikits.talkbox.tools.correlations import  acorr
        from pyhrf.stats import acorr

        if 0 and self.smplHistory is not None:
            pyhrf.verbose(
                3, "Compute autocorrelation of %s samples " ", shape=%s" % (self.name, str(self.smplHistory.shape))
            )
            trajectory = self.smplHistory[self.samplerEngine.nbSweeps :: 2]
            # print 'trajectory:', trajectory.shape
            self.autocorrelation = acorr(trajectory)
            # print 'self.autocorrelation:', self.autocorrelation
            sn = trajectory.shape[0] ** 0.5
            t95 = 1.959963984540054 / sn
            self.autocorrelation_test = np.zeros(self.autocorrelation.shape, dtype=np.int32)
            # print 't95:', t95
            self.autocorrelation_test[np.where(self.autocorrelation > t95)] = 1
            self.autocorrelation_test[np.where(self.autocorrelation < -t95)] = -1

            self.autocorrelation_thresh = t95

            from scipy.stats import norm

            self.autocorrelation_pvalue = np.zeros(self.autocorrelation.shape, dtype=np.float32)
            # print 'self.autocorrelation ... :', self.autocorrelation
            m_pos = np.where(self.autocorrelation > 0)
            if len(m_pos[0]) > 0:
                ac_pos = self.autocorrelation[m_pos]
                self.autocorrelation_pvalue[m_pos] = norm.sf(ac_pos * sn)
                # print 'ac_pos:', ac_pos.shape
                # print ac_pos
                # print '--- * sn'
                # print ac_pos*sn
                # print 'norm.sf:'
                # print norm.sf(ac_pos * sn)

            m_neg = np.where(self.autocorrelation < 0)
            if len(m_neg[0]) > 0:
                ac_neg = self.autocorrelation[m_neg]
                # print 'ac_neg:', ac_neg.shape, (ac_neg*sn).mean()
                self.autocorrelation_pvalue[m_neg] = norm.cdf(ac_neg * sn)

            # print 'self.smplHistory:'
            # print self.smplHistory
            # print 'self.autocorrelation:', self.autocorrelation.shape
            # print self.autocorrelation

            pyhrf.verbose(3, "Compute posterior median for %s " % (self.name))
            self.median = np.median(self.smplHistory, axis=0)

        self.check_final_value()