http://www0.cs.ucl.ac.uk/staff/w.zhang/rtb-papers/delayed-feedback.pdf

Postawiony problem: mamy model uczony na 3 tygodniach danych, przeuczany codziennie (ponieważ codziennie dochodzą nowe kampanie), atrybucja jest 30 dniowa. W jaki sposób uwzględnić fakt, że jeśli nie zarejestrowaliśmy do tej pory konwersji do klika, to faktycznie konwersji może nie być, ale może też ona nadejść dopiero w przyszłości?

Problem to Jak uczyć model gdy powoli spływają odpowiedzi..

Oznaczenie zmiennych losowych: - czy była konwersja w naszym oknie czasowym (czyli to co mamy w danych) - czy ostatecznie była konwersja (zmienna ukryta) - opóźnienie między klikiem a konwersją (jeśli ) - czas, który minął od klika do teraz (chwili trenowania/pobierania danych)

- cechy opisujące bid request

Obserwacje

(1)

(2) , czyli to czy ostatecznie była konwersja i w jakim opóźnieniu od klika jest niezależne od czasu w którym obserwujemy klika (niezależne od ).

Model

Modelujemy:

  1. jako regresja logistyczna (ale oczywiście może to być też sieć neuronowa)
  2. gdzie zakładamy, że rozkład jest eksponencjalny i regresja liniowa (lub siec neurnowa) przewiduje parametr tego rozkładu.

Mając dwa powyższe można analitycznie wyznaczyć oraz , czyli p-stwa naszych obserwacji. Więc trzeba uczyć sieć na , potem wyciąganć część estymującą i tą część używać do predykcji na produkcji.