Skip to content

plot_periodogram


method plot_periodogram(columns=None, title=None, legend="upper right", figsize=(900, 600), filename=None, display=True)[source]

Plot the spectral density of a time series.

A periodogram plot is used to visualize the frequency content of a time series signal. It's particularly useful in time series analysis for identifying dominant frequencies, periodic patterns, and overall spectral characteristics of the data. The x-axis shows the frequencies, normalized to the Nyquist frequency, and the y-axis shows the power spectral density or squared amplitude per frequency unit on a logarithmic scale. This plot is only available for forecast tasks.

Tip

  • If the plot peaks at f~0, it can indicate the wandering behavior characteristic of a random walk that needs to be differentiated. It could also be indicative of a stationary ARMA process with a high positive phi value.
  • Peaking at a frequency and its multiples is indicative of seasonality. The lowest frequency in this case is called the fundamental frequency, and the inverse of this frequency is the seasonal period of the data.

Parameters columns: int, str, segment, sequence, dataframe or None, default=None
Columns to plot the periodogram from. If None, it selects the target column.

title: str, dict or None, default=None
Title for the plot.

legend: str, dict or None, default="upper right"
Legend for the plot. See the user guide for an extended description of the choices.

  • If None: No legend is shown.
  • If str: Position to display the legend.
  • If dict: Legend configuration.

figsize: tuple, default=(900, 600)
Figure's size in pixels, format as (x, y).

filename: str, Path or None, default=None
Save the plot using this name. Use "auto" for automatic naming. The type of the file depends on the provided name (.html, .png, .pdf, etc...). If filename has no file type, the plot is saved as html. If None, the plot is not saved.

display: bool or None, default=True
Whether to render the plot. If None, it returns the figure.

Returns{#plot_periodogram-go.Figure or None} go.Figure or None
Plot object. Only returned if display=None.


See Also

plot_series

Plot a data series.

plot_decomposition

Plot the trend, seasonality and residuals of a time series.

plot_fft

Plot the fourier transformation of a time series.


Example

>>> from atom import ATOMForecaster
>>> from sktime.datasets import load_airline

>>> y = load_airline()

>>> atom = ATOMForecaster(y, random_state=1)
>>> atom.plot_periodogram()