Properties

new Gk([arg])

Example

// import modules
var qm = require('qminer');
var fs = require('qminer').fs;
var analytics = qm.analytics;

// create the Gk object
var gk = new analytics.Gk({
    eps: 0.001,
    autoCompress: true
});

// create the data used for calculating quantiles
var inputs = [10, 1, 2, 8, 9, 5, 6, 4, 7, 3];

// fit the model
for (var i = 0; i < inputs.length; i++) {
    gk.partialFit(inputs[i]);
}

// make the prediction for the 0.1 quantile
var prediction = gk.predict(0.1);
// save the model
gk.save(fs.openWrite('gk.bin')).close();
// open the gk model under a new variable
var gk2 = new analytics.Gk(fs.openRead('gk.bin'));

Parameter

Name Type Optional Description

arg

(module:analytics~GkParam or module:fs.FIn)

Yes

Construction arguments. There are two ways of constructing:
1. Using the module:analytics~GkParam object,
2. using the file input stream module:fs.FIn.

Properties

static
memory

Returns the models current memory consumption.

static
size

Returns the current size of the algorithms summary in number of tuples.

Methods

static
compress(val) → module:analytics.Gk

Adds a new value to the summary.

Example

var qm = require('qminer');

var gk = new qm.analytics.CountWindowGk();
gk.partialFit(1.0);
gk.partialFit(2.0);

Parameter

Name Type Optional Description

val

number

 

the value

Returns

module:analytics.Gk reference to self

static
compress()

Manually runs the compression procedure.

Returns

reference to self

static
save(fout) → module:fs.FOut

Saves the objects state into the output stream.

Parameter

Name Type Optional Description

fout

module:fs.FOut

 

the output stream

Returns

module:fs.FOut - the output stream

getParams() → module:analytics~GkParam

Returns the models' parameters as a JavaScript object (JSON). These parameters are the same as are set through the constructor.

Returns

module:analytics~GkParam The construction parameters.

var analytics = qm.analytics; var gk = new analytics.Gk(); var params = gk.getParams();

console.log(params.eps); console.log(params.autoCompress);

predict(pVals) → (number or Array)

Given an input cumulative probability, returns a quantile associated with that probability (e.g. for input 0.5 it will return the median).

Example

var qm = require('qminer');

var gk = new qm.analytics.Gk({
    eps: 0.1
});
gk.partialFit(1.0);
gk.partialFit(2.0);
gk.partialFit(1.0);
gk.partialFit(3.0);
gk.partialFit(2.0);

console.log(gk.predict(0.01));   // prints the first percentile
console.log(gk.predict(0.25));   // prints the first quartile
console.log(gk.predict(0.5));    // prints the median

Parameter

Name Type Optional Description

pVals

(number or Array)

 

the p-values which we a querying

Returns

(number or Array) quantiles - depending whether the input was a single value or array the method returns a quantile or array of quantiles