Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a32cccc

Browse files
Merge pull request wilsonrljr#120 from wilsonrljr/feature/plotting
Feature/plotting
2 parents 5d39051 + 8cd468d commit a32cccc

File tree

14 files changed

+955
-2683
lines changed

14 files changed

+955
-2683
lines changed

‎README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
<p align="center">
1+
<div align="center">
22
<img src="images/sysidentpy-logo.svg" width="640" height="320" />
3-
</p>
43

54
[![DOI](https://img.shields.io/badge/DOI-10.21105%2Fjoss.02384-%23FF7800)](https://joss.theoj.org/papers/10.21105/joss.02384)
65
[![PyPI version](https://img.shields.io/pypi/v/sysidentpy?color=%23ff7800)](https://pypi.org/project/sysidentpy/)
@@ -12,9 +11,14 @@
1211
[![status](https://img.shields.io/pypi/status/sysidentpy?color=%23FF7800)](https://pypi.org/project/sysidentpy/)
1312
[![discord](https://img.shields.io/discord/711610087700955176?color=%23FF7800&label=discord)](https://discord.gg/7afBSzU4)
1413
[![contributors](https://img.shields.io/github/contributors/wilsonrljr/sysidentpy?color=%23FF7800)](https://github.com/wilsonrljr/sysidentpy/graphs/contributors)
15-
[![forks](https://img.shields.io/github/forks/wilsonrljr/sysidentpy?style=social)](https://github.com/wilsonrljr/sysidentpy/network/members)
1614
[![stars](https://img.shields.io/github/stars/wilsonrljr/sysidentpy?style=social)](https://github.com/wilsonrljr/sysidentpy/stargazers)
1715

16+
<h1 align="center"> NARMAX Methods In The Time Domain </h1>
17+
<h3 align="center">From Classical Approaches to Neural Networks</h3>
18+
19+
**SysIdentPy** offers State of the Art techniques to build your NARMAX models, including it's variants `NARX`, `NARMA`, `NAR`, `NFIR`, `ARMAX`, `ARX`, `ARMA` and others. It also includes tons of interesting examples to help you build nonlinear forecasting models using SysIdentPy.
20+
21+
</div>
1822

1923
## What is SysIdentPy?
2024

@@ -31,7 +35,7 @@ pip install sysidentpy
3135

3236
### Requirements
3337

34-
SysIdentPy requires:
38+
`SysIdentPy` requires:
3539

3640
- Python (>= 3.7)
3741
- NumPy (>= 1.9.2) for all numerical algorithms
@@ -54,6 +58,7 @@ A few examples require pandas >= 0.18.0. However, it is not required to use SysI
5458
| Model Structure Selection | Easy-to-use methods to select the best terms to build your models, including FROLS and MetaMSS and several combinations with parameter estimation techniques to select the model terms. |
5559
| Basis Function | You can use different basis functions to build your models. You can set linear and nonlinear basis functions and ensemble them to get custom NARMAX models. |
5660
| Parameter Estimation | More than 15 methods to estimate the model parameters and test different structure selection scenarios. |
61+
| Multiobjective Parameter Estimation | You can use affine information to estimate the model parameters minimizing different objective functions. |
5762
| Model Simulation | You can reproduce results from papers easily with SimulateNARMAX class. Moreover, you can test published models with different parameter estimation methods and compare the performance. |
5863
| Neural NARX | You can use SysIdentPy with Pytorch to create custom neural NARX models architectures which support all the optimizers and loss functions from Pytorch. |
5964
| General Estimators | You can use estimators from packages like scikit-learn, Catboost, and many other compatible interfaces and composition tools, to create NARMAX models. |
@@ -66,7 +71,7 @@ The project is actively maintained by Wilson R. L. Junior and looking for contri
6671

6772
## How do I use sysIdentPy?
6873

69-
The [SysIdentPy documentation](https://sysidentpy.org) includes 20 examples to help get you started:
74+
The [SysIdentPy documentation](https://sysidentpy.org) includes more than 20 examples to help get you started:
7075
- Typical "Hello World" example, for an [entry-level description of the main SysIdentPy concepts](https://sysidentpy.org/examples/basic_steps/)
7176
- A dedicated section focusing on SysIdentPy features, like model structure selection algorithms, basis functions, parameter estimation, and more.
7277
- A dedicated section focusing on use cases using SysIdentPy with real world datasets. Besides, there is some brief comparisons and benchmarks against other time series tools, like Prophet, Neural Prophet, ARIMA, and more.

‎docs/changelog/changelog/index.html

Lines changed: 12 additions & 2183 deletions
Large diffs are not rendered by default.

‎docs/code/utils/index.html

Lines changed: 156 additions & 2 deletions
Large diffs are not rendered by default.

‎docs/examples/basic_steps.ipynb

Lines changed: 96 additions & 50 deletions
Large diffs are not rendered by default.

‎docs/examples/basic_steps/basic_steps.ipynb

Lines changed: 96 additions & 50 deletions
Large diffs are not rendered by default.

‎docs/examples/basic_steps/index.html

Lines changed: 69 additions & 36 deletions
Large diffs are not rendered by default.

‎docs/examples/identification_of_an_electromechanical_system/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1022,7 +1022,7 @@
10221022
}
10231023
}
10241024
init_mathjax();
1025-
</script> <!-- End of mathjax configuration --><div class="jupyter-wrapper"> <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=daily-tower"> <div class="jp-Cell-inputWrapper"> <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser"> </div> <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt"> </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown"> <h1 id="identification-of-an-electromechanical-system">Identification of an electromechanical system<a class="anchor-link" href="#identification-of-an-electromechanical-system">¶</a></h1><p>Example created by Wilson Rocha Lacerda Junior</p> <p>More details about this data can be found in the following paper (in Portuguese): <a href="https://www.researchgate.net/publication/320418710_Identificacao_de_um_motorgerador_CC_por_meio_de_modelos_polinomiais_autorregressivos_e_redes_neurais_artificiais">https://www.researchgate.net/publication/320418710_Identificacao_de_um_motorgerador_CC_por_meio_de_modelos_polinomiais_autorregressivos_e_redes_neurais_artificiais</a></p> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"> <div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=7d3b61a5"> <div class="jp-Cell-inputWrapper"> <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser"> </div> <div class="jp-InputArea jp-Cell-inputArea"> <div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div><div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> <div class="CodeMirror cm-s-jupyter"> <div class="zeroclipboard-container"> <clipboard-copy for="cell-1"> <div> <span class="notice" hidden="">Copied!</span> <svg aria-hidden="true" class="clipboard-copy-icon" data-view-component="true" height="20" version="1.1" viewbox="0 0 16 16" width="20"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z" fill="currentColor" fill-rule="evenodd"></path> <path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z" fill="currentColor" fill-rule="evenodd"></path> </svg> </div> </clipboard-copy> </div> <div class="highlight-ipynb hl-python"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">sysidentpy</span>
1025+
</script> <!-- End of mathjax configuration --><div class="jupyter-wrapper"> <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=daily-tower"> <div class="jp-Cell-inputWrapper"> <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser"> </div> <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt"> </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown"> <h1 id="identification-of-an-electromechanical-system">Identification of an electromechanical system<a class="anchor-link" href="#identification-of-an-electromechanical-system">¶</a></h1><p>Example created by Wilson Rocha Lacerda Junior</p> <p>More details about this data can be found in the following paper (in Portuguese): <a href="https://www.researchgate.net/publication/320418710_Identificacao_de_um_motorgerador_CC_por_meio_de_modelos_polinomiais_autorregressivos_e_redes_neurais_artificiais">https://www.researchgate.net/publication/320418710_Identificacao_de_um_motorgerador_CC_por_meio_de_modelos_polinomiais_autorregressivos_e_redes_neurais_artificiais</a></p> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"> <div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=1f4ec38f"> <div class="jp-Cell-inputWrapper"> <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser"> </div> <div class="jp-InputArea jp-Cell-inputArea"> <div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div><div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> <div class="CodeMirror cm-s-jupyter"> <div class="zeroclipboard-container"> <clipboard-copy for="cell-1"> <div> <span class="notice" hidden="">Copied!</span> <svg aria-hidden="true" class="clipboard-copy-icon" data-view-component="true" height="20" version="1.1" viewbox="0 0 16 16" width="20"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z" fill="currentColor" fill-rule="evenodd"></path> <path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z" fill="currentColor" fill-rule="evenodd"></path> </svg> </div> </clipboard-copy> </div> <div class="highlight-ipynb hl-python"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">sysidentpy</span>
10261026
</pre></div> <div class="clipboard-copy-txt" id="cell-1">pip install sysidentpy</div> </div> </div> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"> <div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=earlier-person"> <div class="jp-Cell-inputWrapper"> <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser"> </div> <div class="jp-InputArea jp-Cell-inputArea"> <div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div><div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> <div class="CodeMirror cm-s-jupyter"> <div class="zeroclipboard-container"> <clipboard-copy for="cell-2"> <div> <span class="notice" hidden="">Copied!</span> <svg aria-hidden="true" class="clipboard-copy-icon" data-view-component="true" height="20" version="1.1" viewbox="0 0 16 16" width="20"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z" fill="currentColor" fill-rule="evenodd"></path> <path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z" fill="currentColor" fill-rule="evenodd"></path> </svg> </div> </clipboard-copy> </div> <div class="highlight-ipynb hl-python"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
10271027
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
10281028
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>

‎docs/examples/multiobjective_parameter_estimation.ipynb

Lines changed: 100 additions & 87 deletions
Large diffs are not rendered by default.

‎docs/examples/multiobjective_parameter_estimation/index.html

Lines changed: 43 additions & 29 deletions
Large diffs are not rendered by default.

‎docs/examples/multiobjective_parameter_estimation/multiobjective_parameter_estimation.ipynb

Lines changed: 100 additions & 87 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /