quote:
Op woensdag 10 maart 2010 22:10 schreef Dzy het volgende:Hey hey,
ik ben bezig met een probleempje voor een vriend. Het gaat erom om de gewichten van een formule te vinden waarmee een eindcijfer berekend is. Er is gegeven dat de formule uit 5 onderdelen met 5 gewichten bestaat, de cijfers waarmee de gewichten worden vermenigvuldigd en dan bij elkaar worden opgeteld zijn bekend. Er is een dataset van 60 mensen, dus in principe meer dan genoeg om gewoon een stelsel van 5 vergelijkingen met 5 onbekenden op te lossen, alleen is het probleem dat de cijfers afgerond zijn in de dataset. De bedoeling is om de gewichten zo dicht mogelijk te benaderen, hoe dat staat vrij maar het lijkt me waarschijnlijk dat dit met een wiskundig programma moet, of zijn er suggesties om dit mooi met de hand zelf te doen? De cijfers worden op halven afgerond. Iemand een idee hoe dit aan te pakken? Thanks!
Dit is de formule trouwens:
f(x) = g
1 * D + g
2 * S1 + g
3 * S2 + g
4 * e^(-3(D-S1)
2 + g
5 * e^(-3(D-S2)
2 Waarbij D het cijfer is dat gegeven is door de docent, S1 is het cijfer gegeven door de eerste student en S2 is het cijfer gegeven door de tweede student. g1 tot en met g5 zijn de gewichten. D, S1 en S2 zijn dus gewoon bekend, net als de e-machten die erin voorkomen.
Toevallig data mining techniques bij de VU?
Ik heb zelf geprobeerd met weka iets te vinden, maar nog niet veel succes daarmee geboekt (vanwege dat afronden en linear regression altijd een E toevoegt

).
Ik heb wel succes geboekt met evolutionary algorithm (simpele GA met real values, gaussian perturbation mutation, scattered crossover, etcetera met een eigen fitness functie die voor alle instanties kijkt wat de uitkomst is met de waardens en vervolgens afrondt naar halve getallen (kun je simpel doen door je uitkomst *2 te doen en vervolgens afronden op een geheel getal om weer te delen door 2 om afrondingen te krijgen op halve (dus 5, 5.5, 6, 6.5, etc)). Ik heb zelf Matlab gebruikt hiervoor, maar je kunt ook Mobat gebruiken (moet je even eigen functie uitschrijven) of je kunt het helemaal zelf programmeren. Ik wou zelf nog een andere methode proberen omdat ik issues heb met missing values (heb nog niet achterhaald wat zijn methode daarvoor is, ik heb wel al een oplossing met 0 fouten gevonden als ik enkel de data gebruik die geen missing values bevatten).
[Bèta wiskunde] Huiswerk- en vragentopic 2