Ich habe eine Matrix mit Prognosen von Kaufwahrscheinlichkeiten; Eine zweite Matrix mit der Angabe der realen Käufe als Binärkodierung.
Über eine User-ID können beide Matrizen miteinander verbunden werden.
Ich habe also die Information gegeben, welche Wahrscheinlichkeiten für Kunde A geschätzt worden sind UND ob Kunde A nun auch tatsächlich gekauft hat oder nicht.
Nun möchte ich die Prognosen auf die Informationen der Kaufmatrix kalbibrieren.
Theoretisch müsste die Summe der Wahrscheinlichkeiten eines Produkts den Erwartungswart der realen gekauften Produkte ergeben. Dies mache ich mir zu nutze um die Wahrscheinlichkeiten auf die Kaufmatrix hin zu kalibrieren.
Das heißt, mein aktueller linearer Ansatz ist der folgende:
- 1. Wähle per Zufall einen Teil der beiden Matrizen aus
- 1. Berechne die Summen beider Teilmengen
- 3. Durch Division ergibt sich ein Korrekturfaktor: zB: 100 (Summe der W'keiten) durch 25 Käufe => Faktor 4
- 4. Linearer Ansatz: Teile nun aus der Teilmenge jeden Wert durch den Faktor 4.
- Durch X-hundert Iterationen kovergiert diese um den Faktor 1 und im Ergebnis müsste ich angeglichene Wahrscheinlichkeiten in der Ausgangsamtrix erhalten
Nun ist mein Problem das Folgende: Der linerare-Ansatz performt noch nicht so exzellent, weil er im Allgemeinen alle Wahrscheinlichkeiten um den Faktor X verkleinert. Das ist nur bedingt richtig, wenn man davon ausgeht, dass höhere modellierte Wahrscheinlichkeiten mehr Gewicht haben sollten.
Die Faktorberechnung sollte daher als eine Art log-Funktion berechnet werden. Und das bekomme ich aktuell nicht, weil die Faktoren dann gegen 0 anstatt gegen 1 konvergieren.
Ich benötige eine ähnlcihe Funktion wie die Folgende modelliert:
https://www.gutefrage.net/frage/sigmoid-funktionen-sind-symmetrisch--gibt-es-auch-welche-mit-unterschied-von-anstieg-und-auslauf
Gibt es hier Ansätze oder hilfrichen Input für den Gesamtansatz?
Beste Grüße
Mario