Sysidentpygui
GUI for System Identification using NARX and NARMAX models
Install / Use
/learn @jceneziojr/SysidentpyguiREADME
What is SysIdentPyGUI?
SysIdentPyGUI is a webapp for the Python module SysIdentPy. SysIdentPy is an open-source Python module for System Identification using NARMAX models built on top of numpy. SysIdentPy provides an easy-to-use and flexible framework for building Dynamical Nonlinear Models for time series and dynamic systems.
Get more information on our About page and in SysIdentPy's Documentation and its GitHub repository.
<img src="/images/1.gif" width="60%" height="60%" />How can I use SysIdentPyGUI?
SysIdentPyGUI is currently hosted on Streamlit Cloud. You can run it locally on your machine via a containerized version through Docker by using the Dockerfile that is available, through the following commands:
docker build -t sysidenpygui .
The above command will build the Docker Image. Check the image by typing:
docker images
The sysidentpygui image should appear in the images list. Run the container with:
docker run -p 8501:8501 sysidentpygui
Alternatively, you can run the Streamlit application locally using:
streamlit run 1_🔎_SysIdentPyGUI.py
Requirements for local use
SysIdentPyGUI requires the following modules for a local host:
- Python (>= 3.10)
- Sysidentpy (== 0.3.1)
- Streamlit (>= 1.14.0)
- Matplotlib (>= 3.6.1)
- Numpy (>= 1.23.4)
- Pandas (>= 1.5.1)
- Pillow (>= 9.4.0)
Use pip to install the dependecies throught the requirements.txt file. If you choose to run the containerized version, the Dockerfile will install de dependencies for you.
Which features from SysIdentPy are available on SysIdentPyGUI?
- Model identification using AOLS, ER, MetaMSS and FROLS
- Download your model
- Load and validate your model
- Simulate a predefined model
Basic usage examples
To replicate the following examples, you can download the data available here.
Model ID
First upload your data and set the percentage of data that will be used as validation data.
<img src="/images/1.PNG" width="60%" height="60%" />Then, go to the 'Model Setup' tab and make your desired changes to the model configuration. At the bottom of the page, you can make changes to the way that SysIdentPy will run the predict if wanted.
<img src="/images/2.PNG" width="60%" height="60%" /> For MISO data, you can define the lags for each specific input separately. <img src="/images/3.PNG" width="60%" height="60%" /> You can then proceed to the 'Model Validation and Metrics' tab, to check the model regressors, results and residues plots, as well as the metrics. <img src="/images/4.PNG" width="60%" height="60%" /> <img src="/images/5.PNG" width="60%" height="60%" /> <img src="/images/6.PNG" width="60%" height="60%" />Model download
Go to the 'Save Model' tab to save your final model.
<img src="/images/7.PNG" width="60%" height="60%" />Load Model
Go to the 'Load Model' page and load your data files and the model file you saved before.
<img src="/images/8.PNG" width="60%" height="60%" />After loaded, you can visualize the regressors and metrics table, as well as the results and residues plots. Notice, that you can use a new dataset to check the model acuracy.
<img src="/images/9.PNG" width="60%" height="60%" />Simulate model
Go to the 'Simulate a predefined model' page, and load your test data.
<img src="/images/10.PNG" width="60%" height="60%" />Then set the nonlinearity degree of the model and prepare the regressors list (as exemplified in the tutorial), adding each group by itself. If needed, delete the list and start over.
<img src="/images/11.PNG" width="60%" height="60%" />Set the model parameters.
<img src="/images/12.PNG" width="60%" height="60%" />Set the simulation options if wanted, and then hit the 'Simulate the model' button.
<img src="/images/13.PNG" width="60%" height="60%" />Go further down to see the model equation, model metrics, results and residues plots.
<img src="/images/14.PNG" width="60%" height="60%" />Why does SysIdentPyGUI exist?
SysIdentPyGUI is an use alternative for people that would like to use SysIdentPy toolbox but aren't familiar with Python, such as medical or economy students.
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
