def _find_relevant_timestamp_attributes(series: TimeSeries) -> set:
    """Finds pd.Timestamp attributes relevant for seasonality.

    Analyzes the given TimeSeries instance for relevant pd.Timestamp attributes
    in terms of the autocorrelation of their length within the series with the
    goal of finding the periods of the seasonal trends present in the series.

    Parameters
    ----------
    series
        The TimeSeries instance to be analyzed.

    Returns
    -------
    set
        A set of pd.Timestamp attributes with high autocorrelation within `series`.
    """
    relevant_attributes = set()

    if type(series.freq) in {
        pd.tseries.offsets.MonthBegin,
        pd.tseries.offsets.MonthEnd,
    }:
        # check for yearly seasonality
        if _check_approximate_seasonality(series, 12, 1, 0):
            relevant_attributes.add("month")
    elif type(series.freq) is pd.tseries.offsets.Day:
        # check for yearly seasonality
        if _check_approximate_seasonality(series, 365, 5, 20):
            relevant_attributes.update({"month", "day"})
        # check for monthly seasonality
        elif _check_approximate_seasonality(series, 30, 2, 2):
            relevant_attributes.add("day")
        # check for weekly seasonality
        elif _check_approximate_seasonality(series, 7, 0, 0):
            relevant_attributes.add("weekday")
    elif type(series.freq) is pd.tseries.offsets.Hour:
        # check for yearly seasonality
        if _check_approximate_seasonality(series, 8760, 100, 100):
            relevant_attributes.update({"month", "day", "hour"})
        # check for monthly seasonality
        elif _check_approximate_seasonality(series, 730, 10, 30):
            relevant_attributes.update({"day", "hour"})
        # check for weekly seasonality
        elif _check_approximate_seasonality(series, 168, 3, 10):
            relevant_attributes.update({"weekday", "hour"})
        # check for daily seasonality
        elif _check_approximate_seasonality(series, 24, 1, 1):
            relevant_attributes.add("hour")
    elif type(series.freq) is pd.tseries.offsets.Minute:
        # check for daily seasonality
        if _check_approximate_seasonality(series, 1440, 20, 50):
            relevant_attributes.update({"hour", "minute"})
        # check for hourly seasonality
        elif _check_approximate_seasonality(series, 60, 4, 3):
            relevant_attributes.add("minute")

    return relevant_attributes
Finds pd.Timestamp attributes relevant for seasonality.

    Analyzes the given TimeSeries instance for relevant pd.Timestamp attributes
    in terms of the autocorrelation of their length within the series with the
    goal of finding the periods of the seasonal trends present in the series.

    Parameters
    ----------
    series
        The TimeSeries instance to be analyzed.

    Returns
    -------
    set
        A set of pd.Timestamp attributes with high autocorrelation within `series`.
    
darts/models/forecasting/fft.py