\section{Conclusion}
\hdpflow\ is a Bayesian nonparametric model for unsupervised representation learning in time series. It combines Bayesian nonparametric flexibility with the expressivity of conditional normalizing flows, enabling it to model non-stationary and evolving states. 
% \hdpflow\ is ideal for real-world time series where data volume is constantly increasing. 
A key challenge with BNP models like \hdpflow\ is determining the appropriate granularity of states. The flexibility of this model requires careful tuning of the priors to prevent it to grow into the infinite space, but the fine-grained state identification is what allows it to also adapt to evolving time series datasets. Training \hdpflow\ takes longer than standard unsupervised neural networks and can be harder due to its Bayesian assumptions. However, it provides a comprehensive overview of the global structure of the states and the distribution of observation, which can be a powerful tool for both inference and generative tasks.


% \hdpflow is a Bayesian nonparametric model for unsupervised representation learning in time series. \hdpflow\ couples the flexibility of a nonparametric model with the expressivity of conditional normalizing flows to model non-stationary and evolving states. 
% The flexibility of \hdpflow\ enables modelling arbitrarily complex and evolving states and it's ideal for real-world time series where more data is collected constantly. The definition of state however, can have different layers of complexity. For instance wearable data can be used to identify states like activities, or more general states like health conditions. Proper tuning of \hdpflow\ requires determining the granularity of states. This is a challenge for all unsupervised methods aiming to learn states, but is more significant in BNP models that allow the number of states to be unbounded. 
% On the other hand this can introduce opportunity into investigating hierarchical states.
% And finally, the efficiency of variation inference is what makes \hdpflow\ a suitable model for real-world data, but since it only guarantees convergence to local minimas, it is helpful to try different runs to pick the best convergence. Our efficient implementation enables this search for large datasets. 