1 van 1
Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: di 01 apr 2014, 21:09
door arjans
Hallo,
Ik wil graag een lijn grafiek maken van 2 indicatoren. Deze gegevens komen uit een database en haal ik op per dag. De 2 indicatoren bevatten de volgende waarden van de afgelopen dagen:
Array ( [rainfall] => 0.006083333333333343 [temperature] => 7.0027777777777604 )
Array ( [rainfall] => 0.11155416666666672 [temperature] => 5.86458333333354 )
Array ( [rainfall] => 0.09002777777777739 [temperature] => 5.465972222222343 )
Array ( [rainfall] => 0 [temperature] => 5.962237762237832 )
Wat ik hier dus graag uit wil krijgen is een lijngrafiek met 4 dagen. De 2 indicatoren wegen even zwaar. Echter regenval beïnvloed de lijn negatief en temperatuur positief.
Mijn vraag is hoe kan ik er allereerst voor zorgen dat de 2 indicatoren de zelfde wegingsfactor hebben en uiteindelijk resulteren in 1 cijfer?
Re: Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: wo 02 apr 2014, 02:41
door Merlion
De 2 indicatoren wegen even zwaar.
arjans schreef: ↑di 01 apr 2014, 21:09
Mijn vraag is hoe kan ik er allereerst voor zorgen dat de 2 indicatoren de zelfde wegingsfactor hebben
Misschien begrijp ik de vraag verkeerd, maar dit lijkt mij tegenstrijdig. Afgezien hiervan, is dit dan niet gewoon een vermenigvuldiging?
Re: Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: wo 02 apr 2014, 10:44
door arjans
Dit klinkt inderdaad tegenstrijdig.
Wat ik bedoelde met de laatste zin is het volgende:
Ik wil igenlijk de 2 getallen bij elkaar op tellen. Als ik ze bij elkaar optel heeft de ene indicator een minder grote impact. Hier wil ik dus verandering in brengen.
Naar mijn idee gaat een vermenigvuldiging niet werken. Dit omdat ik de regenval inverteer omdat hij een negatieve invloed zou kunnen hebben.
Re: Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: wo 02 apr 2014, 10:49
door Xenion
Ik heb geen idee wat je precies wil bereiken. Je wilt per dag een zeker getal/score berekenen op basis van waargenomen neerslag en temperaturen, maar wat moet dat getal precies voorstellen?
Re: Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: wo 02 apr 2014, 10:52
door arjans
Helemaal niets. Alleen moet ik er een mooie lijn uit krijgen die visualizeerd hoe goed het weer is.
Re: Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: wo 02 apr 2014, 11:36
door Merlion
Ik denk dat ik het begrijp.
- 20 graden zonder regen is heel goed weer
- 20 graden met veel regen is slecht weer
- 10 graden bij zon is goed weer
- 10 graden en regen is heel slecht weer
Klopt dit?
Re: Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: wo 02 apr 2014, 14:56
door arjans
Dat klopt zo ongeveer inderdaad. Ik wil dus een lijn grafiek van hoe goed het weer is. Uiteraard is 20 granden zonder regen zeer goed weer en heeft dus een hogere waarde voor de weersgesteldheid.
Alleen heb ik geen idee hoe ik dit kan berekenen.
Re: Cijfer van 2 indicatoren uitdrukken in 1 cijfer
Geplaatst: wo 02 apr 2014, 15:53
door Merlion
Je hebt verschillende mogelijkheden:
1) Linear:
y = a.t - b.r
- t = temperatuur
- r = neerslag
- y = "goed-weer-waarde" y-as
Voor zover ik weet bestaat er geen "goed-weer" eenheid , dus zal je a en b (constanten) zelf moeten gaan bepalen.
Voorbeeld:
- Goed-weer-schaal 0..10
- Neerslag: 0...100%
- Temperatuur: -10…+30 ºC
y= (1/4)(t +10) - (1/10).r
Waarschijnlijk zal je er ook voor moeten zorgen dat het resultaat niet onder 0 en boven 10 komt bij uitzonderlijke temperaturen. De meeste programmeertalen hebben hiervoor een min, max functies.
2) Met een look-up tabel (Mijns inziens de beste oplossing):
Je maakt een 2-dimensionele array van bijvoorbeeld 40 bij 100. In elke vakje stop je dan de overeenkomende subjectieve "goed-weer-waarde". Deze waarde adresseer je dan met de temperatuur en neerslag. Dit concept is heel erg flexibel omdat je willekeurige accenten kan leggen die met een vergelijking bijna onmogelijk zijn.
3) Een of andere functie (sinus, logaritme) die naar een maximum en minimum limiet uitdijt zou ook eventueel kunnen. Dit is complex. Bovendien ken echter de rekenkracht van jouw platform niet misschien zou dit een probleem kunnen vormen op PICs, Arduino’s en dergelijke dingen.