# A Clustering Algorithm for Evolving Data Streams Using Temporal Spatial Hyper Cube
## 1 Introduction  
Data streams are a continuous, infinite series of data records followed and arranged by embedded or precise timestamps [1]. With sensors becoming prevalent in humans' daily lives, it's clear that the availability of data streams is exponentially increasing [2]. Mainly driven by the expansion of the Internet of Things (IoT) and the connected real-time data sources, many application domains, generate an infinitely vast amount of critical data streams that evolve [3]. For an instance, urban pop-up housing environments and their potential as local innovation systems are a source of a massive data stream generator [4]. Analyzing such data stream efficiently offers useful insights for many application domains. Yet, as applications generate massive amounts of data, the requirement for methods to analyze and cluster data streams has become a critical field of research for knowledge discovery [5, 6]. Data stream clustering's primary objective and goal are to acquire insightsinto incoming data. Recognizing all possible patterns in the data that enters at varying speeds and structures and evolves over time is critical for this analysis process [7]. Clustering data streams is one of the vital tasks in data stream analysis to identify the abstract of hidden themes coherently that characterize the stream. It is defined as the technique for partitioning the data in the data stream into clusters where similar data are placed in the same cluster, and dissimilar data are placed in another cluster [8]. It is an unsupervised learning method that has become a useful, ubiquitous, and essential tool for data stream analysis in machine learning, data mining, bioinformatics, image processing, and other fields. Yet, data streams impose additional challenges on clustering, such as clustering in limited memory, limited time, high-dimensionality, analyzing the data only once as it arrives and handling data in evolving manner to capture the underlying changes in clusters [9]. Unlike batch processing, there's no complete dataset available [10]. Data stream clustering algorithms analyze each data record as it arrives in sequential order and any processing or learning requires to be performed online, where stored data are not available for further analysis [11]. Clustering data stream require algorithms to have the capability of evolving their structure and parameters with respect to time and as new data streams arrive. Unlike static data, detection algorithms struggle for adapting the dynamic environments such as the ever-evolving IoT domain [12]. Furthermore, the data streams that regularly originated from non-stationary environments with no advanced information regarding the data distribution, could affect the choice of a suitable set of algorithm parameters for detecting anomalies. Moreover, in most real-life cases, a massive amount of data streams coming from the enormous number of IoT sensors is almost impossible to label coming from the enormous number of IoT sensors, Therefore, working in an unsupervised fashion is always a necessity [13]. The literature contains numerous algorithms that aim at solving the issues of data stream clustering. Various challenging elements were considered for solving the problem. In the work of CEDAS [14] and BOCEDS [15], the author has enabled an arbitrary shape clustering algorithm to perform the clustering with an evolving cluster. The cluster might take any possible shape and its shape might change with respect to time. However, a significant issue is observed in these algorithms. The lack of quantization stage of the raw data before dealing with it in the creation of the core mini clusters. Other algorithms have adopted the grid concept for this quantization such as MuDi-Stream [16]. However, they used a static grid in both time and spatial attributes. The goal of this research is to address the problem of evolving data stream clustering with arbitrary positioning and shaping of clusters.