コード例 #1
0
    def reduce(self, **keywords):
        """
		2012.10.15
			run after all files have been walked through
		"""
        meanStdData = statistics.estimateMeanStdFromData(
            dataVector=self.dataLs, excludeTopFraction=0.2)
        chiSqData = statistics.calculateChiSqStatOfDeltaVector(dataVector=self.dataLs, mean=meanStdData.mean, \
                  std=meanStdData.std)
        xMedianValue = numpy.median(self.x_value_ls)
        yMedianValue = numpy.median(self.y_value_ls)
        corr = numpy.corrcoef(self.x_value_ls, self.y_value_ls)[0, 1]

        thisOutputID = os.path.basename(self.outputFname)
        outlierFraction = float(self.noOfOutliers) / self.noOfNonMissing
        dataRow = [thisOutputID, self.noOfOutliers, self.noOfNonMissing, outlierFraction, chiSqData.chiSqStat,\
          chiSqData.chiSqMinusLogPvalue, xMedianValue, yMedianValue, corr]
        self.writer.writerow(dataRow)

        sys.stderr.write("%s/%s (%.3f) outliers, chiSqStat=%.3f, chiSqMinusLogPvalue=%.3f.\n"%\
            (self.noOfOutliers, self.noOfNonMissing, outlierFraction,\
            chiSqData.chiSqStat, chiSqData.chiSqMinusLogPvalue))

        #close the self.invariantPData.writer
        AbstractMatrixFileWalker.reduce(self, **keywords)