Skip to content

Commit 804b33b

Browse files
authored
Merge pull request #142 from wilsonrljr/doc/assets
remove book assets from main repository.
2 parents f9544c7 + 8ee55a4 commit 804b33b

File tree

163 files changed

+153
-154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+153
-154
lines changed

docs/book/0 - Preface.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![](./assets/Nonlinear_System_identification.png)
1+
![](https://raw.githubusercontent.com/wilsonrljr/sysidentpy-data/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/Nonlinear_System_identification.png)
22

33
All the world is a nonlinear system
44

docs/book/1 - Introduction.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ Mathematical modeling is a great way to understand and analyze different parts o
88

99
Typing efficiently on a conventional QWERTY keyboard layout is the result of a well-learned model of the QWERTY keyboard embedded in the individual cognitive processes. However, if you are faced with a different keyboard layout, such as the Dvorak or AZERTY, you will probably struggle to adapt to the new model. The system changed, so you will have to update you *model*.
1010

11-
![](./assets/QWERTY.png)
11+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/QWERTY.png?raw=true)
1212
> [QWERTY - Wikipedia](https://en.wikipedia.org/wiki/QWERTY) - [ANSI](https://en.wikipedia.org/wiki/ANSI "ANSI") QWERTY keyboard layout (US)
1313
14-
![](./assets/AZERTY.png)
14+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/AZERTY.png?raw=true)
1515
> [AZERTY](https://en.wikipedia.org/wiki/AZERTY) layout used on a keyboard
1616
1717
Mathematical modeling touches on many parts of our lives. Whether we're looking at economic trends, tracking how diseases spread, or figuring out consumer behavior, models are essential tools for gaining knowledge, making informed decisions, and take control over complex systems.
@@ -108,7 +108,7 @@ plt.grid(True)
108108
plt.show()
109109
```
110110

111-
![](./assets/static_example.png)
111+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/static_example.png?raw=true)
112112
> Static response representation. The input signal representing the state of the switch (switch off (low level), switch on (high level)), and the static response: original sound (low level), processed sound (high level).
113113
114114
Now, let’s consider a dynamic system: using an air conditioner to lower the room temperature. This example effectively illustrates the concepts of dynamic systems and how their output responds over time.
@@ -117,7 +117,7 @@ Let’s imagine this from the perspective of signals. The input signal represent
117117

118118
Conversely, when the air conditioner is turned off, the room temperature does not immediately return to its original ambient temperature. Instead, it gradually warms up as the cooling effect diminishes.
119119

120-
![](./assets/dynamic_example.png)
120+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/dynamic_example.png?raw=true)
121121
> Using an air conditioner to lower the room temperature as dynamic system representation.
122122
123123
In this dynamic system, the output (room temperature) does not instantly follow the input (state of the air conditioner) because there is a time lag involved in both cooling and warming processes. The system has memory, meaning the current room temperature depends not only on the current state of the air conditioner but also on how long it has been running or off, and how much it has already cooled or allowed the room to warm up.

docs/book/10 - Case Studies.md

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

docs/book/2 - NARMAX Model Representation.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ plt.gca().yaxis.set_ticks([])
8080
plt.show()
8181
```
8282

83-
![](./assets/vandermode_example.png)
83+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/vandermode_example.png?raw=true)
8484
> Figure 1. Approximation using Vandermode Matrix. The yellow dots show the system data, the bold blue line represents the predicted values, and the other lines depict the basis functions.
8585
8686
### Example: Rectangular Basis Functions
@@ -136,7 +136,7 @@ plt.gca().yaxis.set_ticks([])
136136
plt.show()
137137
```
138138

139-
![](./assets/rectangular.png)
139+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/rectangular.png?raw=true)
140140
> Figure 2. Approximation using Rectangular Basis Function. The yellow dots show the system data, the bold blue line represents the predicted values, and the other lines depict the basis functions.
141141
142142
### Example: Triangular Basis Functions
@@ -189,7 +189,7 @@ plt.gca().yaxis.set_ticks([])
189189
plt.show()
190190
```
191191

192-
![](./assets/triangular.png)
192+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/triangular.png?raw=true)
193193
> Figure 3. Approximation using a Triangular Basis Function. The yellow dots show the system data, the bold blue line represents the predicted values, and the other lines depict the basis functions.
194194
195195
### Example: Radial Basis Function (RBF) - Gaussian
@@ -251,7 +251,7 @@ plt.gca().yaxis.set_ticks([])
251251
plt.show()
252252
```
253253

254-
![](./assets/rbf_example.png)
254+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/rbf_example.png?raw=true)
255255
> Figure 4. Approximation using the Radial Basis Function. The yellow dots show the system data, the bold blue line represents the predicted values, and the other lines depict the basis functions.
256256
257257
## Linear Models
@@ -347,7 +347,7 @@ ax.set_title("Simulation of an ARMAX model")
347347
plt.show()
348348
```
349349

350-
![](./assets/armax_example.png)
350+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/armax_example.png?raw=true)
351351
> Figure 4. Simulations to show the effects of different noise process generation on the ARMAX model's behavior.
352352
353353
### ARX
@@ -423,7 +423,7 @@ ax.set_title("Simulation of an ARX model")
423423
plt.show()
424424
```
425425

426-
![](./assets/arx_example.png)
426+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/arx_example.png?raw=true)
427427
> Figure 5. Simulations to show the effects of different noise process generation on the ARX model's behavior.
428428
429429
### ARMA
@@ -499,7 +499,7 @@ ax.set_title("Simulation of an ARMA model")
499499
plt.show()
500500
```
501501

502-
![](./assets/arma_example.png)
502+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/arma_example.png?raw=true)
503503
> Figure 6. Simulations to show the effects of different noise process generation on the ARMA model's behavior.
504504
505505
### AR
@@ -575,7 +575,7 @@ ax.set_title("Simulation of an AR model")
575575
plt.show()
576576
```
577577

578-
![](./assets/ar_example.png)
578+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/ar_example.png?raw=true)
579579
> Figure 7. Simulations to show the effects of different noise process generation on the AR model's behavior.
580580
581581
### FIR
@@ -652,7 +652,7 @@ ax.set_title("Simulation of an FIR model")
652652
plt.show()
653653
```
654654

655-
![](./assets/fir_example.png)
655+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/fir_example.png?raw=true)
656656
> Figure 8. Simulations to show the effects of different noise process generation on the **FIR** model's behavior.
657657
658658
> We didn't set the model_type for ARMAX and ARX because the default is `NARMAX`. SysIdentPy allows three different model types: `NARMAX`, `NAR`, and `NFIR`. Because ARMAX, ARX and others linear variants are subsets of NARMAX models, there is no need for specific `ARMAX` model type. The idea is to have model types for model with input and output regressors; models with only output regressors; and models with only input regressors.
@@ -1098,7 +1098,7 @@ Series-Parallel allows us to use `pytorch` directly for training, so **SysIdentP
10981098

10991099
A simple neural NARX model can be represented as a Multi-Layer Perceptron neural network with autoregressive component along with delayed inputs.
11001100

1101-
![](./assets/Pasted image 20240710121246.png)
1101+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/Pasted%20image%2020240710121246.png?raw=true)
11021102
> Figure 9. Parallel and series-parallel neural network architectures for modeling the dynamic system $\mathbf{y}[k]=\mathbf{F}(\mathbf{y}[k-1], \mathbf{y}[k-2], \mathbf{u}[k-1], \mathbf{u}[k-2])$. The delay operator $q^{-1}$ is such that $\mathbf{y}[k-1]=q^{-1} \mathbf{y}[k]$. Reference: [Antonio H. Ribeiro and Luis A. Aguirre](https://arxiv.org/pdf/1706.07119)
11031103
11041104
> Neural NARX is not the same model as Recurrent Neural Networks (RNN). The user is referred to the following paper for more details [A Note on the Equivalence of NARX and RNN](https://link.springer.com/article/10.1007/s005210050005)
@@ -1364,7 +1364,7 @@ $$
13641364

13651365
If $s=1$, we have a MISO model that can be represented by a single polynomial function. Additionally, a MIMO model can be decomposed into MISO models, as presented in the following figure:
13661366

1367-
![](./assets/mimo_split.png)
1367+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/mimo_split.png?raw=true)
13681368
> Figure 10. A MIMO model split into individual MISO models.
13691369
13701370
> SysIdentPy do not support MIMO models yet, only MISO models. You can, however, decompose a MIMO system as presented in Figure 9 and use SysIdentPy to create models for each subsystem.

docs/book/3 - Parameter Estimation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ plt.plot(estimator.theta_evolution.T[:50, :])
527527
plt.xlabel("iterations")
528528
plt.ylabel("theta")
529529
```
530-
![](./assets/theta_evolution.png)
530+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/theta_evolution.png?raw=true)
531531
> Figure 1. Evolution of the estimated parameters over time using the RLS algorithm.
532532
533533
## Least Mean Squares
@@ -748,7 +748,7 @@ plt.legend()
748748
plt.show()
749749
```
750750

751-
![](./assets/biased_parameter.png)
751+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/biased_parameter.png?raw=true)
752752
> Figure 2.: Kernel Density Estimates (KDEs) of the estimated parameters obtained from 50 NARX models realizations, each fitted to data with colored noise. The vertical dashed lines indicate the true parameter values used to generate the data. While the model structure is correctly identified, the estimated parameters are biased due to the omission of the Moving Average (MA) component, highlighting the need for the Extended Least Squares algorithm to achieve unbiased parameter estimation
753753
754754

@@ -792,7 +792,7 @@ plt.legend()
792792
plt.show()
793793
```
794794

795-
![](./assets/unbiased_estimator.png)
795+
![](https://github.com/wilsonrljr/sysidentpy-data/blob/4085901293ba5ed5674bb2911ef4d1fa20f3438d/book/assets/unbiased_estimator.png?raw=true)
796796
> Figure 3. Kernel Density Estimates (KDEs) of the estimated parameters obtained from 50 NARX models using the Extended Least Squares (ELS) algorithm with unbiased estimation. The vertical dashed lines indicate the true parameter values used to generate the data.
797797
798798
Unlike the previous biased estimation, these KDEs in Figure 3 show that the estimated parameters are now closely aligned with the true values, demonstrating the effectiveness of the ELS algorithm in achieving unbiased parameter estimation, even in the presence of colored noise.

0 commit comments

Comments
 (0)