# Setting specific lags¶

Example created by Wilson Rocha Lacerda Junior

Different ways to set the maximum lag for input and output

pip install sysidentpy

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sysidentpy.model_structure_selection import FROLS
from sysidentpy.basis_function._basis_function import Polynomial
from sysidentpy.metrics import root_relative_squared_error
from sysidentpy.utils.generate_data import get_siso_data
from sysidentpy.utils.display_results import results
from sysidentpy.utils.plotting import plot_residues_correlation, plot_results
from sysidentpy.residues.residues_correlation import compute_residues_autocorrelation, compute_cross_correlation


## Setting lags using a range of values¶

If you pass int values for ylag and xlag, the lags are defined as a range from 1-ylag and 1-xlag.

For example: if ylag=4 then the candidate regressors are $$y_{k-1}, y_{k-2}, y_{k-3}, y_{k-4}$$

basis_function = Polynomial(degree=1)

model = FROLS(
order_selection=True,
extended_least_squares=False,
ylag=4, xlag=4,
info_criteria='aic',
estimator='least_squares',
basis_function=basis_function
)


## Setting specific lags using lists¶

If you pass the ylag and xlag as a list, only the lags related to values in the list will be created.

model = FROLS(
order_selection=True,
extended_least_squares=False,
ylag=[1, 4], xlag=[1, 4],
info_criteria='aic',
estimator='least_squares',
basis_function=basis_function
)