コード例 #1
0
ファイル: ols_regressor.py プロジェクト: jirhiker/pychron
    def _get_mswd(self):
        self.valid_mswd=False
        if self._degree==1:
            # a = self.intercept
            # b = self.slope
            coeffs=self._calculate_coefficients()
            if not len(coeffs):
                self.calculate()
                coeffs = self._calculate_coefficients()

            if len(coeffs):
                x = self.xs
                y = self.ys

                sx = self.xserr
                sy = self.yserr

                if not len(sx):
                    sx=zeros(self.n)
                if not len(sy):
                    sy=zeros(self.n)

                x=self._clean_array(x)
                y=self._clean_array(y)
                sx=self._clean_array(sx)
                sy=self._clean_array(sy)

                m=calculate_mswd2(x, y, sx, sy, coeffs[1], coeffs[0])
                self.valid_mswd=validate_mswd(m, len(ys), k=2)
                return m
            else:
                return 0
        else:
            return super(OLSRegressor, self)._get_mswd()
コード例 #2
0
    def _get_mswd(self):
        self.valid_mswd = False
        if self._degree == 1:
            # a = self.intercept
            # b = self.slope
            coeffs = self._calculate_coefficients()
            if not len(coeffs):
                self.calculate()
                coeffs = self._calculate_coefficients()

            if len(coeffs):
                x = self.xs
                y = self.ys

                sx = self.xserr
                sy = self.yserr

                if not len(sx):
                    sx = zeros(self.n)
                if not len(sy):
                    sy = zeros(self.n)

                x = self._clean_array(x)
                y = self._clean_array(y)
                sx = self._clean_array(sx)
                sy = self._clean_array(sy)

                m = calculate_mswd2(x, y, sx, sy, coeffs[1], coeffs[0])
                self.valid_mswd = validate_mswd(m, len(ys), k=2)
                return m
            else:
                return 0
        else:
            return super(OLSRegressor, self)._get_mswd()
コード例 #3
0
ファイル: stats.py プロジェクト: NMGRL/pychron
    def test_chi_squared(self):

        x, y, wx, wy = pearson()

        b = -0.4807
        a = 5.4806

        ex = 1 / wx ** 0.5
        ey = 1 / wy ** 0.5

        v = 1.4833
        m = calculate_mswd2(x, y, ex, ey, a, b, correlated_errors=True)
        self.assertAlmostEqual(m, v, 4)

        v = 2.2045
        m = calculate_mswd2(x, y, ex, ey, a, b)
        self.assertAlmostEqual(m, v, 4)
コード例 #4
0
    def test_chi_squared(self):

        x, y, wx, wy = pearson()

        b = -0.4807
        a = 5.4806

        ex = 1 / wx**0.5
        ey = 1 / wy**0.5

        v = 1.4833
        m = calculate_mswd2(x, y, ex, ey, a, b, correlated_errors=True)
        self.assertAlmostEqual(m, v, 4)

        v = 2.2045
        m = calculate_mswd2(x, y, ex, ey, a, b)
        self.assertAlmostEqual(m, v, 4)
コード例 #5
0
 def _get_mswd(self):
     if not self._slope:
         self.calculate()
     a = self.intercept
     b = self.slope
     x, y, sx, sy = self.clean_xs, self.clean_ys, self.clean_xserr, self.clean_yserr
     v = calculate_mswd2(x, y, sx, sy, a, b, corrcoeffs=self._calculate_correlation_coefficients())
     self.valid_mswd = validate_mswd(v, len(x), k=2)
     return v
コード例 #6
0
 def _get_mswd(self):
     if not self._slope:
         self.calculate()
     a = self.intercept
     b = self.slope
     x, y, sx, sy = self.clean_xs, self.clean_ys, self.clean_xserr, self.clean_yserr
     v = calculate_mswd2(x, y, sx, sy, a, b,
                         corrcoeffs=self.calculate_correlation_coefficients())
     self.valid_mswd = validate_mswd(v, len(x), k=2)
     return v
コード例 #7
0
ファイル: new_york_regressor.py プロジェクト: sgallet/pychron
    def _get_mswd(self):
        if not self._slope:
            self.calculate()

        a = self.intercept
        b = self.slope
        x = self.xs
        y = self.ys

        sx = self.xserr
        sy = self.yserr
        #print a
        #print b
        #print x
        #print y
        #print sx
        #print sy
        #print '----'
        return calculate_mswd2(x, y, sx, sy, a, b)
コード例 #8
0
    def _get_mswd(self):
        if not self._slope:
            self.calculate()

        a = self.intercept
        b = self.slope
        x = self.xs
        y = self.ys

        sx = self.xserr
        sy = self.yserr
        # print a
        # print b
        # print x
        # print y
        # print sx
        # print sy
        # print '----'
        return calculate_mswd2(x, y, sx, sy, a, b)