Skip to content

plot_fft


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

Plot the fourier transformation of a time series.

A Fast Fourier Transformer (FFT) plot visualizes the frequency domain representation of a signal by transforming it from the time domain to the frequency domain using the FFT algorithm. 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_fft-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_periodogram

Plot the spectral density 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_fft()