Avatar billede hurra Novice
24. juni 2009 - 17:15 Der er 5 kommentarer og
1 løsning

Hyppighed af events skal omsættes til en score

Jeg har et lidt mere matematisk problem, end et egentligt programmerings teknisk problem.

Jeg har en test opstilling, hvor mit program modtager nogle events. Jeg har brug for løbende at få en sammenlignlig 'score' for hvor mange hendelser jeg modtager.

Imidlbart er det let nok, det var bare frekvensen af hendelser jeg er interaseret i. Men jeg har også brug for at have ændringer i frekvensen med i min score.

Jeg har været i gang med selv at generere en funktion der kan give mig denne score:

score = løbendeGennemsnit(F * (1 + dF))    | for dF >= 0, for dF < 0 bruges dF=0

hvor F er Frekvens og dF er Differentieret frekvens

Meeeenn, er det nu lige nødagtigt det jeg vil??? jeg tænkte at det her (eller noget lignende) må da hedde noget i statistik sprog. Er der ikke en 'standartiseret' måde at gøre det her på?

Et exempel:
Hvis nu jeg har en system, hvor mine event kommer med en stabil freqvens, lad os bare sige 1, er scoren 1. Hvis pludslig frekvensen stiger til 2, vil difference værdien stige til 1. Det jeg så ønsker er, at det men det samme skal give mig en høj score e.g. 8 (F=2*(1+dF=2)), i stedet for bare at sætte 8 ind i gennemsnits-beregningen. Lige så stille vil scoren så igen falde til 2. Ved godt at RMS måske vil kunne give min lidt, eller jeg vill kunne vægte de enkelte led i min formel, meeennn....?
Avatar billede mcb2001 Nybegynder
24. juni 2009 - 17:34 #1
hvis du har en endelig mængde af forskellige events (f.eks. event 1, 2 og 3) kan du løbende udregne hvor stor en procentdel hver af dem udgør ud at det samlede antal modtagende - det giver en god pointer om middelværdien på en mere simpelmåde...
Du vedligeholder simpelthen tre værdier - en for hver event og så regner du ud fra det?
Avatar billede hurra Novice
24. juni 2009 - 18:17 #2
Jeg har (desværre) ikke rigtigt en endelig mængde, men jeg ved til et hvert tidspunkt hvorstor min er.

Ideen er rimelig god, jeg skla lige tænke lidt over det. Det eneste problem jeg ser er, at jeg ikke har noget der er sammenlignlig, e.g. hvis et modul for 5 minuter havde en score på 25 og nu har 30, ved jeg ikke rigtigt om det har reporteret flere events, eller om der er et andet modul der har forladt mig.
Avatar billede hurra Novice
24. juni 2009 - 18:18 #3
"hvor stor min er" skulle ha været "hvor stor min mængde er" ;)
Avatar billede mcb2001 Nybegynder
24. juni 2009 - 18:27 #4
så lig en tidsfaktor ind også, altså historisk data - så gem f.eks. øjebliksbilleder for hver 5 minut eller hvad der nu er passende?
Avatar billede hurra Novice
24. juni 2009 - 20:51 #5
Så er det jo ved at være det jeg havde fra starten, altså bare en frekvens. Der mangler så stadig et difference led.

Noget i den her stil må være relativ godt:

a*F + b*dF/F

Hvor a og b er vægte af ledene. Det er en klasisk PD regulator, men så midler jeg resultatet over de sidste e.g. 10 samples. Ved at sætte b tilpas høj, kan jeg lave det ønskede øjeblikkelige store udslag ved frekvens ændringer.
Avatar billede hurra Novice
04. oktober 2010 - 07:21 #6
Lukker her, alt det smarte matematik blev droppet, og det endte med at alle events blev vægtet ud fra hvem der sendte eventen, altså flere kilder kan godt have samme vægtning, og så deres events blive vægtet ens, uanset deres frekvens.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester