DynamicFactor test fail on ppc64el
authorDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Fri, 10 Jul 2020 05:46:36 +0000 (06:46 +0100)
committerRebecca N. Palmer <rebecca_palmer@zoho.com>
Fri, 10 Jul 2020 05:46:36 +0000 (06:46 +0100)
Warn on use and xfail test

Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Forwarded: no

Gbp-Pq: Name xfail_dynamicfactor_ppc64el.patch

statsmodels/tsa/statespace/dynamic_factor.py
statsmodels/tsa/statespace/tests/test_dynamic_factor.py

index d5f28d35bca2879c1b2323ee6ebc816ee63e52e9..4ab15885f4f1db6b4228a535787d0d6a0f32e036 100644 (file)
@@ -25,6 +25,9 @@ from statsmodels.tsa.tsatools import lagmat
 from statsmodels.tools.decorators import cache_readonly
 import statsmodels.base.wrapper as wrap
 from statsmodels.compat.pandas import Appender
+import platform
+import warnings
+warn_dfactor_platform= "DynamicFactor can give wrong results on ppc64el" if platform.uname()[4].startswith('ppc') else False # test results at end of https://buildd.debian.org/status/fetch.php?pkg=statsmodels&arch=ppc64el&ver=0.11.0-1&stamp=1580692747&raw=0
 
 
 class DynamicFactor(MLEModel):
@@ -143,6 +146,8 @@ class DynamicFactor(MLEModel):
     def __init__(self, endog, k_factors, factor_order, exog=None,
                  error_order=0, error_var=False, error_cov_type='diagonal',
                  enforce_stationarity=True, **kwargs):
+        if warn_dfactor_platform:
+            warnings.warn(warn_dfactor_platform)
 
         # Model properties
         self.enforce_stationarity = enforce_stationarity
index 924b596ea1857bedb571cef2252649c79fd5b5a8..d71656800a69704c2261f869248c02384ee3f72c 100644 (file)
@@ -9,6 +9,7 @@ import re
 import warnings
 
 import numpy as np
+from statsmodels.tsa.statespace.dynamic_factor import warn_dfactor_platform
 from numpy.testing import assert_equal, assert_raises, assert_allclose
 import pandas as pd
 import pytest
@@ -574,7 +575,7 @@ class TestDynamicFactor_general_errors(CheckDynamicFactor):
             r'cov.chol\[3,3\] +' + forg(params[offset + 5], prec=4),
             table)
 
-
+@pytest.mark.xfail(condition=bool(warn_dfactor_platform),reason='known broken on ppc64el',strict=False)
 class TestDynamicFactor_ar2_errors(CheckDynamicFactor):
     """
     Test for a dynamic factor model where errors are as general as possible,