--- title: M3 dataset keywords: fastai sidebar: home_sidebar summary: "Download the M3 dataset." description: "Download the M3 dataset." nb_path: "nbs/data_datasets__m3.ipynb" ---
{% raw %}
{% endraw %} {% raw %}
{% endraw %}

M3 meta information

{% raw %}

class Yearly[source]

Yearly(seasonality:int=1, horizon:int=6, freq:str='Y', sheet_name:str='M3Year', name:str='Yearly', n_ts:int=645)

Yearly(seasonality: int = 1, horizon: int = 6, freq: str = 'Y', sheet_name: str = 'M3Year', name: str = 'Yearly', n_ts: int = 645)

{% endraw %} {% raw %}

class Quarterly[source]

Quarterly(seasonality:int=4, horizon:int=8, freq:str='Q', sheet_name:str='M3Quart', name:str='Quarterly', n_ts:int=756)

Quarterly(seasonality: int = 4, horizon: int = 8, freq: str = 'Q', sheet_name: str = 'M3Quart', name: str = 'Quarterly', n_ts: int = 756)

{% endraw %} {% raw %}

class Monthly[source]

Monthly(seasonality:int=12, horizon:int=18, freq:str='M', sheet_name:str='M3Month', name:str='Monthly', n_ts:int=1428)

Monthly(seasonality: int = 12, horizon: int = 18, freq: str = 'M', sheet_name: str = 'M3Month', name: str = 'Monthly', n_ts: int = 1428)

{% endraw %} {% raw %}

class Other[source]

Other(seasonality:int=1, horizon:int=8, freq:str='D', sheet_name:str='M3Other', name:str='Other', n_ts:int=174)

Other(seasonality: int = 1, horizon: int = 8, freq: str = 'D', sheet_name: str = 'M3Other', name: str = 'Other', n_ts: int = 174)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
{% endraw %} {% raw %}

class M3[source]

M3(S:DataFrame, X:DataFrame, Y:DataFrame, idx_categorical_static:Optional[List[T]]=None, group:Union[str, List[str]]=None) :: TimeSeriesDataclass

M3(S: pandas.core.frame.DataFrame, X: pandas.core.frame.DataFrame, Y: pandas.core.frame.DataFrame, idx_categorical_static: Union[List, NoneType] = None, group: Union[str, List[str]] = None)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
for group, meta in M3Info:
    data, *_ = M3.load(directory='data', group=group)
    unique_elements = data.groupby(['unique_id', 'ds']).size()
    unique_ts = data.groupby('unique_id').size()

    assert (unique_elements != 1).sum() == 0, f'Duplicated records found: {group}'
    assert unique_ts.shape[0] == meta.n_ts, f'Number of time series not match: {group}'
{% endraw %}