in orbit/template/ktrlite.py [0:0]
def _set_default_args(self):
"""Set default attributes for None"""
if self.seasonality is None:
self._seasonality = list()
self._seasonality_fs_order = list()
elif not isinstance(self._seasonality, list) and isinstance(
self._seasonality, (int, float)
):
self._seasonality = [self.seasonality]
# set some defaults for seasonality_fs_order
if self._seasonality and self._seasonality_fs_order is None:
self._seasonality_fs_order = [2] * len(self._seasonality)
elif not isinstance(self._seasonality_fs_order, list) and isinstance(
self._seasonality_fs_order, (int, float)
):
self._seasonality_fs_order = [self.seasonality_fs_order]
if len(self._seasonality_fs_order) != len(self._seasonality):
raise IllegalArgument("length of seasonality and fs_order not matching")
for k, order in enumerate(self._seasonality_fs_order):
if 2 * order > self._seasonality[k] - 1:
raise IllegalArgument(
"reduce seasonality_fs_order to avoid over-fitting"
)
if not isinstance(self.seasonal_initial_knot_scale, list) and isinstance(
self.seasonal_initial_knot_scale * 1.0, float
):
self._seasonal_initial_knot_scale = [
self.seasonal_initial_knot_scale
] * len(self._seasonality)
else:
self._seasonal_initial_knot_scale = self.seasonal_initial_knot_scale
if not isinstance(self.seasonal_knot_scale, list) and isinstance(
self.seasonal_knot_scale * 1.0, float
):
self._seasonal_knot_scale = [self.seasonal_knot_scale] * len(
self._seasonality
)
else:
self._seasonal_knot_scale = self.seasonal_knot_scale