Allow y_lag = 0 for classification and inference tasks #121
Replies: 4 comments
-
Hey @dj-gauthier ! Lets discuss about that. When you say y_lag = 0 you are talking about adding y values without any lag? There are some affine models that do that, but I'm not sure if thats the case. Or are you talking about NFIR models? Currently, you can build FIR and NFIR models in SysIdentPy (e.g. y(k) = F(x(k-1), x(k-2), ..., x(k-n)), where your model have only input regressors (but all of them are lagged regressors). |
Beta Was this translation helpful? Give feedback.
-
I don’t know about FIR and NFIR models. Do you have documentation or a
citation? That looks like what I want as long as there can be many inputs
such as x1 at lagged values, x2 at lagged values, etc
…On Mon, Oct 16, 2023 at 3:17 PM Wilson Rocha ***@***.***> wrote:
Hey @dj-gauthier <https://github.com/dj-gauthier> ! Lets discuss about
that. When you say y_lag = 0 you are talking about adding y values without
any lag? There are some affine models that do that, but I'm not sure if
thats the case. Or are you talking about NFIR models?
Currently, you can build FIR and NFIR models in SysIdentPy (e.g. y(k) =
F(x(k-1), x(k-2), ..., x(k-n)), where your model have only input regressors
(but all of them are lagged regressors).
—
Reply to this email directly, view it on GitHub
<#121 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALEY24SFH6E4CGEDVJ6L5T3X7WB6JAVCNFSM6AAAAAA6COCQJWVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM3TEOJWGQ2DM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
You can use as many input as you want. Its basically the same as the NARX, but the regressor matrix is built using only lagged regressors of the input. The following example show how to use it:
The following code will result in a model like Regressors Parameters ERR with only input regressors. You can have x1, x2, x3,..., xn regressors. This is another case where I don't have an example in the docs, but I opened an issue to create that a month or two ago. I don't have a good citation in hand, but I found this two that could help a little: https://www.chee.uh.edu/sites/chbe/files/faculty/nikolaou/firpaper.pdf I usually use this book here (https://link.springer.com/book/10.1007/978-3-662-04323-3, and the Billings one) and I know it is a good resource for NFIR models (and NARMAX in general) |
Beta Was this translation helpful? Give feedback.
-
Its important to mention that I have only implemented one-step ahead and infinity-steps ahead prediction for NFIR models. If you try to set steps-ahead=5, for example, you'll probably get an error message (and not one explicitly made to handle this issue). |
Beta Was this translation helpful? Give feedback.
-
@wilsonrljr
In the current implementation of SysIdentPy, you are required to have a lagged value of the variable y. That is, the model must be of the form y_n = F(y_{n-1}, x_{n-1}, etc.). However, there are machine learning models where y is a class or another variable that you are trying to infer (based only on x) and hence y should not appear in the model F. By allowing no lag for y, you will increase the utility of SysIdentPy to these problems. I suspect that this would be a simple change - just allow all of the modules to evaluate with y_lag = 0 and verifying that any loop structure will still work. Making this change will also simplify going to MIMO forecasting problems. Thanks for your consideration!
Beta Was this translation helpful? Give feedback.
All reactions