class_docstr: Config object for an automatic seasonality detection layer.
code: def periodicity_strategy(self, p: Union[PeriodicityStrategy, str]):
      if not isinstance(p, PeriodicityStrategy):
          valid = {
              k.lower(): k for k in PeriodicityStrategy.__members__
          }
          assert (
              p.lower() in valid
          ), f"Unsupported PeriodicityStrategy {p}. Supported values: {valid.values()}"
          p = PeriodicityStrategy[valid[p.lower()]]
  
      if p is PeriodicityStrategy.All and not self.multi_seasonality:
          raise ValueError(
              "Periodicity strategy All is not supported for a model which does not support multiple seasonalities."
          )
  
      self._periodicity_strategy = p
  
imports: from abc import abstractmethod
  from enum import Enum, auto
  import logging
  from typing import Any, Iterator, List, Optional, Tuple, Union
  import numpy
  from scipy.signal import argrelmax
  from scipy.stats import norm
  import statsmodels.api
  from statsmodels.tsa.exponential_smoothing.ets import ETSModel
  from merlion.models.automl.base import AutoMLMixIn
  from merlion.models.base import ModelBase
  from merlion.models.layers import LayeredModelConfig
  from merlion.transform.resample import TemporalResample
  from merlion.utils import TimeSeries, UnivariateTimeSeries
  from merlion.utils.misc import AutodocABCMeta
label_desc: Use image node_id 4 for calling the SeasonalityConfig obj's underlying member method code with example usage: obj.periodicity_strategy(p) without return types