Checking Concept Drift in SNARIMAX model #1097
-
Hi, I'm trying/playing/struggling in Time Series Forecasting, trying SNARIMAX model and thinking how to include Concept Drift checking. import calendar
import math
import datetime as dt
from river import compose
from river import linear_model
from river import optim
from river import preprocessing
horizon = 6
def get_month_distances(x):
return {
calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)
for month in range(1, 13)
}
def get_ordinal_date(x):
return {'ordinal_date': x['month'].toordinal()}
extract_features = compose.TransformerUnion(
get_ordinal_date,
get_month_distances
)
future = [
{'month': dt.date(year=1961, month=m, day=1)}
for m in range(1, horizon + 1)
]
model = (
extract_features |
time_series.SNARIMAX(
p=1,
d=0,
q=0,
m=12,
sp=3,
sq=6,
regressor=(
preprocessing.StandardScaler() |
linear_model.LinearRegression(
intercept_init=110,
optimizer=optim.SGD(0.01),
intercept_lr=0.3
)
)
)
)
#metrica=metrics.MAE()
for x, y in datasets.AirlinePassengers():
print("y",y)
print ("X",x)
model = model.learn_one(x, y) #<<<<<How could I check here if a concept drift occurs and restart de model
a=model.forecast(6)
print ("a",a) Many thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 19 replies
-
That's a $100k question! We have a Small tip: you can highlight your Python code properly if you use |
Beta Was this translation helpful? Give feedback.
-
Your job is more important Max.
Many thanks!
…On Thu, Nov 24, 2022 at 8:15 PM Max Halford ***@***.***> wrote:
Checking now. Sorry but I also have a paying job to do :)
—
Reply to this email directly, view it on GitHub
<#1097 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A37HEL7EUPVQLZIU574RLFTWJ65EJANCNFSM6AAAAAASKADCRQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
INFORMACIÓ SOBRE PROTECCIÓ DE DADES DE LA UNIVERSITAT OBERTA DE
CATALUNYA (UOC)
Us informem que les vostres dades identificatives i les
contingudes en els missatges electrònics i fitxers adjunts es poden
incorporar a les nostres bases de dades amb la finalitat de gestionar les
relacions i comunicacions vinculades a la UOC, i que es poden conservar
mentre es mantingui la relació. Si ho voleu, podeu exercir el dret a
accedir a les vostres dades, rectificar-les i suprimir-les i altres drets
reconeguts normativament adreçant-vos a l'adreça de correu emissora o a
***@***.*** ***@***.***>.
Aquest missatge i qualsevol
fitxer que porti adjunt, si escau, tenen el caràcter de confidencials i
s'adrecen únicament a la persona o entitat a qui s'han enviat.
Així
mateix, posem a la vostra disposició un delegat de protecció de dades que
no només s'encarregarà de supervisar tots els tractaments de dades de la
nostra entitat, sinó que us podrà atendre per a qualsevol qüestió
relacionada amb el tractament de dades. La seva adreça de contacte és
***@***.*** ***@***.***>.
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE
LA UNIVERSITAT OBERTA DE CATALUNYA (UOC)
Os informamos de que vuestros
datos identificativos y los contenidos en los mensajes electrónicos y
ficheros adjuntos pueden incorporarse a nuestras bases de datos con el fin
de gestionar las relaciones y comunicaciones vinculadas a la UOC, y de que
pueden conservarse mientras se mantenga la relación. Si lo deseáis, podéis
ejercer el derecho a acceder a vuestros datos, rectificarlos y suprimirlos
y otros derechos reconocidos normativamente dirigiéndoos a la dirección de
correo emisora o a ***@***.*** ***@***.***>.
Este mensaje y
cualquier fichero que lleve adjunto, si procede, tienen el carácter de
confidenciales y se dirigen únicamente a la persona o entidad a quien se
han enviado.
Así mismo, ponemos a vuestra disposición a un delegado de
protección de datos que no solo se encargará de supervisar todos los
tratamientos de datos de nuestra entidad, sino que podrá atenderos para
cualquier cuestión relacionada con el tratamiento de datos. Su dirección de
contacto es ***@***.*** ***@***.***>.
UNIVERSITAT OBERTA DE
CATALUNYA (UOC) DATA PROTECTION INFORMATION
Your personal data and the data
contained in your email messages and attached files may be stored in our
databases for the purpose of maintaining relations and communications
linked to the UOC, and the data may be stored for as long as these
relations and communications are maintained. If you so wish, you can
exercise your rights to access, rectification and erasure of your data, and
any other legally held rights, by writing to the sender’s email address or
***@***.*** ***@***.***>.
This message and, where
applicable, any attachments are confidential and addressed solely to the
individual or organization they were sent to.
The UOC has a data protection
officer who not only supervises the data processing carried out at the
University, but who will also respond to any questions you may have about
this data processing. You can contact our data protection officer by
writing to ***@***.*** ***@***.***>.
|
Beta Was this translation helpful? Give feedback.
-
Let me explain what I'm trying to do. (perhaps it is better) For testing purposes, I think def get_month_distances(x):
return {
calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)
for month in range(1, 13)
}
def get_ordinal_date(x):
return {'ordinal_date': x['month'].toordinal()}
extract_features = compose.TransformerUnion(
get_ordinal_date,
get_month_distances
)
model_s = (
extract_features |
time_series.SNARIMAX(
p=1,
d=0,
q=0,
m=12,
sp=3,
sq=6,
regressor=(
preprocessing.StandardScaler() | #<<<< Quitando el Scaler funcionar
linear_model.LinearRegression(
intercept_init=110,
optimizer=optim.SGD(0.01),
intercept_lr=0.3
)
)
)
)
dataset = datasets.AirlinePassengers()
metricas = time_series.iter_evaluate(
dataset=datasets.AirlinePassengers(),
model=model_s,
metric=metrics.MAE(),
horizon=3)
for m in metricas:
print(m) Thanks in advance |
Beta Was this translation helpful? Give feedback.
-
Thanks for the advice.
…On Thu, Nov 24, 2022 at 10:44 PM Max Halford ***@***.***> wrote:
Right, but machine learning is not about opinions. I suggest you measure
the performance of both approaches to be sure.
My "opinion" is that recreating a model from scratch is detrimental in
that you lose all the information you had accumulated.
I think you should distinguish slow drift from brutal drift. If the drift
is brutal, then yes you might want to start from scratch. But if the drift
is gradual, then you might be ok just having your model learn.
—
Reply to this email directly, view it on GitHub
<#1097 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A37HEL6FWXRERD55KLVYXZ3WJ7OUZANCNFSM6AAAAAASKADCRQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
INFORMACIÓ SOBRE PROTECCIÓ DE DADES DE LA UNIVERSITAT OBERTA DE
CATALUNYA (UOC)
Us informem que les vostres dades identificatives i les
contingudes en els missatges electrònics i fitxers adjunts es poden
incorporar a les nostres bases de dades amb la finalitat de gestionar les
relacions i comunicacions vinculades a la UOC, i que es poden conservar
mentre es mantingui la relació. Si ho voleu, podeu exercir el dret a
accedir a les vostres dades, rectificar-les i suprimir-les i altres drets
reconeguts normativament adreçant-vos a l'adreça de correu emissora o a
***@***.*** ***@***.***>.
Aquest missatge i qualsevol
fitxer que porti adjunt, si escau, tenen el caràcter de confidencials i
s'adrecen únicament a la persona o entitat a qui s'han enviat.
Així
mateix, posem a la vostra disposició un delegat de protecció de dades que
no només s'encarregarà de supervisar tots els tractaments de dades de la
nostra entitat, sinó que us podrà atendre per a qualsevol qüestió
relacionada amb el tractament de dades. La seva adreça de contacte és
***@***.*** ***@***.***>.
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE
LA UNIVERSITAT OBERTA DE CATALUNYA (UOC)
Os informamos de que vuestros
datos identificativos y los contenidos en los mensajes electrónicos y
ficheros adjuntos pueden incorporarse a nuestras bases de datos con el fin
de gestionar las relaciones y comunicaciones vinculadas a la UOC, y de que
pueden conservarse mientras se mantenga la relación. Si lo deseáis, podéis
ejercer el derecho a acceder a vuestros datos, rectificarlos y suprimirlos
y otros derechos reconocidos normativamente dirigiéndoos a la dirección de
correo emisora o a ***@***.*** ***@***.***>.
Este mensaje y
cualquier fichero que lleve adjunto, si procede, tienen el carácter de
confidenciales y se dirigen únicamente a la persona o entidad a quien se
han enviado.
Así mismo, ponemos a vuestra disposición a un delegado de
protección de datos que no solo se encargará de supervisar todos los
tratamientos de datos de nuestra entidad, sino que podrá atenderos para
cualquier cuestión relacionada con el tratamiento de datos. Su dirección de
contacto es ***@***.*** ***@***.***>.
UNIVERSITAT OBERTA DE
CATALUNYA (UOC) DATA PROTECTION INFORMATION
Your personal data and the data
contained in your email messages and attached files may be stored in our
databases for the purpose of maintaining relations and communications
linked to the UOC, and the data may be stored for as long as these
relations and communications are maintained. If you so wish, you can
exercise your rights to access, rectification and erasure of your data, and
any other legally held rights, by writing to the sender’s email address or
***@***.*** ***@***.***>.
This message and, where
applicable, any attachments are confidential and addressed solely to the
individual or organization they were sent to.
The UOC has a data protection
officer who not only supervises the data processing carried out at the
University, but who will also respond to any questions you may have about
this data processing. You can contact our data protection officer by
writing to ***@***.*** ***@***.***>.
|
Beta Was this translation helpful? Give feedback.
-
Many many thanks Max for your support on this matter.
On Thu, Nov 24, 2022 at 10:46 PM Jose Javier Marti Camarasa <
***@***.***> wrote:
… Thanks for the advice.
On Thu, Nov 24, 2022 at 10:44 PM Max Halford ***@***.***>
wrote:
> Right, but machine learning is not about opinions. I suggest you measure
> the performance of both approaches to be sure.
>
> My "opinion" is that recreating a model from scratch is detrimental in
> that you lose all the information you had accumulated.
>
> I think you should distinguish slow drift from brutal drift. If the drift
> is brutal, then yes you might want to start from scratch. But if the drift
> is gradual, then you might be ok just having your model learn.
>
> —
> Reply to this email directly, view it on GitHub
> <#1097 (reply in thread)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/A37HEL6FWXRERD55KLVYXZ3WJ7OUZANCNFSM6AAAAAASKADCRQ>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
--
INFORMACIÓ SOBRE PROTECCIÓ DE DADES DE LA UNIVERSITAT OBERTA DE
CATALUNYA (UOC)
Us informem que les vostres dades identificatives i les
contingudes en els missatges electrònics i fitxers adjunts es poden
incorporar a les nostres bases de dades amb la finalitat de gestionar les
relacions i comunicacions vinculades a la UOC, i que es poden conservar
mentre es mantingui la relació. Si ho voleu, podeu exercir el dret a
accedir a les vostres dades, rectificar-les i suprimir-les i altres drets
reconeguts normativament adreçant-vos a l'adreça de correu emissora o a
***@***.*** ***@***.***>.
Aquest missatge i qualsevol
fitxer que porti adjunt, si escau, tenen el caràcter de confidencials i
s'adrecen únicament a la persona o entitat a qui s'han enviat.
Així
mateix, posem a la vostra disposició un delegat de protecció de dades que
no només s'encarregarà de supervisar tots els tractaments de dades de la
nostra entitat, sinó que us podrà atendre per a qualsevol qüestió
relacionada amb el tractament de dades. La seva adreça de contacte és
***@***.*** ***@***.***>.
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE
LA UNIVERSITAT OBERTA DE CATALUNYA (UOC)
Os informamos de que vuestros
datos identificativos y los contenidos en los mensajes electrónicos y
ficheros adjuntos pueden incorporarse a nuestras bases de datos con el fin
de gestionar las relaciones y comunicaciones vinculadas a la UOC, y de que
pueden conservarse mientras se mantenga la relación. Si lo deseáis, podéis
ejercer el derecho a acceder a vuestros datos, rectificarlos y suprimirlos
y otros derechos reconocidos normativamente dirigiéndoos a la dirección de
correo emisora o a ***@***.*** ***@***.***>.
Este mensaje y
cualquier fichero que lleve adjunto, si procede, tienen el carácter de
confidenciales y se dirigen únicamente a la persona o entidad a quien se
han enviado.
Así mismo, ponemos a vuestra disposición a un delegado de
protección de datos que no solo se encargará de supervisar todos los
tratamientos de datos de nuestra entidad, sino que podrá atenderos para
cualquier cuestión relacionada con el tratamiento de datos. Su dirección de
contacto es ***@***.*** ***@***.***>.
UNIVERSITAT OBERTA DE
CATALUNYA (UOC) DATA PROTECTION INFORMATION
Your personal data and the data
contained in your email messages and attached files may be stored in our
databases for the purpose of maintaining relations and communications
linked to the UOC, and the data may be stored for as long as these
relations and communications are maintained. If you so wish, you can
exercise your rights to access, rectification and erasure of your data, and
any other legally held rights, by writing to the sender’s email address or
***@***.*** ***@***.***>.
This message and, where
applicable, any attachments are confidential and addressed solely to the
individual or organization they were sent to.
The UOC has a data protection
officer who not only supervises the data processing carried out at the
University, but who will also respond to any questions you may have about
this data processing. You can contact our data protection officer by
writing to ***@***.*** ***@***.***>.
|
Beta Was this translation helpful? Give feedback.
-
No worries @XaviMartiCamarasa, and good luck to you! You're in uncharted waters, so it's normal that you may find it difficult :) |
Beta Was this translation helpful? Give feedback.
-
Thanks, I'll check it out.
…On Fri, Nov 25, 2022 at 10:28 AM Max Halford ***@***.***> wrote:
River has some Rust code in it. So when you install it from git (via pip),
you need Rust to compiles these pieces of code. If you try without Rust, it
will ask you to install Rust.
—
Reply to this email directly, view it on GitHub
<#1097 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A37HEL7574ZWCWGF24AYYZ3WKCBB7ANCNFSM6AAAAAASKADCRQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
INFORMACIÓ SOBRE PROTECCIÓ DE DADES DE LA UNIVERSITAT OBERTA DE
CATALUNYA (UOC)
Us informem que les vostres dades identificatives i les
contingudes en els missatges electrònics i fitxers adjunts es poden
incorporar a les nostres bases de dades amb la finalitat de gestionar les
relacions i comunicacions vinculades a la UOC, i que es poden conservar
mentre es mantingui la relació. Si ho voleu, podeu exercir el dret a
accedir a les vostres dades, rectificar-les i suprimir-les i altres drets
reconeguts normativament adreçant-vos a l'adreça de correu emissora o a
***@***.*** ***@***.***>.
Aquest missatge i qualsevol
fitxer que porti adjunt, si escau, tenen el caràcter de confidencials i
s'adrecen únicament a la persona o entitat a qui s'han enviat.
Així
mateix, posem a la vostra disposició un delegat de protecció de dades que
no només s'encarregarà de supervisar tots els tractaments de dades de la
nostra entitat, sinó que us podrà atendre per a qualsevol qüestió
relacionada amb el tractament de dades. La seva adreça de contacte és
***@***.*** ***@***.***>.
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE
LA UNIVERSITAT OBERTA DE CATALUNYA (UOC)
Os informamos de que vuestros
datos identificativos y los contenidos en los mensajes electrónicos y
ficheros adjuntos pueden incorporarse a nuestras bases de datos con el fin
de gestionar las relaciones y comunicaciones vinculadas a la UOC, y de que
pueden conservarse mientras se mantenga la relación. Si lo deseáis, podéis
ejercer el derecho a acceder a vuestros datos, rectificarlos y suprimirlos
y otros derechos reconocidos normativamente dirigiéndoos a la dirección de
correo emisora o a ***@***.*** ***@***.***>.
Este mensaje y
cualquier fichero que lleve adjunto, si procede, tienen el carácter de
confidenciales y se dirigen únicamente a la persona o entidad a quien se
han enviado.
Así mismo, ponemos a vuestra disposición a un delegado de
protección de datos que no solo se encargará de supervisar todos los
tratamientos de datos de nuestra entidad, sino que podrá atenderos para
cualquier cuestión relacionada con el tratamiento de datos. Su dirección de
contacto es ***@***.*** ***@***.***>.
UNIVERSITAT OBERTA DE
CATALUNYA (UOC) DATA PROTECTION INFORMATION
Your personal data and the data
contained in your email messages and attached files may be stored in our
databases for the purpose of maintaining relations and communications
linked to the UOC, and the data may be stored for as long as these
relations and communications are maintained. If you so wish, you can
exercise your rights to access, rectification and erasure of your data, and
any other legally held rights, by writing to the sender’s email address or
***@***.*** ***@***.***>.
This message and, where
applicable, any attachments are confidential and addressed solely to the
individual or organization they were sent to.
The UOC has a data protection
officer who not only supervises the data processing carried out at the
University, but who will also respond to any questions you may have about
this data processing. You can contact our data protection officer by
writing to ***@***.*** ***@***.***>.
|
Beta Was this translation helpful? Give feedback.
-
Hi @MaxHalford , still facing the same issue.
Kind Regards |
Beta Was this translation helpful? Give feedback.
-
I'll do.
Enjoy the weekend Max!
…On Sat, Nov 26, 2022 at 11:19 AM Max Halford ***@***.***> wrote:
You can see the latest commit ID yourself if you go to the main branch on
the River repo.
—
Reply to this email directly, view it on GitHub
<#1097 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A37HEL74BVF3AVKGN2L7QPTWKHP4BANCNFSM6AAAAAASKADCRQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
INFORMACIÓ SOBRE PROTECCIÓ DE DADES DE LA UNIVERSITAT OBERTA DE
CATALUNYA (UOC)
Us informem que les vostres dades identificatives i les
contingudes en els missatges electrònics i fitxers adjunts es poden
incorporar a les nostres bases de dades amb la finalitat de gestionar les
relacions i comunicacions vinculades a la UOC, i que es poden conservar
mentre es mantingui la relació. Si ho voleu, podeu exercir el dret a
accedir a les vostres dades, rectificar-les i suprimir-les i altres drets
reconeguts normativament adreçant-vos a l'adreça de correu emissora o a
***@***.*** ***@***.***>.
Aquest missatge i qualsevol
fitxer que porti adjunt, si escau, tenen el caràcter de confidencials i
s'adrecen únicament a la persona o entitat a qui s'han enviat.
Així
mateix, posem a la vostra disposició un delegat de protecció de dades que
no només s'encarregarà de supervisar tots els tractaments de dades de la
nostra entitat, sinó que us podrà atendre per a qualsevol qüestió
relacionada amb el tractament de dades. La seva adreça de contacte és
***@***.*** ***@***.***>.
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE
LA UNIVERSITAT OBERTA DE CATALUNYA (UOC)
Os informamos de que vuestros
datos identificativos y los contenidos en los mensajes electrónicos y
ficheros adjuntos pueden incorporarse a nuestras bases de datos con el fin
de gestionar las relaciones y comunicaciones vinculadas a la UOC, y de que
pueden conservarse mientras se mantenga la relación. Si lo deseáis, podéis
ejercer el derecho a acceder a vuestros datos, rectificarlos y suprimirlos
y otros derechos reconocidos normativamente dirigiéndoos a la dirección de
correo emisora o a ***@***.*** ***@***.***>.
Este mensaje y
cualquier fichero que lleve adjunto, si procede, tienen el carácter de
confidenciales y se dirigen únicamente a la persona o entidad a quien se
han enviado.
Así mismo, ponemos a vuestra disposición a un delegado de
protección de datos que no solo se encargará de supervisar todos los
tratamientos de datos de nuestra entidad, sino que podrá atenderos para
cualquier cuestión relacionada con el tratamiento de datos. Su dirección de
contacto es ***@***.*** ***@***.***>.
UNIVERSITAT OBERTA DE
CATALUNYA (UOC) DATA PROTECTION INFORMATION
Your personal data and the data
contained in your email messages and attached files may be stored in our
databases for the purpose of maintaining relations and communications
linked to the UOC, and the data may be stored for as long as these
relations and communications are maintained. If you so wish, you can
exercise your rights to access, rectification and erasure of your data, and
any other legally held rights, by writing to the sender’s email address or
***@***.*** ***@***.***>.
This message and, where
applicable, any attachments are confidential and addressed solely to the
individual or organization they were sent to.
The UOC has a data protection
officer who not only supervises the data processing carried out at the
University, but who will also respond to any questions you may have about
this data processing. You can contact our data protection officer by
writing to ***@***.*** ***@***.***>.
|
Beta Was this translation helpful? Give feedback.
That's a $100k question! We have a
drift
module to check for concept drift on univariate data. But we don't good examples of using concept drift + model restarting in conjunction. We have all the pieces of the puzzle, but the puzzle hasn't been assembled yet. For instance, there is amodel.clone()
method which is handy for this.Small tip: you can highlight your Python code properly if you use
py instead of just