( sinexton | 2022. 09. 29., cs – 15:05 )

Nem tudom milyen környezetet használsz, Ruby-hoz "isotree"-t javasolnám "gem install isotree"-vel, Python-hoz "from sklearn.ensemble import IsolationForest" javaslom "pip3 install sklearn"-el, de máshoz is lesz nagy valszeggel.

Ha implementálod és kérdésed van, nyugodtan írj.

Latency-hez 1 dimenziós értékekhez adok egy stat eljárást is, mely megmondja, hogy elég extrémek-e az értékek. Ezt sigma értékével tudod meghatározni, hogy feljebb vagy lejjebb legyenek a limitek. 2 és 3 között legyen, alapból 3-at javaslom:

 

sigma = 3

mean = average of values

sd = standard deviation of values

limit_normal = mean + sd * sigma
limit_exp = -ln( 1 – erf( sigma / 2^0.5 )) * mean
if skewness < 1
    limit = limit_normal
else if skewness > 2
    limit = limit_exp
else
    limit = limit_normal^( 1 - ( skewness – 1 )) * limit_exp^( skewness -1 )

 

A két limit között geometrikus módon választok, annak függvényében, hogy mekkora a skewness. Ez egy baromi okos és adaptív megoldás részemről, szakterületen nem találod meg. Ez még jó lehet 1D-s értékekhez.