
54 Knowledge Discovery from Data Streams
Algorithm 9: The PiD Algorithm for Updating Layer
1
.
input: x: Current value of the random variable
breaks: vector of actual set of break points
counts: vector of actual set of frequency counts
NrB: Actual number of breaks
α: Threshold for Split an interval
Nr: Number of observed values seen so far
begin
k ← 2 + integer((x − breaks[1])/step)
if (x < breaks[1]) then
k ← 1
Min.x ← x
if (x > breaks[NrB]) then
k ← NrB
Max.x ← x
while (x < breaks[k − 1]) do k ← k − 1
while (x > breaks[k]) do k ← k + 1
counts[k] = 1 + counts[k]
Nr ← 1 + Nr
if (1 + counts[k])/(Nr + 2) > α then
val ← counts[k]/2
counts[k] ← val
if (k == 1) then
breaks ...