Background chart

Introdução ao SysIdentPy

Exemplo 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)
                
              

Confiança de Empresas Líderes

Organizações em todo o mundo confiam no SysIdentPy para suas necessidades de modelagem dinâmica

GRÁTIS

Identificação de Sistemas Não Lineares e Previsão

Bem-vindo ao nosso livro complementar abrangente sobre Identificação de Sistemas! Domine modelos dinâmicos e previsões com exemplos práticos do mundo real.

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

Aprenda algoritmos abrangentes para identificação, previsão, e análise de sistemas não lineares. Da teoria à prática.

Ícone de E-book Obtenha Seu Guia Gratuito

Principal Desenvolvedor

Wilson Rocha
Wilson Rocha

Gerente de Ciência de Dados na RD. Mestre em Engenharia Elétrica. Professor. Membro do Grupo de Controle e Modelagem da UFSJ (GCOM)

Nossos Contribuidores

Confiança da Comunidade

Junte-se a milhares de desenvolvedores e pesquisadores em todo o mundo

0

Estrelas no GitHub

0

Downloads Totais

0

Downloads/Mês

0

Cobertura de Testes

0

Contribuidores

0

Anos Ativo

O que os Usuários Dizem Sobre o SysIdentPy

Feedback real de cientistas de dados e engenheiros

Nossas Publicações Recentes

Wilson Rocha

Pacotes de Código Aberto (em português)

Saiba Mais

Wilson Rocha

Apresentação no Meetup Nubank (em português)

Saiba Mais

Wilson Rocha

GCoM Meetup (em português)

Saiba Mais