0
$\begingroup$

I have a timeseries dataset of users with different profiles. I want to use lstm for predicting 1 day ahead of each user. My approach to the problem is first clustering users of same behaviour. And then, train different lstm models within each group so that each lstm model will be responsible for that group of users and will be trained with that group's timeseries data. In test scenario, i will first find the cluster of new user and then predict according to trained lstm of corresponding cluster. With this approach, i expect to minimize the rmse of model. I have started with https://tslearn.readthedocs.io/en/stable/ library for clustering the data.

My question is related with using lstm. Does lstm part of my approach really make sense? Should i use one global lstm for training different clusters or should i separate lstm models for clusters? I am new to lstm and its features, so any help will be much appreciated.

Thanks in advance.

$\endgroup$
0
$\begingroup$

I think ideally you create a different model for each type of user since it is likely that each type will display different characteristics. A model tailored for that type of user would therefore likely perform better than a generalized model of similar architecture and size.

However, there are some key considerations if you want to do so.

  • Size of Dataset: Training a neural network requires a lot of data, it is very possible that after you split the data into different types of users, you wouldn't have enough data to train, validate, and test for every type.

  • Time and Resources: Training a neural network takes time, effort, and resources. Training and tuning a new model for every type of user may be too expensive depending on the size of your LSTM. If every model performs only marginally better than a generalized model of slightly larger complexity, it may not be worth the cost.

From my experience, most people simply add the user's type as a feature and train a generalized model. This is because unless types of users display wildly different characteristics it is not worth the cost of training multiple models for the marginal amount of increase in performance.

If you only have, say, two or three different types of users and have a large enough dataset, it may not hurt to try out building multiple models to see how they fare against a generalized model.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.