prepare_exog,
_safe_cond
)
+import platform
+import sys
+warn_rswitch_platform = "Regime switching models (Markov(Auto)Regression) can give wrong results on armhf (armv7)" if ((platform.uname()[4].startswith('arm') or platform.uname()[4].startswith('aarch')) and np.log2(sys.maxsize)<=32) else False # test results at end of https://buildd.debian.org/status/fetch.php?pkg=statsmodels&arch=armhf&ver=0.11.0-1&stamp=1580716740&raw=0 ; the use of log2 rather than 2**32 is to avoid overflow on Python 2
prefix_hamilton_filter_log_map = {
's': shamilton_filter_log, 'd': dhamilton_filter_log,
def __init__(self, endog, k_regimes, order=0, exog_tvtp=None, exog=None,
dates=None, freq=None, missing='none'):
+ if warn_rswitch_platform:
+ warnings.warn(warn_rswitch_platform)
# Properties
self.k_regimes = k_regimes
from statsmodels.tools import add_constant
from statsmodels.tsa.regime_switching import markov_autoregression
+from statsmodels.tsa.regime_switching.markov_switching import warn_rswitch_platform
+pytestmark = pytest.mark.xfail(condition=bool(warn_rswitch_platform),reason="known broken on armhf",strict=False)
current_path = os.path.dirname(os.path.abspath(__file__))
from statsmodels.tsa.regime_switching import (markov_switching,
markov_regression)
+from statsmodels.tsa.regime_switching.markov_switching import warn_rswitch_platform
+pytestmark = pytest.mark.xfail(condition=bool(warn_rswitch_platform),reason="known broken on armhf",strict=False)
current_path = os.path.dirname(os.path.abspath(__file__))