Springen naar inhoud

Cijfer van 2 indicatoren uitdrukken in 1 cijfer


  • Log in om te kunnen reageren

#1

arjans

    arjans


  • 0 - 25 berichten
  • 13 berichten
  • Gebruiker

Geplaatst op 01 april 2014 - 20:09

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?

Veranderd door arjans, 01 april 2014 - 20:09


Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Merlion

    Merlion


  • >25 berichten
  • 57 berichten
  • Ervaren gebruiker

Geplaatst op 02 april 2014 - 01:41

De 2 indicatoren wegen even zwaar.

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?

#3

arjans

    arjans


  • 0 - 25 berichten
  • 13 berichten
  • Gebruiker

Geplaatst op 02 april 2014 - 09:44

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.

#4

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 02 april 2014 - 09:49

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?

#5

arjans

    arjans


  • 0 - 25 berichten
  • 13 berichten
  • Gebruiker

Geplaatst op 02 april 2014 - 09:52

Helemaal niets. Alleen moet ik er een mooie lijn uit krijgen die visualizeerd hoe goed het weer is.

#6

Merlion

    Merlion


  • >25 berichten
  • 57 berichten
  • Ervaren gebruiker

Geplaatst op 02 april 2014 - 10:36

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?

#7

arjans

    arjans


  • 0 - 25 berichten
  • 13 berichten
  • Gebruiker

Geplaatst op 02 april 2014 - 13:56

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.

#8

Merlion

    Merlion


  • >25 berichten
  • 57 berichten
  • Ervaren gebruiker

Geplaatst op 02 april 2014 - 14:53

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.

Veranderd door Merlion, 02 april 2014 - 14:55






0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures