Gdybym wziął cały zestaw danych i podzielił całkowitą liczbę piłek, które wydały odbijającego przez całkowitą liczbę rzuconych piłek, widzę, że miałbym średnie prawdopodobieństwo, że melonik wydostał odbijającego - wyniesie około 0,03 (mam nadzieję, że Nie pomyliłem się już?)
Niestety, może nie jest to już dokładnie to, czego szukasz.
Załóżmy, że mamy jednego melonika i dwóch pałkarzy: Don Bradman i ja. (Wiem bardzo niewiele o krykieta, więc jeśli robię coś tutaj, daj mi znać.) Gry wyglądają mniej więcej tak:
- Don idzie na nietoperz i jest na 99. misce.
- Idę uderzać i natychmiast wychodzę.
- Don idzie na nietoperz i jest na 99. misce.
- Idę uderzać i natychmiast wychodzę.
W tym przypadku są cztery wyjścia z 200 misek, więc minimalne prawdopodobieństwo, że melonik wyjdzie z odbijacza, szacuje się na 4/200 = 2%. Ale tak naprawdę prawdopodobieństwo Dona, że go nie ma, wynosi około 1%, podczas gdy moje wynosi 100%. Więc jeśli wybierzesz losowo pałkarza i melonika, prawdopodobieństwo, że ten melonik wyciągnie tego pałkarza tym razem jest bardziej podobne ((50% szansy, że wybrałeś Dona) * (1% szansy, że wydostanie się) + (50% szansy, że wybrałeś ja) * (100% szansy na wydostanie się) = 50,05%. Ale jeśli wybierzesz boisko losowo, jest 2% szansy, że się wydostanie. Musisz więc dokładnie przemyśleć, o którym z tych modeli próbkowania myślisz.
W każdym razie twoja propozycja nie jest szalona. Bardziej symbolicznie, niech będzie melonikiem, a pałkarzem; niech oznacza prawdopodobieństwo, że otrzymuje out. Więc mówisz:bmfa( b , m )bm
fa( b , m ) =mim′[ f( b ,m′) ]mib′[ f(b′, m ) ]mib′,m′[ f(b′,m′) ].
Ma to pożądaną właściwość, która:
podobnie jest spójne, jeśli weźmiesz środki tylko na lub .
mib , m[ f( b , m ) ] =mib ,m′[ f( b ,m′) ]mib′, m[ f(b′, m ) ]mib′,m′[ f(b′,m′) ]=mib , m[ f( b , m ) ] ;
bm
Zauważ, że w tym przypadku możemy przypisać
Twoje założenie jest, że można obserwować i w miarę dobrze z danymi. Tak długo, jak (a) masz wystarczająco dużo gier [co robisz] i (b) wszyscy gracze grają ze sobą na stosunkowo podobnych częstotliwościach, to jest w porządku.
do: =mib , m[ f( b , m ) ]sol( b ) : =mim[ f( b , m ) ] /do--√h ( m ) : =mib[ f( b , m ) ] /do--√tak że f( b , m ) = g( b )h ( m ) .
sol( b )h ( m )
Aby nieco rozwinąć kwestię (b): wyobraź sobie, że masz dane z wielu profesjonalnych gier i wielu gier, w które bawię się z przyjaciółmi. Jeśli nie ma nakładania się, może wyglądam naprawdę dobrze w porównaniu z moimi przyjaciółmi, więc może uważasz, że jestem znacznie lepszy niż najgorszy zawodowy gracz. Jest to oczywiście fałsz, ale nie masz żadnych danych, aby to obalić. Jeśli jednak trochę się nakładasz, gdy grałem kiedyś przeciwko profesjonalnemu graczowi i zostałem zniszczony, dane wspierają klasyfikację mnie i moich przyjaciół jako znacznie gorszych od profesjonalistów, ale twoja metoda nie uwzględniłaby tego. Technicznie problem polega na tym, że zakładasz, że masz dobrą próbkę np. , ale twój rozkład jest tendencyjny.mib′[ f(b′, m ) ]b′
Oczywiście twoje dane nie będą wyglądać tak źle, ale w zależności od struktury ligi lub czegokolwiek, mogą zawierać pewne elementy tego problemu.
Możesz spróbować obejść to z innym podejściem. Proponowany model dla jest w rzeczywistości przykładem modeli faktoryzacji macierzy niskiej rangi, powszechnych w filtrowaniu grupowym , tak jak w przypadku problemu z Netflix . Tam wybierasz funkcję i która ma mieć wymiar , i reprezentujesz . Możesz zinterpretować jako skomplikowanie twojego modelu od pojedynczego wyniku „jakości” do posiadania wyników w wielu wymiarach: być może niektórzy melonicy radzą sobie lepiej z pewnymi typami odbijających. (Dokonano tego np. W przypadku gier NBA .)fasol( b )h ( m )rfa( b , m ) = g( b)T.h ( m )r > 1
Powodem są tak zwane faktoryzacja macierzy, ponieważ jeśli utworzysz macierz z tyloma rzędami co kręgle i tyloma kolumnami jak nietoperze, możesz napisać to jakofa
⎡⎣⎢⎢⎢⎢⎢fa(b1,m1)fa(b2),m1)⋮fa(bN.,m1)fa(b1,m2))fa(b2),m2))⋮fa(bN.,m2))……⋱…fa(b1,mM.)fa(b2),mM.)⋮fa(bN.,mM.)⎤⎦⎥⎥⎥⎥⎥fa=⎡⎣⎢⎢sol(b1)⋮sol(bN.)⎤⎦⎥⎥sol⎡⎣⎢⎢h (m1)⋮h (mM.)⎤⎦⎥⎥T.H.T.
gdzie uwzględniłeś macierz w jeden i jeden .
N.× MfaN.× rsolM.× rH.
Oczywiście nie można bezpośrednio obserwowaćTypowym modelem jest przypadkowe obserwowanie hałaśliwych wpisów ; w twoim przypadku, masz obserwować losowanie z rozkładu dwumianowego z losową liczbę prób dla każdego wpisu .fafafa
Możesz zbudować model prawdopodobieństwa, na przykład:
solja k∼ N.( 0 ,σ2)sol)H.j k∼ N.( 0 ,σ2)H.)fajaj=solT.jaH.jotRI j∼ B.i n o m i a l (nI j,faI j)
gdzie obserwowane są i , oraz prawdopodobnie chcesz umieścić kilka hyperpriors nad / i zrobić wnioskowanie np
Stana .
nI jRI jσsolσH.
To nie jest idealny model: na przykład ignoruje to, że jest skorelowane z wynikami (jak wspomniałem w pierwszej części), a co ważniejsze, nie ogranicza do (prawdopodobnie użyłbyś logistycznego sigmoida lub podobnego do osiągnięcia tego). Powiązany artykuł z bardziej złożonymi priorytetami dla i (ale nie wykorzystujący prawdopodobieństwa dwumianowego) to: Salakhutdinov i Mnih, Bayesowskie probabilistyczne rozkładanie macierzy przy użyciu łańcucha Markowa Monte Carlo , ICML 2008. ( doi / autor pdf )nfaI j[ 0 , 1 ]solH.