A comprehensive yet succinct tutorial. And, having only just finished my Data Science degree, I found it very reassuring to see that you do get faster and more proficient with time.
@robmulla2 жыл бұрын
I absolutely love messages like this. Glad to hear you found this helpful and it gave you the reassurment that things get faster. I can tell you that they do! The goal of my channel is to "spark curiosity in data science" I hope this video did that for you.
@RaviKumar-uf3eo Жыл бұрын
Yes. It is very reassuring, but most probably he would have kept all the things ready.
@amirghorbani79228 ай бұрын
It is better to use icdst Ai predict lstm model.
@zhuoningli Жыл бұрын
Hi Rob! Your tutorials help me get a job offer! When I was searching for a job, I received a take-home technical exercise about time series forecasting. I watched this video and finished my exercise. Finally, I got my dream job! Thank you so much!!! I really appreciate your tutorials! 🥰
@robmulla Жыл бұрын
Whoa, I really love hearing stories like this. That's amazing and I wish you the best in the rest of your career.
@a.h.s.3006 Жыл бұрын
I worked with time series before, and this tutorial is very thorough and well made. Additional features you could think about are lag/window features, where you basically try to let the model cheat from the previous consumption, by giving it a statistical grouping of previous values, let's say the mean of consumption within a window of 8 hours, or by outright giving the previous value (lag), let's say the actual consumption 24 hours ago. This will greatly improve performance, because it helps the model to go follow the expected trend.
@robmulla Жыл бұрын
Thanks for the comment! Glad you enjoyed the video even though you already have experience with time series. You are 100% correct about the lag features. Check out part 2 where I go over this and a few other topics in detail.
@nirbhay_raghav Жыл бұрын
Hands down, the bestest (if that is a word) video on the entire internet about implementation. No fancy stuff. Not too beginner and toy examples. Hust the right thing what a budding data scientist needs to see. And it is definitely reassuring to see that one can really get better and faster at doing these after a while. It takes me a lot of time reach what you have done in under 30min. Debugging things take a lot of time.
@robmulla Жыл бұрын
I really apprecaite your positive feedback! Glad to hear you find it encouraging that eventually things will get faster.
@naderbazyari24 ай бұрын
Second time watching this and doing every step on my notebook as Rob goes through the task. I am still blown away by the intricacy of his approach and how he investigates the case. fascinating how he makes it look effortless. Many thanks
@karishmakapoor4285 Жыл бұрын
Amazing flow, comprehensive yet smooth. Detailed yet generic. I love the way you think and your float across the entire process. I did this project myself and thoroughly enjoyed it. Cant wait to apply this to other datasets. A Big thumps up👍
@adityaraikwar6069 Жыл бұрын
Being a sort of early intermediate data scientist myself, it's very cool watching him do all these things and the most amazing thing is how everybody's mind works differently and how proficient you become in not only coding but also in approach towards a problem. keep that up man
@paultvshow8 ай бұрын
Hey, have you landed a job in data science field?
@digitalnomad21967 ай бұрын
also curious to know, recent data science graduate here@@paultvshow
@MilChamp12 жыл бұрын
This was a very nice introduction to this topic. You might consider turning this into a miniseries, since it's such a large topic; the next video might be on how to create the best cross-validation splits for timeseries
@robmulla2 жыл бұрын
Thanks so much. There is so much to cover with time series. I may consider a miniseries that’s a great idea. I’d like to make one on prophet which is a great package for time series forecasting too.
@JacksonWelch2 жыл бұрын
Love these videos. As a data engineer I love seeing other peoples workflows. Thanks so much for posting.
@robmulla2 жыл бұрын
Glad you liked it. Thanks for watching Jackson.
@flel2514 Жыл бұрын
Hi Rob, I am a fresh data science graduate, and I find this tutorial very well done and very helpful for those that approach TS for the first time as well as for those that want to refresh the topic
@luismisanmartin983 ай бұрын
As someone just getting introduced to time series analysis, this video was gold, thank you for making it!
@sevenaac47834 ай бұрын
Thank you for teaching me. It allows me to understand the time series XGBoost in the shortest time.
@PRATEEK301119897 ай бұрын
I have never seen a better data science video. You are a savant at this
@wazzadec16 Жыл бұрын
FYI for anybody who is doing this recently. The part where combing training set and test set graphic and using a dotted line has to be modified. Before: '01-01-2015' After ax.axvline(x=dt.datetime(2015,1,1) Since matplotlib now needs it in a datetime series. I guess because of changing the index to a t0_datetime format?
@shrunkhalawankhede261111 ай бұрын
from datetime import datetime ax.axvline(x=datetime(2015,1,1), color='black', ls='--')
@sandyattcl Жыл бұрын
what an amazing tutorial! I just had to give a thumbs up even before finishing the video.
@robmulla Жыл бұрын
Really appreciate that Sandeep. Please share the link with anyone else you think might also like it.
@selenkokten1708 Жыл бұрын
Don’t use features like year which will not have the same value in the future. It is a bad idea for prediction purposes. Instead use the difference from the minimum date to see if there is an increasing trend year by year.
@paultvshow8 ай бұрын
Please elaborate
@irshadyasseen1468 ай бұрын
Can you provide an example?
@solisoma10127 ай бұрын
Can I have ur social media handle so I can ask you some questions
@John5ive4 ай бұрын
I get it. The year increments and provides no value to the model.
@warmpianist3 ай бұрын
The difference from minimum date also won't have the same value in the future. I don't know what you mean.
@hussamcheema Жыл бұрын
I love your content. Liked the video before watching it because I know this is gonna be a great tutorial. Thanks for making these tutorials. 😊
@robmulla Жыл бұрын
Thanks! Glad you find it helpful.
@super-eth8478 Жыл бұрын
Dude your channel is a gold mine ..
@robmulla Жыл бұрын
Thanks so much for that feedback. Now share it with anyone you think might appreciate it too!
@super-eth8478 Жыл бұрын
@@robmulla Actually I have shared it to my friends . Cheers !
@sathvikmalgikar2842 Жыл бұрын
sir you are legend. thank you i was banging my head with lstm model in pytrch previosly but this is way better
@robmulla Жыл бұрын
Glad you got something working.
@michaelmebratu2921 Жыл бұрын
What a quality tutorial! Thank you so much
@robmulla Жыл бұрын
Glad you learned something new!
@Arkantosi2 ай бұрын
Rob, are you aware that you have made a crucial forecasting mistake? You used the test set for validating the model when fitting, then you used the same test set when you made the final predictions and evaluated it on the same set. The problem is that during the fitting, the model gets to see the test set so you have data leaked into the past, from the future. What you should do is to split the data into train/val/test where the test has never been seen by the model.
@alvaro1-x5kАй бұрын
Totally agree. Its data snooping. Nevertheless there are some cases where you can use all data to validate if you then receive the test set where you can check how the model generalizes.
@gabrielmoreno25542 жыл бұрын
Wow, this is exactly what I needed to learn to improve my COVID death predictor. Great job!
@robmulla2 жыл бұрын
So glad you found this helpful. Thanks for watching!
@Arieleyo Жыл бұрын
Love your videos Rob!! cheers from Argentina ♥
@robmulla Жыл бұрын
Sending my ❤ back to Argentina. Thanks for watching!
@jelc2 жыл бұрын
Really well focused and clearly explained. Love your work!
@robmulla2 жыл бұрын
I appreciate the feedback Julian
@peralser Жыл бұрын
Great Video ROB, Thanks for sharing with us!!
@robmulla Жыл бұрын
Thanks for watching!
@akshaymbhat9144 Жыл бұрын
Thanks for the wonderful video. It's very insightful ❤️ from India . Keep inspiring and aspiring always!!
@robmulla Жыл бұрын
My pleasure! So happy you liked it!
@fudgenuggets405 Жыл бұрын
I like this dude's videos. They are informative and to the point.
@evandrogaio7003 Жыл бұрын
Such an excellent video. Thanks for sharing!
@robmulla Жыл бұрын
Glad you liked it!
@ADaBaker9510 ай бұрын
Best video on the subject I've found so far!
@musicplace92057 ай бұрын
Thanks! one of the best video I've ever seen. Simple, clear and overall why each concept is used for.
@gustavojuantorena2 жыл бұрын
"And depending who you ask" 🤣Great video!
@robmulla2 жыл бұрын
I’m glad you got the reference. I was hoping he would see and appreciate that part of the video.
@rodolfoviegas8504 Жыл бұрын
Amazing. We've learnt time series prediction only by statistical methods and/or making ML models to act like ARIMA - making lags for feed them. This approuch very interesting and intuitive. Thanks, Rob
@kvafsu225 Жыл бұрын
Great lesson on machine learning. Thank you.
@robmulla Жыл бұрын
Thank you for watching. Share with a friend!
@hasanalmatrouk259319 күн бұрын
Thank you so much. you are a LEGEND!!
@NotesandPens-ro9wx8 ай бұрын
Man I am seeing this after an year and your teaching style is just hell .. now sub done and will follow you on other things :) for sure
@beckynevin16 ай бұрын
Wow! I'm trying to get up to speed on XGBoost, so I clicked on this video. There are a lot of meh data science tutorials out there, so it was such a treat to come across this one after slogging through youtube. I immediately subscribed and am headed to your channel to watch more videos on time series prediction!
@Singularitarian Жыл бұрын
Very illuminating! Learned a whole lot in just 23 minutes.
@yourscutely Жыл бұрын
Perfectly explained, thanks a lot
@robmulla Жыл бұрын
You are welcome! Glad you found it helpful. Check out parts 2 and 3 and share with a friend!
@lamborghiniveneno8423 Жыл бұрын
Simply awesome tutorial😀
@robmulla Жыл бұрын
Thanks so much!
@22niloc Жыл бұрын
I'm getting to know Time Series and your vid has loads of great starter points.
@liliyalopez89982 жыл бұрын
I just started studying ML and this tutorial is super helpful. I would like to see how you would use the model for forecasting future energy consumption though
@robmulla2 жыл бұрын
Welcome to the wonderful world of ML Liliya! Yes, I did forget to cover that in detail but I may in a future video. It's just a simple extra step to create the future dates dataframe and run the predict and feature creation on it.
@TrueTalenta Жыл бұрын
I am new to time series and this by far is very informative and quit succinct!
@Mvobrito Жыл бұрын
Great video! If the goal was prediction only, and not inference (meaning you don't care about what's driving the energy consumption), you can the energy consumption of the previous days as feature for the model. When predicting consumption at T, you can use T-1, T-2, .. T-x. And even a moving average as feature as well.
@robmulla Жыл бұрын
I totally agree! It all depends on how far in the future (forecasting horizon) you are attempting to predict.
@yosafatrogika3129 Жыл бұрын
so clear explanation, thanks for sharing!
@robmulla Жыл бұрын
Glad it was helpful!
@raasheedpakwashi2961 Жыл бұрын
LEGEND...no other words needed
@robmulla Жыл бұрын
Thank you 🙏
@nguyenduyta7136 Жыл бұрын
Best one I ever seen ❤thank so much.
@robmulla Жыл бұрын
So glad you like it. Thanks for the comment.
@egermani2 жыл бұрын
Great content! Thanks a lot for the explanations, they are a great incentive to dive deeper into the subject.
@robmulla2 жыл бұрын
Glad you think so! My hope is that by making short videos that explain a topic at a high level like this will spark curiosity in people so they will dive deeper into the topic, just like you said.
@leo.y.comprendo2 жыл бұрын
This is incredible! Instantly subscribed!! thanks for your knowldege
@robmulla2 жыл бұрын
Thanks for watching!
@69nukeee10 ай бұрын
Such an amazing video, thank you Rob and keep 'em coming! ;)
@inovosystemssoftwarecompan67247 ай бұрын
short and potent, great fluid presentation !!
@chrispumping Жыл бұрын
Very informative and easy to understand tutorial....Thanks you
@robmulla Жыл бұрын
You are welcome! Thanks for watching.
@tatulialphaidze902 жыл бұрын
Thank you for this tutorial, definitely helped me out
@robmulla2 жыл бұрын
Glad it helped!
@user-xr3bc4vn5t10 ай бұрын
You have helped me so much with this video, you don't even know!!! Thanks so much :)
@lovettolaedo22311 ай бұрын
I enjoyed watching this as it has given me more insight into prediction. Kindly do a video on GDP growth forecasting using machine learning. Thank you.
@troy_neilson Жыл бұрын
Informative and well-structured. Thanks!
@ramizajicek Жыл бұрын
Thank you for the great presentation
@robmulla Жыл бұрын
I appreciate you watching and commenting. Share with a friend!
@H99x22 жыл бұрын
Incredible content and explanation. You definitely have a knack for this. I subscribed for more videos like this! Thanks :)
@robmulla2 жыл бұрын
Thanks for watching and the feedback!
@lolmatt97 ай бұрын
Very well explained and useful. Thank you!
@romanrodin5669 Жыл бұрын
Great video! Very clear and easy for understanding! Thanks a lot for clear explanation! I've got a few questions though regarding lagging data for better prediction) will jump into next video, it seems I get an answer there) thanks again!
@robmulla Жыл бұрын
Glad you liked it. Yes, the next video covers it in more detail!
@ademhilmibozkurt7085 Жыл бұрын
I love this video. Please make more. Thanks
@robmulla Жыл бұрын
Thanks! I apprecaite the comment. Have you seen the part 2 that I have on this topic?
@tunaip.marques7797Ай бұрын
Great video! Thanks
@Ricocase9 ай бұрын
How did you spot overfitting w/o a marker?
@Tonitonichoppa_o Жыл бұрын
This is the best!! Thank you so much :D 감사합니다!!
@azizbekurmonov6278 Жыл бұрын
Thanks! Love your explanations.
@blueradium42602 жыл бұрын
Brilliant video, thank you :)
@robmulla2 жыл бұрын
Thanks for taking the time to watch.
@neclis77772 жыл бұрын
Excellent video ! For weather, I suggest you look into HDD and CDD (heating degree days and cooling degree days) which focus on the amount of heating and cooling rather than the mean temperature.
@robmulla2 жыл бұрын
Thanks for the tips! I'm not familiar with those but I will look into it. The one main issue I see when people are training forecasting models like this is using the ground truth weather for future dates- which are not available at the time of prediction. That's why I think it's best to use forecast values from the historic dates.
@datalyfe5386 Жыл бұрын
Just came across your channel, awesome content!
@robmulla Жыл бұрын
Welcome aboard! Glad you like it.
@muhammadkashif7263 Жыл бұрын
Amazing season ❤
@robmulla Жыл бұрын
I appreciate the feedback.
@robmulla Жыл бұрын
Thanks!
@SP-db6sh2 жыл бұрын
Next LSTM ,autoencoder, Deep Reinforcement Learning for finance ?
@robmulla2 жыл бұрын
I could make a video about LSTMs however those types of complicated models tend to be outperformed by models like XGBoost on these types of datasets. There are a few papers on the topic and forecasting is both an art and science.
@PerteTotale2 жыл бұрын
@@robmulla yes, but LSTM should pick up better the long lag influence, while XGB is random based and can be tuned in some directions, but not as much / fine for this aspect as the former. And it seems that SARIMAX is out of favor, shame. Also a try out with VAR was pretty ok for +- known time lags. Any thoughts? ps: add more max depth, to get more feat coverage...
@a.a.elghawas Жыл бұрын
Cool video Rob!
@robmulla Жыл бұрын
Thanks for watching!
@AQ-jh5fr Жыл бұрын
Nice tutorial and when you said quick tutorial you sure meant it xD, I had to pause like a 100 times. but still thanks for the video
@robmulla Жыл бұрын
Glad you liked the video. I'd rather it be too fast than too slow :D - you can always slow down the playback speed if that helps.
@mirror1023 Жыл бұрын
Amazing video
@robmulla Жыл бұрын
Thanks!
@azizbekurmonov6278 Жыл бұрын
more time series, please
@prasadjayanti4 ай бұрын
Very good explanation.
@sunaxes6 ай бұрын
Would be useful to look at feature importance at the inflexion point of the test set performance and at the end of training and compare. Features highly ranked in both are the ones useful to understand pattern in data and also also satisfy labelling requirements.
@aghedostudios3126 Жыл бұрын
I cant believe xgboost can do time series analysis as well
@robmulla Жыл бұрын
Yes! I works well for time series data that is stationary. It wouldn't work well for time series that will have values in the future way outside of what has occurred in the past.
@OskarBienko Жыл бұрын
@@robmullao be fair, there is no model that would work if the process is non-stationary - SARIMAX, Random Forest, Linear Regression etc. How about addressing autocorrelation in the underlying process when using xgboost? I think you should've plot pacf and acf, and add some lagged power consumption to the features accordingly.
@rohitraghunathan Жыл бұрын
Very good introduction to time series forecasting in xgboost. One thing to note is xgboost has a function for plotting the feature importance. xbg.plot_importance() would have done the trick for you
@santinonanini610710 ай бұрын
Should you not split the training data into train and validation sets, such that you can use validation set instead of test set during training ? (when you use "eval_set" parameter ?)
@user-kl5nx9qy8o2 ай бұрын
I also thought of that. I suppose it was out of the scope of the tutorial to keep it simple.
@datasciencesolutions2361 Жыл бұрын
Great job sincerely!
@robmulla Жыл бұрын
Thanks for the feedback!
@anatoliyzavdoveev425210 ай бұрын
Fantastic video tutorial 👏👏🙏
@ChrisHalden007 Жыл бұрын
Great video. Thanks
@robmulla Жыл бұрын
Appreciate that 🙏
@christianmannke23356 ай бұрын
First of all, thank you for this comprehensive video. It helped me a lot to understand this kind of prediction better. However, what I still don't understand is how can I make predictions on new data that the model hasn't seen before? Let's say I want to make predictions from 2018-08-03 for the next 30 days.
@indranil98742731762 жыл бұрын
How rational is it to use a tree-based model for time series forecasting? Not sure about XGBoost, but in general tree-based models can not extrapolate, meaning the predictions would be bounded by the minimum and maximum of the training target variable. If we have a time series with an increasing trend, is that a good option? Btw, just subscribed :D
@robmulla2 жыл бұрын
Thanks for subscribing. You are correct that this type of model will no do well predicting unseen values. However for this type of dataset it can work well. I mention this earlier in the video when talking about the different types of time series. Hope that helps.
@demaischta1129 Жыл бұрын
This is so helpful. Thank You!!
@Burnitall2205 ай бұрын
This is incredible!!
@AhmedElAlaoui-kb3xi16 күн бұрын
you dropped your crown !
@somesome559-i1z Жыл бұрын
A question. I see the prediction was done on test data which are already available. This is good to see how accurate the model is but I am wondering how we can use this model (and xgboost in general) to forecast the upcoming years for which we do not have any data.
@MeghaKorade Жыл бұрын
Hello Rob, Great tutorial! I have a question - In eval_set you're using [(x_train, y_train), (x_test, y_test)] whereas in most data split practices I've seen validation set separated from training data (which not part of either training or testing set)? Can you please check at timestamp 14:02 ? I'm trying to implement something similar on an interesting dataset and this is a great tutorial!!
@rahulbhargava25 Жыл бұрын
Rob, I tried your method, but I am encountering a problem. The data for a certain field is growing exponentially with time, and I want to predict its future value. However, when I run the prediction, it is giving me a graph that looks like I have seasonal data, which is not what I expect for an exponential trend. who can help ??
@robmulla Жыл бұрын
Check out part 2 where I discuss models that can pick up on those types of trends.
@rahulbhargava25 Жыл бұрын
@@robmulla I did everything as per part 2. This works fine when I ran with test and train data it shows all correct but when I provide future dates it starts showing a seasonal kind of output. Can you post some examples or share a link where data is exponentially growing based on time...And our modal should be able to predict the future value. My data looks like 2023-01-01 21:00:00.643 178352674 2023-01-01 15:00:00.640 178322674 2023-01-01 09:00:00.443 178307674 2023-01-01 03:00:00.907 178302674 2022-01-01 18:00:00.793 132197674 2022-01-01 12:00:00.920 132192674 2022-01-01 06:00:00.227 132187674 2022-01-01 00:00:00.333 132182674 2021-01-01 18:00:01.197 72887423 2021-01-01 12:00:00.830 72812423 2021-01-01 06:00:00.703 72812423 2021-01-01 00:00:00.783 72812423 2020-01-01 21:00:00.917 22532423 2020-01-01 15:00:00.903 22532423 2020-01-01 09:00:00.613 21962423 2020-01-01 03:00:01.050 21937423
@user-kl5nx9qy8o2 ай бұрын
Thanks so much for this video. It would be cool as well to see a video with xgboost mainly about feature engineering using aggregate data(for example the average of the last 30 days) while using cross validation appropriately to avoid data leakage. Would hyperparameter tuning with GridSearchCV would have to be sacrificed since you can't easily control creating these features using aggregate data within each dataset split made in the cross-validation? Thanks so much for your enlightening and amazing videos. I highly appreciate your work.
@tomshaw7179 Жыл бұрын
Thanks for this video Rob. I am quite new to data science and this was really clear. Have you done a video on optimization maybe using light GBM?
@jiyanshsonofdr.rajesh8516 Жыл бұрын
Nice explanation..
@robmulla Жыл бұрын
Thanks for liking
@AFlockOfToasters Жыл бұрын
Question: aren't you involving the validation dataset in the training process when including it in the eval_set?
@robmulla Жыл бұрын
I don’t think so. What do you mean?
@bryan-9742 Жыл бұрын
my understanding was that you actually need to go into the feature importance method within XGBoost as this 'feature importance' was not designed for time series. Clustered Mean Decrease algorithm or shapleys algorithm are much more suited for times series feature engineering.
@Dongnanjie7 ай бұрын
Thank you, Rob!
@Lnd23452 жыл бұрын
Great video, thanks.
@robmulla2 жыл бұрын
Glad you liked it! Thanks for the feedback.
@darenhunter37256 ай бұрын
Super helpful. Do you have any videos on how we might be able to correlate historical weather or historical forecasts in an example like this? I'm struggling to wrap my head around how this could be done and every search I do tries to teach me about how to create weather models - not use time-series weather or forecasts to predict a value. Thanks for your videos
@brajansaraci Жыл бұрын
Hello, You used X_test in eval_set while training. Won’t this create a potential source of data leakage ? Good work. Cheers
@robmulla Жыл бұрын
Ooops. Did I? Can’t you point me to the timestamp?
@OskarBienko Жыл бұрын
@@robmullaYes you did. 00:14:00 minute
@vzinko11 ай бұрын
Indeed the eval_set should not include test data. A clear case of data leakage
@samersheichessa43319 ай бұрын
And also, for the eval_set, should you not pass validation data instead of all the X_train? As I see it, you are evaluating the performance on the very same data it learned from. Should it not be a subset of the training data that is evaluated?@@vzinko
@abinsharafm.s51682 жыл бұрын
I follow you on twitch.. you should definitely do a video on how you setup your system for data science ( I mean you had Linux working with your ide and you were pulling data from the websites (api).. i found that very cool ! )
@robmulla2 жыл бұрын
Oh. Great idea! I’ve thought about doing this but need to think more about how to best explain my setup.