MATLAB Answers

Clustering electricity consumption time series into two customer groups.

4 views (last 30 days)
Adrian Roos
Adrian Roos on 20 Apr 2021
Answered: the cyclist on 20 Apr 2021
Hi all,
I have hourly electricity consumption data of 250 customers over a two-year time period. This customer base is made up of two groups: 1) customers who use electric heating (high electricity consumption) and 2) those who use district heating (significantly lower electricity consumption). However, I do not know which or how many customers belong to which group.
I need to cluster the customers into two groups and get the customerIDs belonging to those respective groups. I know how to do the clustering of the data points at each individual point in time, but the clusters would be different at each point in time, so this does not work. How would I go about clustering the entire time series data in MATLAB?
  1 Comment
Adrian Roos
Adrian Roos on 20 Apr 2021
The raw consumption data is stored in a .csv file with the first row containing the customerIDs and the first column containing the timestamps. I would also appreciate a tip about what would be the smartest way to import it into MATLAB; as what type (table, array, time series, etc).

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 20 Apr 2021
I'm actually not sure if there are MATLAB functions that support these analyses, but I think the models you want are known as "Latent Class Growth Analysis" (LCGA) and "Growth Mixture Model" (GMM). Don't confuse the latter with "gaussian mixture models". You might want to search on those, plus MATLAB as a keyword.
If you are also handy with R, the lcmm package has functionality for these models.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!