From: Debian Science Maintainers Date: Fri, 17 Dec 2021 22:32:59 +0000 (+0000) Subject: DynamicFactor test fail on ppc64el X-Git-Tag: archive/raspbian/0.13.1+dfsg-3+rpi1^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c92c4588c9becc20b83b9c9d416729a0a4a939e5;p=statsmodels.git DynamicFactor test fail on ppc64el Warn on use and xfail test Author: Rebecca N. Palmer Forwarded: no Gbp-Pq: Name xfail_dynamicfactor_ppc64el.patch --- diff --git a/statsmodels/tsa/statespace/dynamic_factor.py b/statsmodels/tsa/statespace/dynamic_factor.py index bec3147..745be30 100644 --- a/statsmodels/tsa/statespace/dynamic_factor.py +++ b/statsmodels/tsa/statespace/dynamic_factor.py @@ -23,6 +23,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): @@ -141,6 +144,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 diff --git a/statsmodels/tsa/statespace/tests/test_dynamic_factor.py b/statsmodels/tsa/statespace/tests/test_dynamic_factor.py index beb17a3..5db5cc4 100644 --- a/statsmodels/tsa/statespace/tests/test_dynamic_factor.py +++ b/statsmodels/tsa/statespace/tests/test_dynamic_factor.py @@ -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 @@ -575,7 +576,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,