Exemplo n.º 1
0
 def test_nested_dict(self):
     data = {
         'a': [123.45678, 987.65432],
         'b': {
             'c': 918.27364,
         },
     }
     self.assertEqual(round_values(data, 3), {
         'a': [123.457, 987.654],
         'b': {
             'c': 918.274,
         },
     })
Exemplo n.º 2
0
 def test_supplementary_rows(self):
     result = calculate_correspondence(self.data, sup_rows=[0])
     self.assertEqual(round_values(result, 5), {
         'rows': [
             [-0.11294],
             [-0.03178],
             [0.03607],
         ],
         'cols': [
             [-0.21713],
             [0.00664],
             [0.00229],
         ],
         'rows_quality': [0, 1, 1],
         'cols_quality': [0, 1, 1],
         'explained': [100],
         'eigenvalues': [0.00115],
     })
Exemplo n.º 3
0
 def test_calculate(self):
     result = calculate_correspondence(self.data)
     self.assertEqual(round_values(result, 5), {
         'rows': [
             [0.27539, 0.00007],
             [-0.29768, -0.00287],
             [-0.32938, 0.00309]
         ],
         'cols': [
             [0.75216, -0.00189],
             [-0.18241, -0.0013],
             [0.03872, 0.00293]
         ],
         'rows_quality': [1, 1, 1],
         'cols_quality': [1, 1, 1],
         'explained': [99.99519, 0.00481],
         'eigenvalues': [0.08618, 0.0],
     })
Exemplo n.º 4
0
 def test_additive(self):
     data = [112, 118, 132, 129, 121, 135, 148, 148, 136, 119]
     result = calculate_decomposition(data,
                                      model=MODEL_ADDITIVE,
                                      frequency=2)
     self.assertEqual(
         round_values(result, 5), {
             'trend': [
                 113.23796,
                 119.27023,
                 124.51453,
                 127.54782,
                 130.97659,
                 135.84682,
                 140.63997,
                 140.27748,
                 132.71615,
                 124.02202,
             ],
             'seasonal': [
                 0.48792,
                 -0.48792,
                 0.48792,
                 -0.48792,
                 0.48792,
                 -0.48792,
                 0.48792,
                 -0.48792,
                 0.48792,
                 -0.48792,
             ],
             'resid': [
                 -1.72587,
                 -0.78231,
                 6.99755,
                 1.94009,
                 -10.4645,
                 -0.3589,
                 6.87211,
                 8.21044,
                 2.79593,
                 -4.53411,
             ],
         })
Exemplo n.º 5
0
 def test_multiplicative(self):
     data = [112, 118, 132, 129, 121, 135, 148, 148, 136, 119]
     result = calculate_decomposition(data,
                                      model=MODEL_MULTIPLICATIVE,
                                      frequency=2)
     self.assertEqual(
         round_values(result, 5), {
             'trend': [
                 113.2614,
                 119.02965,
                 124.29212,
                 127.37158,
                 130.72409,
                 135.43867,
                 140.47552,
                 140.09061,
                 132.2408,
                 123.82395,
             ],
             'seasonal': [
                 1.0036,
                 0.99641,
                 1.0036,
                 0.99641,
                 1.0036,
                 0.99641,
                 1.0036,
                 0.99641,
                 1.0036,
                 0.99641,
             ],
             'resid': [
                 0.98532,
                 0.99492,
                 1.05821,
                 1.01643,
                 0.92229,
                 1.00035,
                 1.04979,
                 1.06026,
                 1.02474,
                 0.9645,
             ],
         })
Exemplo n.º 6
0
    def test_supplementary_cols(self):
        result = calculate_correspondence(self.data, sup_cols=[0])
        self.assertEqual(round_values(result, 5), {
            'rows': [
                [0.11055],
                [-0.10065],
                [-0.10456],
            ],
            'cols': [
                [0.60711],
                [-0.08105],
                [0.13983],
            ],
            'rows_quality': [1, 1, 1],
            'cols_quality': [1, 1, 1],
            'explained': [100],
            'eigenvalues': [0.01133],
        }
)
Exemplo n.º 7
0
 def test_value(self):
     data = 123.45678
     self.assertEqual(round_values(data, 3), 123.457)
Exemplo n.º 8
0
 def test_list(self):
     data = [123.45678, 987.65432]
     self.assertEqual(round_values(data, 3), [123.457, 987.654])