190 likes | 356 Views
Probability and Asset Updating Using Bayesian Networks for Combinatorial Prediction Markets. Wei Sun, Robin Hanson, Kathryn Laskey, Charles Twardy DAGGRE, George Mason University. Edit-Based Interface. How should users talk to a prediction market? There are many ways to specify a trade:
E N D
Probability and Asset Updating Using Bayesian Networks for Combinatorial Prediction Markets Wei Sun, Robin Hanson, Kathryn Laskey, Charles Twardy DAGGRE, George Mason University
Edit-Based Interface • How should users talk to a prediction market? • There are many ways to specify a trade: (First, specify assumptions, and a claim, then:) • Change in cash, or new cash amount • Change in cash win if claim true, or new amount • Change in cash lose if claim false, or new amount • Copy what another did, or undo what they did • Change in price/probability, or new probability? • Keeps user focused info: finding errors in consensus
Prediction Market Issues • Problem: What we know depends on context • Solution: Let tell relational, conditional info • Problem: Too many combos to store/update • Solution: Bayes nets store/update probs well • Problem: Also need store/update assets, expected assets, ensure assets not go negative • Solution: In Bayes net LMSR, ways to store/update/find-min for probs also does assets • Problem: Can’t update probs or assets exactly
Edit-Based Combo System Needs • User u chooses assumptions A, target event T • Find & show to user u (who has assets Su): • Current consensus p(T|A) • Now long/short? Via: Ep[Su|A&T]-Ep [Su|A¬T] • Limits [min,max] of new p’(T|A), to ensure Su ≥ 0 • User u aborts or picks a p’(T|A) in [min,max] • Update p to reflect p(T|A) -> p’(T|A) • Update assets Su to reflect bet that this helps • Periodically show how Ep[Su] varies with u If raise p win lose
Log Market Scoring Rule (LMSR) • Notation: • Variable Xi has value vi, N states x = <v1,v2,…> • px is current probability, Σxpx=1, px0 = 1/N • Sxu is cash user u wins in state x, initially = constant • If u edits px -> p’x , then S’xu =Sxu + b*log(p’x/px) • Disallow edit if S’xu < 0 for any x • Max gain of all users = b*log(N) • Problem: N gets HUGE with many variables
Clique Bayes/Markov Nets P(Clique | Rest of Net) = P(Clique | Its Separators) • Space, time linear in # cliques, exp. in their size • px = c pc(xc) / s ps (xs) lets update, find min Pennock & Xia (2011): to do LMSR via Bayes net • User always pays cash for “Pays $Z if A=a,B=b,…” • Prior purchases can’t pay for new trades • All A,B,… in purchase must be in same clique • Assume use Bayes Net way to calculate cash price • Not show if long/short (Ep[Su|win]-Ep[Su|lose]) Separator x = <vA,vB,vC, …> BL LE T BE E SBL BLE AT TLE XE DBE
Junction Tree Algorithm If fx = c f(C) / s f(S) … To exact update f To exact find min f 1. f(V) becomes f’(V) 1. f(V) becomes f’(V) S 2. f’(S) = min V\S f’(V) 2. f’(S) = V\S f’(V) V W 3. f’(W) = f(W) f’(S) / f(S) 3. f’(W) = f(W) f’(S) / f(S) 4. Do the rest of net 4. Do the rest of net 5 4 6 3 2 1 5. f’’(S) = min W\S f’(W) 5. f’’(S) = W\S f’(W) 6. f’’(V) = f’(V) f’’(S) / f’(S) 6. f’’(V) = f’(V) f’’(S) / f’(S)
Clique SBL Bayes/Markov Nets BL LE T AT TLE BLE BE E P(Clique | Rest of Net) = P(Clique | Its Separators) XE DBE Separator x = <xA,xB,xC, …> • px = c pc(xc) / s ps (xs) lets update p(x), find min • Our Approach:to do LMSR via Bayes net • Let qxu= exp(Sxu/b), so q’x/qx= p’x/px, qx0 = constant • qx= c qc(xc) / s qs (xs) lets update q(x), find min • Implies Sx= ΣcSc(xc)-ΣsSs(xs), S = Ep[S]= ΣcSc – ΣsSs • If edit p(T|A) -> p’(T|A), need T,A in same clique • p’ in [ p/min(x in A¬T)qx ,1-((1-p)/min(x in A&T)qx)]
System Needs Achieved! • User u chooses assumptions A, target event T • Find & show to user u (who has assets Su): • Current consensus p(T|A) • Now long/short? Via: Ep[Su|A&T]-Ep [Su|A¬T] • Edit limits [min,max] of p’(T|A), to ensure Su ≥ 0 • User u aborts or picks p’(T|A) in [min,max] • Update p to reflect p(T|A) -> p’(T|A) • Update assets Su to reflect bet that this helps • Periodically show how Ep[Su] varies with u If raise p win lose
Except …. • Many nets are not nearly trees • Exist approximations to update p • E.g., “loopy” propagation of JT update rule • Could users exploit predictable p errors? • Also need approximate updates to Su • Need only do qux’/qux= p’x/px for one clique, one u • But how figure p’ in [min,max] e.g., min(x in A&T)qx ? • New: can quick find approx-min guaranteed > min
An Asset Scenario C B AB BC User wants to raise p(A|B). Will gain “$x if A&B”, lose “$y if B¬A”. System must fast figure max feasible y can lose. 2. draw from separator x 1. use cash B B B y A A A cash cash cash C C C B B B
Asset Scenario Cont. C B AB BC now can lose up to y = 3 3. draw from neighbor cliques, separators B B B A A A cash cash cash C C C B B B
What If A Is Far from T? Then Edit Assume A3 • Option 1: Find nearest changes to ideal LMSR edit of P(T|A) that fit network constraints. • Option 2: Translate far assumptions A into local clique assumptions L, let user edit P(T|L). A2 A1 T L2 L1
Can Users Edit Links? • Add link => bigger cliques • Costs system more space/time to store/update • Allow if users willing to make big supporting edit? • Delete link => some old assets can’t be sold • Do if edit makes a conditional independence? • Additional cost to make a change • How do users show committed interest in change? BL LE T BE E SBL BLE AT TLE XE DBE
Summary • Bayes nets (B.N.) can efficiently store/update 1000s of interdependent variables • So can use to handle combo pred. mkt. probs • But what about asset store/update/find-min? • In LMSR, exp transform of assets has same product form as probs, so B.N. ways work too • Expected assets (sum prob*asset) works too • New approximations for non-tree asset min