Properties

new BiasedGk([arg])

Example

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

// create the BiasedGk object
var gk = new analytics.BiasedGk({
    eps: 0.1,
    targetProb: 0.99,
    compression: 'periodic',
    useBands: 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.BiasedGk(fs.openRead('gk.bin'));

Parameter

Name Type Optional Description

arg

(module:analytics~BiasedGkParam or module:fs:FIn)

Yes

Constructor arguments. There are 2 ways of constructing:
1. Using the module:analytics~BiasedGkParam 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()

Manually runs the compression procedure.

Returns

reference to self

static
compress(val) → module:analytics.Gk

Adds a new value to the summary.

Example

var qm = require('qminer');

var gk = new qm.analytics.BiasedGk();
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
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~BiasedGkParam

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

Returns

module:analytics~BiasedGkParam The construction parameters.

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

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

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.BiasedGk({
    eps: 0.1,
    targetProb: 0.01
});
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