Examples

These examples demonstrate how to use the GMM operator.

The following example detects an outlier in computer memory usage by using the GMM operator:


use com.teracloud.streams.timeseries.modeling::GMM;
composite Main
{
    graph
        stream<timestamp ts, float64 KPIs, rstring key> KPIStream = FileSource()
        { 
            param
                file : "memoryusage.dat";  
                format : csv;     
        }            

        stream<float64 prob, float64 outlierProb, float64 pdfValue> outputStream = GMM(KPIStream)      
        {       
            param     
                inputTimeSeries: KPIs; // time series to be modelled
                trainingSize: 3400u;  // use first 3400 sample to create the model           
                mixtures: 1u;  // use one single mixture     
            output            
                outputStream:                
                prob=probability(),    // probability of the data being normal
                outlierProb=outlierProbability(),  // probability of the data being an anomaly
                pdfValue=PDFValue();     // density probability of the data  
        }
}	

The following graph shows a time series that represents simulated computer memory usage:



The following graph focuses on a particular time period in the memory usage data, where an outlier is detected by the GMM operator with high probability: