Gráfico de fondo

Introducción a SysIdentPy

Ejemplo NARX Polinomial
                
    from sysidentpy.model_structure_selection import FROLS
    from sysidentpy.basis_function import Polynomial
    from sysidentpy.utils.generate_data import get_siso_data

    x_train, x_valid, y_train, y_valid = get_siso_data(
        n=1000, colored_noise=False, sigma=0.0001, train_percentage=90
    )

    basis_function = Polynomial(degree=2)
    model = FROLS(ylag=2, xlag=2, basis_function=basis_function)

    model.fit(X=x_train, y=y_train)
    yhat = model.predict(X=x_valid, y=y_valid)
                
              
                
    from sysidentpy.model_structure_selection import FROLS
    from sysidentpy.basis_function import Legendre
    from sysidentpy.utils.generate_data import get_siso_data

    x_train, x_valid, y_train, y_valid = get_siso_data(
        n=1000, colored_noise=False, sigma=0.0001, train_percentage=90
    )

    basis_function = Legendre(degree=2)
    model = FROLS(ylag=2, xlag=2, basis_function=basis_function)

    model.fit(X=x_train, y=y_train)
    yhat = model.predict(X=x_valid, y=y_valid)
                
              
                
    from sysidentpy.model_structure_selection import FROLS
    from sysidentpy.basis_function import Fourier
    from sysidentpy.utils.generate_data import get_siso_data

    x_train, x_valid, y_train, y_valid = get_siso_data(
        n=1000, colored_noise=False, sigma=0.0001, train_percentage=90
    )

    basis_function = Fourier(degree=2)
    model = FROLS(ylag=2, xlag=2, basis_function=basis_function)

    model.fit(X=x_train, y=y_train)
    yhat = model.predict(X=x_valid, y=y_valid)
                
              
                
    from torch import nn
    from sysidentpy.neural_network import NARXNN

    from sysidentpy.basis_function import Polynomial
    from sysidentpy.utils.generate_data import get_siso_data

    x_train, x_valid, y_train, y_valid = get_siso_data(
        n=1000, colored_noise=False, sigma=0.01, train_percentage=80
    )

    class NARX(nn.Module):
        def __init__(self):
            super().__init__()
            self.lin = nn.Linear(4, 30)
            self.lin2 = nn.Linear(30, 1)
            self.tanh = nn.Tanh()

        def forward(self, xb):
            z = self.lin(xb)
            z = self.tanh(z)
            z = self.lin2(z)
            return z


    narx_net2 = NARXNN(
        net=NARX(),
        ylag=2,
        xlag=2,
        basis_function=Polynomial(degree=1),
        optimizer="Adam",
        optim_params={
            "betas": (0.9, 0.999),
            "eps": 1e-05,
        },
    )

    narx_net2.fit(X=x_train, y=y_train)
    yhat = narx_net2.predict(X=x_valid, y=y_valid)
                
              
                
    from sysidentpy.utils.generate_data import get_siso_data
    from sysidentpy.general_estimators import NARX
    from sklearn.linear_model import BayesianRidge
    from sysidentpy.basis_function import Polynomial

    x_train, x_valid, y_train, y_valid = get_siso_data(
        n=1000, colored_noise=False, sigma=0.0001, train_percentage=90
    )

    BayesianRidge_narx = NARX(
        base_estimator=BayesianRidge(),
        xlag=2,
        ylag=2,
        basis_function=Polynomial(degree=2),
        model_type="NARMAX",
    )

    BayesianRidge_narx.fit(X=x_train, y=y_train)
    yhat = BayesianRidge_narx.predict(X=x_valid, y=y_valid)
                
              
                
    from catboost import CatBoostRegressor
    from sysidentpy.utils.generate_data import get_siso_data
    from sysidentpy.general_estimators import NARX
    from sysidentpy.basis_function import Polynomial

    x_train, x_valid, y_train, y_valid = get_siso_data(
        n=1000, colored_noise=False, sigma=0.0001, train_percentage=90
    )

    catboost_narx = NARX(
        base_estimator=CatBoostRegressor(
            iterations=300,
            learning_rate=0.1
        ),
        xlag=2,
        ylag=2,
        basis_function=Polynomial(degree=2),
        model_type="NARMAX",
        fit_params={"verbose": False},
    )

    catboost_narx.fit(X=x_train, y=y_train)
    yhat = catboost_narx.predict(X=x_valid, y=y_valid, steps_ahead=None)
                
              

Confiado por Empresas Líderes

Organizaciones de todo el mundo confían en SysIdentPy para sus necesidades de modelado dinámico

GRATIS

Identificación de Sistemas No Lineales y Pronóstico

¡Bienvenido a nuestro libro complementario completo sobre Identificación de Sistemas! Domina modelos dinámicos y pronósticos con ejemplos prácticos del mundo real.

300+ páginas 10+ capítulos 50+ ejemplos

Aprende algoritmos completos para identificación, pronóstico, y análisis de sistemas no lineales. De la teoría a la práctica.

Ícono de E‑book Obtén Tu Guía Gratuita

Desarrollador Principal

Wilson Rocha
Wilson Rocha

Head de Ciencia de Datos en RD. Máster en Ingeniería Eléctrica. Profesor. Miembro del Grupo de Control y Modelado (GCOM).

Nuestros Colaboradores

Confiado por la Comunidad

Únete a miles de desarrolladores e investigadores en todo el mundo

0

Estrellas en GitHub

0

Descargas totales

0

Descargas/Mes

0

Cobertura de Tests

0

Contribuidores

0

Años Activo

Lo que Dicen los Usuarios Sobre SysIdentPy

Comentarios reales de científicos de datos e ingenieros

Nuestras Publicaciones Recientes

Wilson Rocha

Paquetes Open Source (en portugués)

Ver más

Wilson Rocha

Presentación Meetup Nubank (en portugués)

Ver más

Wilson Rocha

Meetup GCoM (en portugués)

Ver más