A Divide and Conquer Algorithm for Exploiting Policy Function Monotonicity Grey Gordon and Shi Qiu Indiana University

ESWC August 21, 2015

Motivation

Policy function monotonicity obtains in many macro models: I

RBC model

I

Aiyagari (1994)

I

Default models

Sufficient condition: increasing continuation utility, concave period utility, and budget constraint that satisfies mild conditions. Our “binary monotonicity” exploits policy function monotonicity. For n states and n choices, no more than 5n + n log2 n objective function evaluations are needed.

Applications Fast algorithms exist for concave objective functions: I

Grid search (Heer and Maußner, 2005)

I

FOC exploitation (Carroll, 2006), others.

Some classes of models have non-concave objective functions. Discrete choice models (such as default models) are a prime example: the upper envelope of concave functions is typically not concave. Our method holds the most promise for these classes of models. Generalized EGM (Fella, 2014) is an alternative that works with FOCs. Our approach is more simple-minded. Also, the Arellano (2008) model we consider does not have FOCs (the budget constraint is non-differentiable).

Target Framework We consider problems of the form Π(i) =

max

i 0 ∈{1,...,n0 }

π(i, i 0 )

for i ∈ {1, . . . , n} with an associated optimal policy g (·). Our algorithm applies when g is monotone increasing. Example: Πy (i) =

max

log(−b 0 + b + y ) + log(b 0 ) {z }

i 0 ∈{1,...,#B} |

πy (i,i 0 )

where b = Bi , b 0 = Bi 0 . Feasibility will be discussed later.

Simple Monotonicity Here is the usual algorithm for exploiting monotonicity.

i’

Simple monotonicity (n=n’=20)

Policy (g) Search space i

Iterate i = 1, . . . , n, only check i 0 ∈ {g (i − 1), . . . , n0 }.

Binary Monotonicity With binary monotonicity, the i order is 1, n, n/2, n/4, 3n/4, ....

i’

Binary monotonicity (n=n’=20)

Policy (g) Search space i

E.g., for i = n/4, only check i 0 ∈ {g (1) . . . , g (n/2)}.

Comparison As n increases, binary monotonicity fares increasingly better. Binary monotonicity (n=n’=20)

i’

i’

Simple monotonicity (n=n’=20)

Policy (g) Search space

Simple monotonicity (n=n’=100)

Binary monotonicity (n=n’=100)

i’

i

i’

i

i

i

Algorithm (for n > 2)

1. Initialization: (a) Compute g (1) by searching over {1, . . . , n0 }. (b) Compute g (n) by searching over {g (1), . . . , n0 }. (c) Let i = 1 and i = n.

2. Given g (i), g (i), find g (i) for all i ∈ {i, . . . , i}: (a) If i = i + 1, STOP. (b) For m = b i+i 2 c, compute g (m) searching over {g (i), . . . , g (i)}. (c) Divide and conquer: Go to (2) twice, first computing the optimum for i ∈ {i, . . . , m} and second computing the optimum for i ∈ {m, . . . , i}. In the first case, redefine i := m; in the second case, redefine i := m.

Theoretical efficiency Efficiency measure: # of π(i, i 0 ) evaluations needed to solve for g . For states {1, . . . , n} and choices {1, . . . , n0 },

Brute Force Simple Monotonicity Binary Monotonicity

Worst Case Complexity nn0 nn0 (n0 − 1) log2 (n − 1) + 3n0 + 2n − 4

In particular, if n = n0 ,

Brute Force Simple Monotonicity Binary Monotonicity

Worst Case Complexity O(n2 ) O(n2 ) O(n log2 n)

Empirical efficiency

Test case: Arellano (2008). Endowment y , debt b, price of debt q(b 0 , y ). V (b, y ) = max{V d (y ), V nd (b, y )} V d (y ) = u(y d ) + βEy 0 |y [θV (0, y 0 ) + (1 − θ)V d (y 0 )] V nd (y ) = max u(c) + βEy 0 |y V (b 0 , y 0 ) s.t. c = y + b − q(b 0 , y )b 0 , c ≥ 0 0 b ∈B

The nontrivial part is V nd , which does not exactly fit the form of the problem we gave. This will be revisited shortly. We time how long this takes to converge for various sizes of B.

Efficiency Gain in Arellano (2008) Convergence Time (Minutes) 30

Binary Monotonicity Simple Monotonicity Brute Force

25

Minutes

20

15

10

5

0

100 500 1000

2500

5000

Grid Size (n)

10000

Efficiency Gain in Arellano (2008)

Grid size 100 500 1000 5000

Run Time (Minutes) None∗ Simple∗ Binary∗ 0.08∗ 0.03∗ 0.01∗ 1.90∗ 0.78∗ 0.03∗ ∗ ∗ 7.71 3.16 0.06∗ ∗ ∗ 192 78.6 0.36∗

Simple to Binary Time 6.1 26.7 51.4 220

Simple monotonicity improves about 50% on brute force. For common grid sizes (say between 100 and 500), binary improves on simple by a factor of 6-27. However, to come close to spline accuracy, need 5000+ grid points (Hatchondo, Martinez, Sapriza 2010). Note: no parallelization was used.

A More General Framework The simple framework we introduced, Π(i) =

max

i 0 ∈{1,...,n0 }

π(i, i 0 ),

does not fit many models because of feasibility. However, we prove it is equivalent (in a specific sense) to ˜ = max π Π(i) ˜ (i, i 0 ) i 0 ∈I 0 (i)

provided that I 0 is monotone increasing and that π(i, i 0 ) is bounded below by π with  if I 0 (i) 6= ∅ and i 0 ∈ I 0 (i)  π(i, i 0 ) 0 π if I 0 (i) 6= ∅ and i 0 ∈ / I 0 (i) . π ˜ (i, i ) :=  0 0 1[i = 1] if I (i) = ∅ Replacing u(c) with u(c + ) should change little quantitatively.

Assuming Concavity

What if the problem is concave (the objective function is single-peaked)? In this case, binary or simple monotonicity can be combined with techniques that exploit concavity. Fix some i, a, b. Solving maxi 0 ∈{a,...,b} π(i, i 0 ) can be done faster than checking every value: I

“Simple concavity”: iterate i 0 = a, . . . , b but stop when π(i, i 0 ) < π(i, i 0 − 1) (max is i 0 − 1).

I

“Binary concavity” (Heer and Maußner, 2005): compare b+a π(i, b+a 2 ) and π(i, 2 + 1), restrict search accordingly.

Theoretical result

The worst case complexity of binary concavity with binary monotonicity is 10n + 8n0 − 4 log2 (n0 − 1) − 32. For n = n0 , this is O(n) with a hidden constant of 18. We check the empirical performance using the RBC model.

Empirical O(n) Behavior Binary conc.-binary mono requires roughly 4 evaluations of π per i. Average # of Evaluations Divided by n 20

18

Simple Mono, Simple Conc Binary Mono, No Conc Binary Mono, Simple Conc Binary Mono, Binary Conc

16

Evaluations

14

12

10

8

6

4

2 1000

10000

100000

Grid Size (n)

Empirical O(n) Behavior But, simple conc.-simple mono only requires 3 evaluations! Average # of Evaluations Divided by n 20

18

Simple Mono, Simple Conc Binary Mono, No Conc Binary Mono, Simple Conc Binary Mono, Binary Conc

16

Evaluations

14

12

10

8

6

4

2 1000

10000

100000

Grid Size (n)

Empirical O(n) Behavior Here, usually g (i) = g (i − 1) + 1: Simple-simple only takes 3 evals. Average # of Evaluations Divided by n 20

18

Simple Mono, Simple Conc Binary Mono, No Conc Binary Mono, Simple Conc Binary Mono, Binary Conc

16

Evaluations

14

12

10

8

6

4

2 1000

10000

100000

Grid Size (n)

Empirical O(n) Behavior If the g were not close to linear, this might be different. Average # of Evaluations Divided by n 20

18

Simple Mono, Simple Conc Binary Mono, No Conc Binary Mono, Simple Conc Binary Mono, Binary Conc

16

Evaluations

14

12

10

8

6

4

2 1000

10000

100000

Grid Size (n)

Parallelization How to parallelize? Could parallelize by doing an “n-section” instead of a bisection. However, can also parallelize across states other than i. E.g., Πy (i) =

max

i 0 ∈{1,...,n0 }

πy (i, i 0 )

can be parallelized by distributing the y values. ! $omp parallel do default ( shared ) private ( iy ) do iy = 1 , ny call solvemax ( pi (: , iy ) ,g (: , iy ) ,...) end do ! $omp end parallel do

Code for algorithm on my website.

Conclusion

Binary monotonicity is a promising technique: I

Cost grows only at O(n log2 n).

I

Six times faster than best existing method for 100-point grid, 51 times faster for 1000-point grid.

I

With concavity, cost grows only linearly.

I

Can be parallelized.

Future research

Future research (some underway): I

Adapting the algorithm for continuous problems.

I

Exploiting monotonicity in more than one state variable.

I

Portfolio choice, esp. with Arrow security-like instruments.

I

Estimation of default models or other discrete choice models.

Sufficient Conditions for Weakly Monotone Policy Let u 0 > 0, u 00 < 0 and consider V (b) = max u(c) + W (b 0 ) s.t. c ≥ 0, c = c(b, b 0 ). 0 b ∈B

Let W be strictly increasing, and c be strictly increasing in b. If c(·, b10 ) − c(·, b20 ) is weakly decreasing for every b20 > b10 , every optimal policy is monotone increasing. This is satisfied if c(b, b 0 ) = f (b) + g (b 0 ) + m(b)n(b 0 ) for any f , g , m, n provided m, n are both increasing. Note: If W is only weakly increasing, then for every non-monotone optimal policy, there is an optimal policy that is monotone.

C. Arellano. Default risk and income fluctuations in emerging economies. American Economic Review, 98(3):690–712, 2008. C. D. Carroll. The method of endogenous gridpoints for solving dynamic stochastic optimization problems. Economic Letters, 91 (3):312–320, 2006. G. Fella. A generalized endogenous grid method for non-smooth and non-concave problems. Review of Economic Dynamics, 17 (2):329–344, 2014. B. Heer and A. Maußner. Dynamic General Equilibrium Modeling: Computational Methods and Applications. Springer, Berlin, Germany, 2005.

A Divide and Conquer Algorithm for Exploiting Policy ...

A Divide and Conquer Algorithm for Exploiting. Policy Function Monotonicity. Grey Gordon and Shi Qiu. Indiana University. ESWC. August 21, 2015. Page 2. Motivation. Policy function monotonicity obtains in many macro models: ▷ RBC model. ▷ Aiyagari (1994). ▷ Default models. Sufficient condition: increasing ...

459KB Sizes 2 Downloads 200 Views

Recommend Documents

A Divide and Conquer Algorithm for Exploiting Policy ...
Apr 10, 2017 - ... loss of generality. For instance, if one is using a cubic spline to represent the value function, one must obtain its values at the spline's knots. 3 ...

A Divide and Conquer Algorithm for Exploiting Policy ...
Jul 29, 2017 - The speedup of binary monotonicity relative to brute force also grows linearly but is around twice as large in levels. This latter fact reflects that ...

An Improved Divide-and-Conquer Algorithm for Finding ...
Zhao et al. [24] proved that the approximation ratio is. 2 − 3/k for an odd k and 2 − (3k − 4)/(k2 − k) for an even k, if we compute a k-way cut of the graph by iteratively finding and deleting minimum 3-way cuts in the graph. Xiao et al. [23

Divide and Conquer Strategies for MLP Training
Rutgers University, New Jersey 08854, USA. (email: ..... application of gradient descent using error backpropagation and tunneling in the ... becoming popular platforms for the development of parallel ..... Methods. New York: Academic, 1982.

Distributed divide-and-conquer techniques for ... - Research
the attack sources a hard problem. An ideal DDoS attack defense mechanism for the Internet, should not only enable immediate and precise identification of the ...

Distributed divide-and-conquer techniques for ... - Research
out-of-band messaging channel for the victim to detect packet audit trails. The use of .... sent the degree and attack sub-tree of router Ri respectively. Eqn. 7 then generalizes .... packet-level metrics (content signature, protocols/flags in use, e

Distributed divide-and-conquer techniques for ... - Research
We also evaluate the network traffic and storage overhead induced by our ... of scaling down the impact of the ongoing attacks in real-time ... [13] proposed probabilistic packet marking ..... variable-length prefix-free codes to symbols so as to.

A divide-and-conquer direct differentiation approach ... - Springer Link
Received: 29 October 2006 / Revised: 26 February 2007 / Accepted: 25 March 2007 / Published online: 18 July 2007 ... namics systems, sensitivity analysis is a critical tool for ...... Pre-multiplying (46) by (DJk )T and calling on the or-.

A divide-and-conquer direct differentiation approach ... - Springer Link
Jul 18, 2007 - sensitivity data in linear and logarithmic complexities for serial and parallel ... methods. These analytical methods have been used in ...

Distributed divide-and-conquer techniques for ... - Research at Google
1. Introduction. Denial-of-Service (DoS) attacks pose a significant threat to today's Internet. The first ... the entire network, exploiting the attack traffic convergence.

Frequent Pattern Mining Using Divide and Conquer ...
Abstract. The researchers invented ideas to generate the frequent itemsets. Time is most important measurement for all algorithms. Time is most efficient thing for ...

Divide-and-conquer: Approaching the capacity of the ...
Jan 18, 2010 - ... of Electrical Engineering, California Institute of Technology, ... an approximate characterization of the noisy wireless relay network problem ...

Divide and Conquer Dynamic Moral Hazard
slot machines to pull in a sequence of trials so as to maximize his total expected payoffs. This problem ..... With probability. 1−λp0, the agent fails and the game moves to period 1 with the agent's continuation value ..... principal's profit can

To Divide and Conquer Search Ranking by Learning ...
Nov 6, 2009 - chezhu, gawa, zhengc}. @microsoft.com. 3School of Computer. Science and Technology,. Tianjin University,. Tianjin, China. 300072. taowan.wtommy. @gmail.com ... search ranking based on query difficulty. To this end, we ... copies bear th

Frequent Pattern Mining Using Divide and Conquer ...
IJRIT International Journal of Research in Information Technology, Volume 1, Issue 4,April ... The implicit information within databases, mainly the interesting association ..... Computer Science, University of California at Irvine, CA, USA1998.

Fast Web Clustering Algorithm using Divide and ...
5 : Simulate adding d to c. 6: HR. ( ) ... Add d to c. 9: end if. 10: end for. 11: if (d was not added to any cluster) then. 12: Create a ... Basic theme of the algorithm is ...

Fast Web Clustering Algorithm using Divide and ...
Clustering is the unsupervised classification of patterns .... [3] A.K. Jain, M.N. Murty, P.J. Flynn, Data clustering: a review, ACM Computing. Surveys 31 (3) (1999) ...

A Clique Tree Algorithm Exploiting Context Specific ...
B.Sc., University of British Columbia, 2000. A THESIS SUBMITTED .... 3.5 The initial clique tree of Example Network #2 using the ve algorithm 21. 3.6 The ve-tree ...

pdf-1495\op-center-divide-and-conquer-by-tom-and ...
Try one of the apps below to open or edit this item. pdf-1495\op-center-divide-and-conquer-by-tom-and-pieczenik-steve-and-rovin-jeff-clancy.pdf.

ModCon algorithm for discovering security policy conflicts
They also analyse only firewall rules and use ... language to model and analyse general security policies. ...... IEEE Transactions on Software Engineering vol.

Divide and compromise
Apr 7, 2017 - Our implementation result is obtained in a domain of preferences that con- tains, but is not restricted to, quasi-linear preferences. As long as ...

Exploiting First-Order Regression in Inductive Policy ...
to-go value function for a given n, and can be used as in- put by any .... alised policy applying to an arbitrary object universe. Gen- eralised value ..... return success leaf. 7: end if. 8: φ ← good classifier in Fn for E. NULL if none exists. 9

Exploiting First-Order Regression in Inductive Policy ...
[Boutilier et al., 2001]. Requires theorem proving. Smart data structures ..... THEN act = load(b, t), val = 1714.75. ELSE. IF. ∃b∃t∃c (Box(b) ∧ T ruck(t) ∧ City(c) ...

the matching-minimization algorithm, the inca algorithm and a ...
trix and ID ∈ D×D the identity matrix. Note that the operator vec{·} is simply rearranging the parameters by stacking together the columns of the matrix. For voice ...