Trovare funzione ottimale: analisi risultati passati
Salve ragazzi!
Spero che sappiate aiutarmi, sto scrivendo un programma al pc per valutare, in base ad una serie di risultati, quali fra tanti utenti siano i migliori (intendendo con il termine migliori coloro che continueranno ad avere risultati positivi nel breve/medio termine).
Ho una serie di risultati con associati punteggi, ho pensato di creare 3 gruppi:
1) gli ultimi 20 risultati conseguiti ed il punteggio totalizzato;
2) gli ultimi 100 risultati conseguiti ed il punteggio totalizzato;
3) il punteggio globale totalizzato ed in tutti eventi a cui l'utente ha partecipato;
Vorrei dare un peso così distribuito: 50% al punto 3) , 30% al punto 2), e 20% al punto 1).
Vorrei anche avvantaggiare gli utenti che hanno partecipato a più eventi (quindi agendo sul punto 3).
Alcuni risultati sono ad esempio
Utente A : 291.21(20) 976.57(100) 245.41(225) --> quest'utente ha totalizzato molti punti negli ultimi 100 eventi però la somma dei punti conseguiti in tutti gli eventi a cui ha partecipato (225) è di soli 245.41. (Naturamente partecipando ai vari eventi si può anche ottenere punteggi negativi)
Utente B: -309.86(20) 87.98(100) 4262.15(1894) --> quest'utente ha un'expected value di 4262.15/1894 = 2.25 punti / evento nel lungo termine, però negli ultimi 20 eventi ha ottenuto un punteggio negativo (-309.86)
Ora la funzione che avevo in mente per valutare i vari utenti era qualcosa tipo:
Però in pratica questa funzione è inutilizzabile dato che quando ci sono valori negativi è impossibile trovare il logaritmo naturale.
Avete qualche idea??
Vi ringrazio in anticipo
Spero che sappiate aiutarmi, sto scrivendo un programma al pc per valutare, in base ad una serie di risultati, quali fra tanti utenti siano i migliori (intendendo con il termine migliori coloro che continueranno ad avere risultati positivi nel breve/medio termine).
Ho una serie di risultati con associati punteggi, ho pensato di creare 3 gruppi:
1) gli ultimi 20 risultati conseguiti ed il punteggio totalizzato;
2) gli ultimi 100 risultati conseguiti ed il punteggio totalizzato;
3) il punteggio globale totalizzato ed in tutti eventi a cui l'utente ha partecipato;
Vorrei dare un peso così distribuito: 50% al punto 3) , 30% al punto 2), e 20% al punto 1).
Vorrei anche avvantaggiare gli utenti che hanno partecipato a più eventi (quindi agendo sul punto 3).
Alcuni risultati sono ad esempio
Utente A : 291.21(20) 976.57(100) 245.41(225) --> quest'utente ha totalizzato molti punti negli ultimi 100 eventi però la somma dei punti conseguiti in tutti gli eventi a cui ha partecipato (225) è di soli 245.41. (Naturamente partecipando ai vari eventi si può anche ottenere punteggi negativi)
Utente B: -309.86(20) 87.98(100) 4262.15(1894) --> quest'utente ha un'expected value di 4262.15/1894 = 2.25 punti / evento nel lungo termine, però negli ultimi 20 eventi ha ottenuto un punteggio negativo (-309.86)
Ora la funzione che avevo in mente per valutare i vari utenti era qualcosa tipo:
ln(numero totale di eventi) * ln((punteggio totale/numero totale eventi)) + ln(100) * ln((punt. dei 100 eventi / 100)) + ln(20) * ln((punteggio dei 20 eventi / 20))
Però in pratica questa funzione è inutilizzabile dato che quando ci sono valori negativi è impossibile trovare il logaritmo naturale.
Avete qualche idea??
Vi ringrazio in anticipo
Risposte
Sposto in analisi numerica. Attenzione alla sezione in futuro, grazie.
Mi scuso per l'errore! In effetti la precedente sezione non inquadrava perfettamente il topic.