-import numpy as np
-import pandas as pd
-import scipy.stats as st
-import scipy
-from statsmodels.nonparametric.kernel_regression import KernelReg
-from scipy.interpolate import UnivariateSpline
+import numpy as np
+import pandas as pd
+import scipy.stats as st
+import scipy
+from statsmodels.nonparametric.kernel_regression import KernelReg
+from scipy.interpolate import UnivariateSpline
+from scipy.linalg import lstsq
[docs]
-
class IOT :
+
class IOT :
"""
Constructor for the IOT class.
@@ -368,7 +369,7 @@
Source code for iot.inverse_optimal_tax
class instance: IOT
"""
- def __init__ (
+ def __init__ (
self ,
data ,
income_measure = "e00200" ,
@@ -417,7 +418,7 @@ Source code for iot.inverse_optimal_tax
[docs]
-
def df ( self ):
+
def df ( self ):
"""
Return all vector attributes in a DataFrame format
@@ -445,7 +446,7 @@
Source code for iot.inverse_optimal_tax
[docs]
-
def compute_mtr_dist (
+
def compute_mtr_dist (
self , data , weight_var , income_measure , mtr_smoother , mtr_smooth_param
):
"""
@@ -466,22 +467,23 @@
Source code for iot.inverse_optimal_tax
* mtr_prime (array_like): rate of change in marginal tax rates
for each income bin
"""
- bins = 1000 # number of equal-width bins
- data . loc [:, [ "z_bin" ]] = pd . cut (
- data [ income_measure ], bins , include_lowest = True
- )
- binned_data = pd . DataFrame (
- data [[ "mtr" , income_measure , "z_bin" , weight_var ]]
- . groupby ([ "z_bin" ], observed = False )
- . apply ( lambda x : wm ( x [[ "mtr" , income_measure ]], x [ weight_var ]))
- )
- # make column 0 into two columns
- binned_data [[ "mtr" , income_measure ]] = pd . DataFrame (
- binned_data [ 0 ] . tolist (), index = binned_data . index
- )
- binned_data . drop ( columns = 0 , inplace = True )
- binned_data . reset_index ( inplace = True )
+
if mtr_smoother == "kreg" :
+ bins = 1000 # number of equal-width bins
+ data . loc [:, [ "z_bin" ]] = pd . cut (
+ data [ income_measure ], bins , include_lowest = True
+ )
+ binned_data = pd . DataFrame (
+ data [[ "mtr" , income_measure , "z_bin" , weight_var ]]
+ . groupby ([ "z_bin" ], observed = False )
+ . apply ( lambda x : wm ( x [[ "mtr" , income_measure ]], x [ weight_var ]))
+ )
+ # make column 0 into two columns
+ binned_data [[ "mtr" , income_measure ]] = pd . DataFrame (
+ binned_data [ 0 ] . tolist (), index = binned_data . index
+ )
+ binned_data . drop ( columns = 0 , inplace = True )
+ binned_data . reset_index ( inplace = True )
mtr_function = KernelReg (
binned_data [ "mtr" ] . dropna (),
binned_data [ income_measure ] . dropna (),
@@ -489,17 +491,32 @@ Source code for iot.inverse_optimal_tax
reg_type = "ll" ,
)
mtr , _ = mtr_function . fit ( self . z )
+ mtr_prime = np . gradient ( mtr , edge_order = 2 )
+ elif mtr_smoother == "HSV" :
+ # estimate the HSV function on mtrs via weighted least squares
+ X = np . log ( data [ income_measure ] . values )
+ X = np . column_stack (( np . ones ( len ( X )), X ))
+ w = np . array ( data [ weight_var ] . values )
+ w_sqrt = np . sqrt ( w )
+ y = np . log ( 1 - data [ "mtr" ] . values )
+ X_weighted = X * w_sqrt [:, np . newaxis ]
+ y_weighted = y * w_sqrt
+ coef , _ , _ , _ = lstsq ( X_weighted , y_weighted )
+ tau = - coef [ 1 ]
+ lambda_param = np . exp ( coef [ 0 ]) / ( 1 - tau )
+ mtr = 1 - lambda_param * ( 1 - tau ) * self . z ** ( - tau )
+ mtr_prime = lambda_param * tau * ( 1 - tau ) * self . z ** ( - tau - 1 )
else :
print ( "Please enter a value mtr_smoother method" )
assert False
- mtr_prime = np . gradient ( mtr , edge_order = 2 )
+
return mtr , mtr_prime
[docs]
-
def compute_income_dist (
+
def compute_income_dist (
self , data , income_measure , weight_var , dist_type , kde_bw = None
):
"""
@@ -579,7 +596,7 @@
Source code for iot.inverse_optimal_tax
f_prime = np . gradient ( f , edge_order = 2 )
elif dist_type == "Pln" :
- def pln_pdf ( y , mu , sigma , alpha ):
+ def pln_pdf ( y , mu , sigma , alpha ):
x1 = alpha * sigma - ( np . log ( y ) - mu ) / sigma
phi = st . norm . pdf (( np . log ( y ) - mu ) / sigma )
R = ( 1 - st . norm . cdf ( x1 )) / ( st . norm . pdf ( x1 ) + 1e-15 )
@@ -587,7 +604,7 @@ Source code for iot.inverse_optimal_tax
pdf = alpha / y * phi * R
return pdf
- def neg_weighted_log_likelihood ( params , data , weights ):
+ def neg_weighted_log_likelihood ( params , data , weights ):
mu , sigma , alpha = params
likelihood = np . sum (
weights * np . log ( pln_pdf ( data , mu , sigma , alpha ) + 1e-15 )
@@ -595,7 +612,7 @@ Source code for iot.inverse_optimal_tax
# 1e-15 to avoid log(0)
return - likelihood
- def fit_pln ( data , weights , initial_guess ):
+ def fit_pln ( data , weights , initial_guess ):
bounds = [( None , None ), ( 0.01 , None ), ( 0.01 , None )]
result = scipy . optimize . minimize (
neg_weighted_log_likelihood ,
@@ -623,7 +640,7 @@ Source code for iot.inverse_optimal_tax
data [ income_measure ], data [ weight_var ], initial_guess
)
- def pln_cdf ( y , mu , sigma , alpha ):
+ def pln_cdf ( y , mu , sigma , alpha ):
x1 = alpha * sigma - ( np . log ( y ) - mu ) / sigma
R = ( 1 - st . norm . cdf ( x1 )) / ( st . norm . pdf ( x1 ) + 1e-12 )
CDF = (
@@ -632,7 +649,7 @@ Source code for iot.inverse_optimal_tax
)
return CDF
- def pln_dpdf ( y , mu , sigma , alpha ):
+ def pln_dpdf ( y , mu , sigma , alpha ):
x = ( np . log ( y ) - mu ) / sigma
R = ( 1 - st . norm . cdf ( alpha * sigma - x )) / (
st . norm . pdf ( alpha * sigma - x ) + 1e-15
@@ -658,7 +675,7 @@ Source code for iot.inverse_optimal_tax
[docs]
-
def sw_weights ( self ):
+
def sw_weights ( self ):
r """
Returns the social welfare weights for a given tax policy.
@@ -681,26 +698,28 @@
Source code for iot.inverse_optimal_tax
+ (( self . theta_z * self . eti * self . mtr ) / ( 1 - self . mtr ))
+ (( self . eti * self . z * self . mtr_prime ) / ( 1 - self . mtr ) ** 2 )
)
- integral = np . trapz ( g_z , self . z )
- # g_z = g_z / integral
+ integral = np . trapz ( g_z * self . f , self . z )
+ g_z = g_z / integral
+
# use Lockwood and Weinzierl formula, which should be equivalent but using numerical differentiation
bracket_term = (
1
- self . F
- ( self . mtr / ( 1 - self . mtr )) * self . eti * self . z * self . f
)
- # d_dz_bracket = np.gradient(bracket_term, edge_order=2)
- d_dz_bracket = np . diff ( bracket_term ) / np . diff ( self . z )
- d_dz_bracket = np . append ( d_dz_bracket , d_dz_bracket [ - 1 ])
+ d_dz_bracket = np . gradient ( bracket_term , edge_order = 2 )
+ # d_dz_bracket = np.diff(bracket_term) / np.diff(self.z)
+ # d_dz_bracket = np.append(d_dz_bracket, d_dz_bracket[-1])
g_z_numerical = - ( 1 / self . f ) * d_dz_bracket
- integral = np . trapz ( g_z_numerical , self . z )
- # g_z_numerical = g_z_numerical / integral
+ integral = np . trapz ( g_z_numerical * self . f , self . z )
+ g_z_numerical = g_z_numerical / integral
+
return g_z , g_z_numerical
-def find_eti ( iot1 , iot2 , g_z_type = "g_z" ):
+def find_eti ( iot1 , iot2 , g_z_type = "g_z" ):
"""
This function solves for the ETI that would result in the
policy represented via MTRs in iot2 be consistent with the
@@ -737,7 +756,7 @@ Source code for iot.inverse_optimal_tax
return eti_beliefs_lw , eti_beliefs_jjz
-def wm ( value , weight ):
+def wm ( value , weight ):
"""
Weighted mean function that allows for zero division
diff --git a/_static/pygments.css b/_static/pygments.css
index 012e6a0..d7dd577 100644
--- a/_static/pygments.css
+++ b/_static/pygments.css
@@ -6,11 +6,11 @@ html[data-theme="light"] .highlight span.linenos.special { color: #000000; backg
html[data-theme="light"] .highlight .hll { background-color: #fae4c2 }
html[data-theme="light"] .highlight { background: #fefefe; color: #080808 }
html[data-theme="light"] .highlight .c { color: #515151 } /* Comment */
-html[data-theme="light"] .highlight .err { color: #a12236 } /* Error */
-html[data-theme="light"] .highlight .k { color: #6730c5 } /* Keyword */
-html[data-theme="light"] .highlight .l { color: #7f4707 } /* Literal */
+html[data-theme="light"] .highlight .err { color: #A12236 } /* Error */
+html[data-theme="light"] .highlight .k { color: #6730C5 } /* Keyword */
+html[data-theme="light"] .highlight .l { color: #7F4707 } /* Literal */
html[data-theme="light"] .highlight .n { color: #080808 } /* Name */
-html[data-theme="light"] .highlight .o { color: #00622f } /* Operator */
+html[data-theme="light"] .highlight .o { color: #00622F } /* Operator */
html[data-theme="light"] .highlight .p { color: #080808 } /* Punctuation */
html[data-theme="light"] .highlight .ch { color: #515151 } /* Comment.Hashbang */
html[data-theme="light"] .highlight .cm { color: #515151 } /* Comment.Multiline */
@@ -18,135 +18,135 @@ html[data-theme="light"] .highlight .cp { color: #515151 } /* Comment.Preproc */
html[data-theme="light"] .highlight .cpf { color: #515151 } /* Comment.PreprocFile */
html[data-theme="light"] .highlight .c1 { color: #515151 } /* Comment.Single */
html[data-theme="light"] .highlight .cs { color: #515151 } /* Comment.Special */
-html[data-theme="light"] .highlight .gd { color: #005b82 } /* Generic.Deleted */
+html[data-theme="light"] .highlight .gd { color: #005B82 } /* Generic.Deleted */
html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */
-html[data-theme="light"] .highlight .gh { color: #005b82 } /* Generic.Heading */
+html[data-theme="light"] .highlight .gh { color: #005B82 } /* Generic.Heading */
html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */
-html[data-theme="light"] .highlight .gu { color: #005b82 } /* Generic.Subheading */
-html[data-theme="light"] .highlight .kc { color: #6730c5 } /* Keyword.Constant */
-html[data-theme="light"] .highlight .kd { color: #6730c5 } /* Keyword.Declaration */
-html[data-theme="light"] .highlight .kn { color: #6730c5 } /* Keyword.Namespace */
-html[data-theme="light"] .highlight .kp { color: #6730c5 } /* Keyword.Pseudo */
-html[data-theme="light"] .highlight .kr { color: #6730c5 } /* Keyword.Reserved */
-html[data-theme="light"] .highlight .kt { color: #7f4707 } /* Keyword.Type */
-html[data-theme="light"] .highlight .ld { color: #7f4707 } /* Literal.Date */
-html[data-theme="light"] .highlight .m { color: #7f4707 } /* Literal.Number */
-html[data-theme="light"] .highlight .s { color: #00622f } /* Literal.String */
+html[data-theme="light"] .highlight .gu { color: #005B82 } /* Generic.Subheading */
+html[data-theme="light"] .highlight .kc { color: #6730C5 } /* Keyword.Constant */
+html[data-theme="light"] .highlight .kd { color: #6730C5 } /* Keyword.Declaration */
+html[data-theme="light"] .highlight .kn { color: #6730C5 } /* Keyword.Namespace */
+html[data-theme="light"] .highlight .kp { color: #6730C5 } /* Keyword.Pseudo */
+html[data-theme="light"] .highlight .kr { color: #6730C5 } /* Keyword.Reserved */
+html[data-theme="light"] .highlight .kt { color: #7F4707 } /* Keyword.Type */
+html[data-theme="light"] .highlight .ld { color: #7F4707 } /* Literal.Date */
+html[data-theme="light"] .highlight .m { color: #7F4707 } /* Literal.Number */
+html[data-theme="light"] .highlight .s { color: #00622F } /* Literal.String */
html[data-theme="light"] .highlight .na { color: #912583 } /* Name.Attribute */
-html[data-theme="light"] .highlight .nb { color: #7f4707 } /* Name.Builtin */
-html[data-theme="light"] .highlight .nc { color: #005b82 } /* Name.Class */
-html[data-theme="light"] .highlight .no { color: #005b82 } /* Name.Constant */
-html[data-theme="light"] .highlight .nd { color: #7f4707 } /* Name.Decorator */
-html[data-theme="light"] .highlight .ni { color: #00622f } /* Name.Entity */
-html[data-theme="light"] .highlight .ne { color: #6730c5 } /* Name.Exception */
-html[data-theme="light"] .highlight .nf { color: #005b82 } /* Name.Function */
-html[data-theme="light"] .highlight .nl { color: #7f4707 } /* Name.Label */
+html[data-theme="light"] .highlight .nb { color: #7F4707 } /* Name.Builtin */
+html[data-theme="light"] .highlight .nc { color: #005B82 } /* Name.Class */
+html[data-theme="light"] .highlight .no { color: #005B82 } /* Name.Constant */
+html[data-theme="light"] .highlight .nd { color: #7F4707 } /* Name.Decorator */
+html[data-theme="light"] .highlight .ni { color: #00622F } /* Name.Entity */
+html[data-theme="light"] .highlight .ne { color: #6730C5 } /* Name.Exception */
+html[data-theme="light"] .highlight .nf { color: #005B82 } /* Name.Function */
+html[data-theme="light"] .highlight .nl { color: #7F4707 } /* Name.Label */
html[data-theme="light"] .highlight .nn { color: #080808 } /* Name.Namespace */
html[data-theme="light"] .highlight .nx { color: #080808 } /* Name.Other */
-html[data-theme="light"] .highlight .py { color: #005b82 } /* Name.Property */
-html[data-theme="light"] .highlight .nt { color: #005b82 } /* Name.Tag */
-html[data-theme="light"] .highlight .nv { color: #a12236 } /* Name.Variable */
-html[data-theme="light"] .highlight .ow { color: #6730c5 } /* Operator.Word */
+html[data-theme="light"] .highlight .py { color: #005B82 } /* Name.Property */
+html[data-theme="light"] .highlight .nt { color: #005B82 } /* Name.Tag */
+html[data-theme="light"] .highlight .nv { color: #A12236 } /* Name.Variable */
+html[data-theme="light"] .highlight .ow { color: #6730C5 } /* Operator.Word */
html[data-theme="light"] .highlight .pm { color: #080808 } /* Punctuation.Marker */
html[data-theme="light"] .highlight .w { color: #080808 } /* Text.Whitespace */
-html[data-theme="light"] .highlight .mb { color: #7f4707 } /* Literal.Number.Bin */
-html[data-theme="light"] .highlight .mf { color: #7f4707 } /* Literal.Number.Float */
-html[data-theme="light"] .highlight .mh { color: #7f4707 } /* Literal.Number.Hex */
-html[data-theme="light"] .highlight .mi { color: #7f4707 } /* Literal.Number.Integer */
-html[data-theme="light"] .highlight .mo { color: #7f4707 } /* Literal.Number.Oct */
-html[data-theme="light"] .highlight .sa { color: #00622f } /* Literal.String.Affix */
-html[data-theme="light"] .highlight .sb { color: #00622f } /* Literal.String.Backtick */
-html[data-theme="light"] .highlight .sc { color: #00622f } /* Literal.String.Char */
-html[data-theme="light"] .highlight .dl { color: #00622f } /* Literal.String.Delimiter */
-html[data-theme="light"] .highlight .sd { color: #00622f } /* Literal.String.Doc */
-html[data-theme="light"] .highlight .s2 { color: #00622f } /* Literal.String.Double */
-html[data-theme="light"] .highlight .se { color: #00622f } /* Literal.String.Escape */
-html[data-theme="light"] .highlight .sh { color: #00622f } /* Literal.String.Heredoc */
-html[data-theme="light"] .highlight .si { color: #00622f } /* Literal.String.Interpol */
-html[data-theme="light"] .highlight .sx { color: #00622f } /* Literal.String.Other */
-html[data-theme="light"] .highlight .sr { color: #a12236 } /* Literal.String.Regex */
-html[data-theme="light"] .highlight .s1 { color: #00622f } /* Literal.String.Single */
-html[data-theme="light"] .highlight .ss { color: #005b82 } /* Literal.String.Symbol */
-html[data-theme="light"] .highlight .bp { color: #7f4707 } /* Name.Builtin.Pseudo */
-html[data-theme="light"] .highlight .fm { color: #005b82 } /* Name.Function.Magic */
-html[data-theme="light"] .highlight .vc { color: #a12236 } /* Name.Variable.Class */
-html[data-theme="light"] .highlight .vg { color: #a12236 } /* Name.Variable.Global */
-html[data-theme="light"] .highlight .vi { color: #a12236 } /* Name.Variable.Instance */
-html[data-theme="light"] .highlight .vm { color: #7f4707 } /* Name.Variable.Magic */
-html[data-theme="light"] .highlight .il { color: #7f4707 } /* Literal.Number.Integer.Long */
+html[data-theme="light"] .highlight .mb { color: #7F4707 } /* Literal.Number.Bin */
+html[data-theme="light"] .highlight .mf { color: #7F4707 } /* Literal.Number.Float */
+html[data-theme="light"] .highlight .mh { color: #7F4707 } /* Literal.Number.Hex */
+html[data-theme="light"] .highlight .mi { color: #7F4707 } /* Literal.Number.Integer */
+html[data-theme="light"] .highlight .mo { color: #7F4707 } /* Literal.Number.Oct */
+html[data-theme="light"] .highlight .sa { color: #00622F } /* Literal.String.Affix */
+html[data-theme="light"] .highlight .sb { color: #00622F } /* Literal.String.Backtick */
+html[data-theme="light"] .highlight .sc { color: #00622F } /* Literal.String.Char */
+html[data-theme="light"] .highlight .dl { color: #00622F } /* Literal.String.Delimiter */
+html[data-theme="light"] .highlight .sd { color: #00622F } /* Literal.String.Doc */
+html[data-theme="light"] .highlight .s2 { color: #00622F } /* Literal.String.Double */
+html[data-theme="light"] .highlight .se { color: #00622F } /* Literal.String.Escape */
+html[data-theme="light"] .highlight .sh { color: #00622F } /* Literal.String.Heredoc */
+html[data-theme="light"] .highlight .si { color: #00622F } /* Literal.String.Interpol */
+html[data-theme="light"] .highlight .sx { color: #00622F } /* Literal.String.Other */
+html[data-theme="light"] .highlight .sr { color: #A12236 } /* Literal.String.Regex */
+html[data-theme="light"] .highlight .s1 { color: #00622F } /* Literal.String.Single */
+html[data-theme="light"] .highlight .ss { color: #005B82 } /* Literal.String.Symbol */
+html[data-theme="light"] .highlight .bp { color: #7F4707 } /* Name.Builtin.Pseudo */
+html[data-theme="light"] .highlight .fm { color: #005B82 } /* Name.Function.Magic */
+html[data-theme="light"] .highlight .vc { color: #A12236 } /* Name.Variable.Class */
+html[data-theme="light"] .highlight .vg { color: #A12236 } /* Name.Variable.Global */
+html[data-theme="light"] .highlight .vi { color: #A12236 } /* Name.Variable.Instance */
+html[data-theme="light"] .highlight .vm { color: #7F4707 } /* Name.Variable.Magic */
+html[data-theme="light"] .highlight .il { color: #7F4707 } /* Literal.Number.Integer.Long */
html[data-theme="dark"] .highlight pre { line-height: 125%; }
html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e }
-html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 }
-html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */
-html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */
-html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */
-html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */
-html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */
-html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */
-html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */
-html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */
-html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */
-html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */
-html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */
-html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */
-html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */
-html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */
+html[data-theme="dark"] .highlight { background: #2b2b2b; color: #F8F8F2 }
+html[data-theme="dark"] .highlight .c { color: #FFD900 } /* Comment */
+html[data-theme="dark"] .highlight .err { color: #FFA07A } /* Error */
+html[data-theme="dark"] .highlight .k { color: #DCC6E0 } /* Keyword */
+html[data-theme="dark"] .highlight .l { color: #FFD900 } /* Literal */
+html[data-theme="dark"] .highlight .n { color: #F8F8F2 } /* Name */
+html[data-theme="dark"] .highlight .o { color: #ABE338 } /* Operator */
+html[data-theme="dark"] .highlight .p { color: #F8F8F2 } /* Punctuation */
+html[data-theme="dark"] .highlight .ch { color: #FFD900 } /* Comment.Hashbang */
+html[data-theme="dark"] .highlight .cm { color: #FFD900 } /* Comment.Multiline */
+html[data-theme="dark"] .highlight .cp { color: #FFD900 } /* Comment.Preproc */
+html[data-theme="dark"] .highlight .cpf { color: #FFD900 } /* Comment.PreprocFile */
+html[data-theme="dark"] .highlight .c1 { color: #FFD900 } /* Comment.Single */
+html[data-theme="dark"] .highlight .cs { color: #FFD900 } /* Comment.Special */
+html[data-theme="dark"] .highlight .gd { color: #00E0E0 } /* Generic.Deleted */
html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */
-html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */
+html[data-theme="dark"] .highlight .gh { color: #00E0E0 } /* Generic.Heading */
html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */
-html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */
-html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */
-html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */
-html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */
-html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */
-html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */
-html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */
-html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */
-html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */
-html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */
-html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */
-html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */
-html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */
-html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */
-html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */
-html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */
-html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */
-html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */
-html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */
-html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */
-html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */
-html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */
-html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */
-html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */
-html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */
-html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */
-html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */
-html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */
-html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */
-html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */
-html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */
-html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */
-html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */
-html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */
-html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */
-html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */
-html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */
-html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */
-html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */
-html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */
-html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */
-html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */
-html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */
-html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */
-html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */
-html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */
-html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */
-html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */
-html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */
-html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */
-html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */
-html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */
\ No newline at end of file
+html[data-theme="dark"] .highlight .gu { color: #00E0E0 } /* Generic.Subheading */
+html[data-theme="dark"] .highlight .kc { color: #DCC6E0 } /* Keyword.Constant */
+html[data-theme="dark"] .highlight .kd { color: #DCC6E0 } /* Keyword.Declaration */
+html[data-theme="dark"] .highlight .kn { color: #DCC6E0 } /* Keyword.Namespace */
+html[data-theme="dark"] .highlight .kp { color: #DCC6E0 } /* Keyword.Pseudo */
+html[data-theme="dark"] .highlight .kr { color: #DCC6E0 } /* Keyword.Reserved */
+html[data-theme="dark"] .highlight .kt { color: #FFD900 } /* Keyword.Type */
+html[data-theme="dark"] .highlight .ld { color: #FFD900 } /* Literal.Date */
+html[data-theme="dark"] .highlight .m { color: #FFD900 } /* Literal.Number */
+html[data-theme="dark"] .highlight .s { color: #ABE338 } /* Literal.String */
+html[data-theme="dark"] .highlight .na { color: #FFD900 } /* Name.Attribute */
+html[data-theme="dark"] .highlight .nb { color: #FFD900 } /* Name.Builtin */
+html[data-theme="dark"] .highlight .nc { color: #00E0E0 } /* Name.Class */
+html[data-theme="dark"] .highlight .no { color: #00E0E0 } /* Name.Constant */
+html[data-theme="dark"] .highlight .nd { color: #FFD900 } /* Name.Decorator */
+html[data-theme="dark"] .highlight .ni { color: #ABE338 } /* Name.Entity */
+html[data-theme="dark"] .highlight .ne { color: #DCC6E0 } /* Name.Exception */
+html[data-theme="dark"] .highlight .nf { color: #00E0E0 } /* Name.Function */
+html[data-theme="dark"] .highlight .nl { color: #FFD900 } /* Name.Label */
+html[data-theme="dark"] .highlight .nn { color: #F8F8F2 } /* Name.Namespace */
+html[data-theme="dark"] .highlight .nx { color: #F8F8F2 } /* Name.Other */
+html[data-theme="dark"] .highlight .py { color: #00E0E0 } /* Name.Property */
+html[data-theme="dark"] .highlight .nt { color: #00E0E0 } /* Name.Tag */
+html[data-theme="dark"] .highlight .nv { color: #FFA07A } /* Name.Variable */
+html[data-theme="dark"] .highlight .ow { color: #DCC6E0 } /* Operator.Word */
+html[data-theme="dark"] .highlight .pm { color: #F8F8F2 } /* Punctuation.Marker */
+html[data-theme="dark"] .highlight .w { color: #F8F8F2 } /* Text.Whitespace */
+html[data-theme="dark"] .highlight .mb { color: #FFD900 } /* Literal.Number.Bin */
+html[data-theme="dark"] .highlight .mf { color: #FFD900 } /* Literal.Number.Float */
+html[data-theme="dark"] .highlight .mh { color: #FFD900 } /* Literal.Number.Hex */
+html[data-theme="dark"] .highlight .mi { color: #FFD900 } /* Literal.Number.Integer */
+html[data-theme="dark"] .highlight .mo { color: #FFD900 } /* Literal.Number.Oct */
+html[data-theme="dark"] .highlight .sa { color: #ABE338 } /* Literal.String.Affix */
+html[data-theme="dark"] .highlight .sb { color: #ABE338 } /* Literal.String.Backtick */
+html[data-theme="dark"] .highlight .sc { color: #ABE338 } /* Literal.String.Char */
+html[data-theme="dark"] .highlight .dl { color: #ABE338 } /* Literal.String.Delimiter */
+html[data-theme="dark"] .highlight .sd { color: #ABE338 } /* Literal.String.Doc */
+html[data-theme="dark"] .highlight .s2 { color: #ABE338 } /* Literal.String.Double */
+html[data-theme="dark"] .highlight .se { color: #ABE338 } /* Literal.String.Escape */
+html[data-theme="dark"] .highlight .sh { color: #ABE338 } /* Literal.String.Heredoc */
+html[data-theme="dark"] .highlight .si { color: #ABE338 } /* Literal.String.Interpol */
+html[data-theme="dark"] .highlight .sx { color: #ABE338 } /* Literal.String.Other */
+html[data-theme="dark"] .highlight .sr { color: #FFA07A } /* Literal.String.Regex */
+html[data-theme="dark"] .highlight .s1 { color: #ABE338 } /* Literal.String.Single */
+html[data-theme="dark"] .highlight .ss { color: #00E0E0 } /* Literal.String.Symbol */
+html[data-theme="dark"] .highlight .bp { color: #FFD900 } /* Name.Builtin.Pseudo */
+html[data-theme="dark"] .highlight .fm { color: #00E0E0 } /* Name.Function.Magic */
+html[data-theme="dark"] .highlight .vc { color: #FFA07A } /* Name.Variable.Class */
+html[data-theme="dark"] .highlight .vg { color: #FFA07A } /* Name.Variable.Global */
+html[data-theme="dark"] .highlight .vi { color: #FFA07A } /* Name.Variable.Instance */
+html[data-theme="dark"] .highlight .vm { color: #FFD900 } /* Name.Variable.Magic */
+html[data-theme="dark"] .highlight .il { color: #FFD900 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/content/api/inverse_optimal_tax.html b/content/api/inverse_optimal_tax.html
index 358026d..0ff8625 100644
--- a/content/api/inverse_optimal_tax.html
+++ b/content/api/inverse_optimal_tax.html
@@ -30,7 +30,7 @@
-
+
diff --git a/content/api/public_api.html b/content/api/public_api.html
index 2e81dbc..e7e39c8 100644
--- a/content/api/public_api.html
+++ b/content/api/public_api.html
@@ -30,7 +30,7 @@
-
+
diff --git a/content/example/IOT_example.html b/content/example/IOT_example.html
index 874154d..a35374e 100644
--- a/content/example/IOT_example.html
+++ b/content/example/IOT_example.html
@@ -30,7 +30,7 @@
-
+
@@ -435,15 +435,15 @@ Step 1: Import the
-
/tmp/ipykernel_2023/995651565.py:3: DeprecationWarning: Importing display from IPython.core.display is deprecated since IPython 7.14, please import from IPython.display
+ /tmp/ipykernel_1959/995651565.py:3: DeprecationWarning: Importing display from IPython.core.display is deprecated since IPython 7.14, please import from IPython.display
from IPython.core.display import display, HTML
diff --git a/content/intro/contributing.html b/content/intro/contributing.html
index 44051dd..074aa01 100644
--- a/content/intro/contributing.html
+++ b/content/intro/contributing.html
@@ -30,7 +30,7 @@
-
+
diff --git a/content/intro/intro.html b/content/intro/intro.html
index 95d9987..90dc83c 100644
--- a/content/intro/intro.html
+++ b/content/intro/intro.html
@@ -30,7 +30,7 @@
-
+
diff --git a/content/intro/parameters.html b/content/intro/parameters.html
index 00450e8..6d337c5 100644
--- a/content/intro/parameters.html
+++ b/content/intro/parameters.html
@@ -30,7 +30,7 @@
-
+
diff --git a/content/references.html b/content/references.html
index 4b963ef..404f05d 100644
--- a/content/references.html
+++ b/content/references.html
@@ -30,7 +30,7 @@
-
+
diff --git a/genindex.html b/genindex.html
index 07c13d4..3ef443e 100644
--- a/genindex.html
+++ b/genindex.html
@@ -29,7 +29,7 @@
-
+
diff --git a/search.html b/search.html
index ab40871..218479f 100644
--- a/search.html
+++ b/search.html
@@ -28,7 +28,7 @@
-
+
diff --git a/searchindex.js b/searchindex.js
index 10b471a..4e557a6 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"API": [[1, null]], "Accessing the results of the model": [[2, "accessing-the-results-of-the-model"]], "Citing InverseOptimalTax": [[4, "citing-inverseoptimaltax"]], "Code formatting": [[3, "code-formatting"]], "Coding Practices": [[3, "coding-practices"]], "Contributor Guide": [[3, null]], "Core Maintainers": [[4, "core-maintainers"]], "Disclaimer": [[4, "disclaimer"]], "Footnotes": [[3, "footnotes"]], "Inverse Optimal Tax Class Object": [[0, null]], "Inverse Optimal Tax Example": [[2, null]], "InverseOptimalTax": [[4, null]], "Parameters": [[5, null]], "Plotting inputs to the calculation": [[2, "plotting-inputs-to-the-calculation"]], "Python Docstrings": [[3, "python-docstrings"]], "References": [[6, null]], "Setup Git": [[3, "setup-git"]], "Setup Python": [[3, "setup-python"]], "Step 1: Import the iot_comparison class object": [[2, "step-1-import-the-iot-comparison-class-object"]], "Step 2: Instantiate an iot_comparison class object": [[2, "step-2-instantiate-an-iot-comparison-class-object"]], "Submitting a GitHub Issue": [[3, "submitting-a-github-issue"]], "Submitting a GitHub Pull Request": [[3, "submitting-a-github-pull-request"]], "Visualizing results": [[2, "visualizing-results"]], "Workflow": [[3, "workflow"]], "iot.inverse_optimal_tax": [[0, "iot-inverse-optimal-tax"]]}, "docnames": ["content/api/inverse_optimal_tax", "content/api/public_api", "content/example/IOT_example", "content/intro/contributing", "content/intro/intro", "content/intro/parameters", "content/references"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["content/api/inverse_optimal_tax.rst", "content/api/public_api.rst", "content/example/IOT_example.ipynb", "content/intro/contributing.md", "content/intro/intro.md", "content/intro/parameters.md", "content/references.md"], "indexentries": {"compute_income_dist() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.compute_income_dist", false]], "compute_mtr_dist() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.compute_mtr_dist", false]], "df() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.df", false]], "iot (class in iot.inverse_optimal_tax)": [[0, "iot.inverse_optimal_tax.IOT", false]], "sw_weights() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.sw_weights", false]]}, "objects": {"iot.inverse_optimal_tax": [[0, 0, 1, "", "IOT"]], "iot.inverse_optimal_tax.IOT": [[0, 1, 1, "", "compute_income_dist"], [0, 1, 1, "", "compute_mtr_dist"], [0, 1, 1, "", "df"], [0, 1, 1, "", "sw_weights"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"]}, "objtypes": {"0": "py:class", "1": "py:method"}, "terms": {"": [2, 3, 6], "0": [0, 2, 4], "000": 2, "00000": 2, "000000": 2, "000017": 2, "00009": 2, "00018": 2, "00027": 2, "00036": 2, "00521702": 2, "005446": 2, "00560577": 2, "0057706": 2, "00591634": 2, "00607098": 2, "00622675": 2, "00637578": 2, "00651968": 2, "00667111": 2, "007470": 2, "019751": 2, "044039e": 2, "07": 2, "08": [2, 6], "09": 2, "097206e": 2, "1": [0, 3, 5], "10": [2, 5, 6], "100": 6, "100000": 2, "1000000": 2, "1016": 6, "103262": 2, "11": 2, "111576": 2, "111583": 2, "111589": 2, "111596": 2, "111603": 2, "111951e": 2, "111986e": 2, "112020e": 2, "112055e": 2, "112090e": 2, "116": 2, "117": 2, "118": 2, "119": 2, "12": 2, "120": 2, "121": 2, "124440e": 2, "14": 2, "156": 6, "16": 2, "17": 2, "2": [0, 3, 5], "200": 2, "2014": [5, 6], "2015": 6, "2016": [0, 5, 6], "2017": [0, 2, 5, 6], "2017_law": 2, "2020": 2, "2021": 2, "2023": 2, "20351": 6, "207234": 2, "207251": 2, "207268": 2, "207286": 2, "207303": 2, "21": 2, "24": 3, "247817": 2, "25": [0, 3], "262466e": 2, "298756": 2, "3": [0, 2, 3], "30": 6, "31": 2, "310736": 2, "327460": 2, "332161": 2, "333851": 2, "333853": 2, "333855": 2, "333857": 2, "333859": 2, "333861": 2, "333863": 2, "348657e": 2, "350": 2, "355290": 2, "4": [2, 3], "40": 3, "41": 2, "41516370e": 2, "434858": 2, "44522129e": 2, "458758": 2, "459950e": 2, "460085e": 2, "460220e": 2, "460355e": 2, "460490e": 2, "47": 6, "47315763e": 2, "49798597e": 2, "5": 2, "52092321e": 2, "54137135e": 2, "557889": 2, "55844796e": 2, "565262": 2, "57331720e": 2, "576106": 2, "58598982e": 2, "587": 2, "588": 2, "589": 2, "590": 2, "591": 2, "592": 2, "593": 2, "594": 2, "59720145e": 2, "6": 2, "7": [2, 3], "703724e": 2, "74": 2, "75": 2, "750053": 2, "75009": 2, "76": 2, "77": [2, 6], "777772e": 2, "78": 2, "79": [2, 3], "8": [2, 3], "80": 2, "81": [2, 6], "82": 2, "825540e": 2, "83": 2, "84": 2, "85": 2, "86": [2, 5], "87": 2, "88": 2, "892010e": 2, "9": [2, 3], "927957e": 2, "971017": 2, "995651565": 2, "99964": 2, "99973": 2, "99982": 2, "99991": 2, "99995": 2, "999959": 2, "99996": 2, "999969": 2, "99997": 2, "999979": 2, "99998": 2, "999989": 2, "99999": 2, "As": 3, "But": 2, "For": 2, "If": [3, 4], "In": 2, "It": 2, "No": 3, "One": 2, "Or": 3, "That": 3, "The": [1, 2, 3, 4, 5], "There": 1, "To": [3, 5], "With": 2, "__init__": 2, "_updat": 2, "about": [1, 2, 3, 4], "abov": [2, 3], "account": 3, "accuraci": 3, "across": [0, 2], "act": 2, "activ": 3, "ad": 3, "add": 3, "addit": 3, "adjust": 2, "administr": 3, "advance_to_year": 2, "after": [2, 3], "afterward": 3, "al": 5, "alarm": 3, "all": [0, 2, 3], "allow": [2, 3, 4], "along": 3, "alphabet": 1, "alreadi": 3, "also": [1, 2, 3], "alwai": 3, "amongst": 2, "an": 3, "anaconda": 3, "analysi": 4, "angl": 3, "ani": 3, "anoth": 3, "anyth": 3, "api": 4, "append": 2, "approach": 5, "ar": [2, 3, 4, 5], "aris": 3, "around": 1, "arrai": 2, "array_lik": 0, "ask": 3, "associ": 3, "assum": 2, "assumpt": 2, "attribut": [0, 2], "automat": 3, "averag": [0, 5], "b": [3, 6], "ba": 6, "background": 3, "bandwidth": [0, 2], "base": 5, "baselin": 2, "baseline_polici": 2, "becaus": [2, 3], "befor": [2, 3], "begin": 2, "behavior": [0, 2], "below": [1, 2, 3, 5], "benjamin": 6, "beyond": 2, "biden": 2, "biden2020": 2, "bin": 0, "black": 3, "bracket": 3, "branch": 3, "bug": 3, "built": 2, "bureau": 6, "c": [0, 3, 5, 6], "calc1": 2, "calcul": 5, "call": [1, 2, 3], "came": 3, "campaign": 2, "can": [0, 2, 3], "case": 3, "cd": 3, "cell": 2, "central": 3, "chang": [0, 3, 4], "charact": 3, "check": 3, "checkout": 3, "choos": 2, "class": 1, "cleali": 2, "click": 3, "clone": 3, "close": 3, "code": [1, 4], "collabor": 3, "column": [0, 2], "com": [2, 3], "command": 3, "commit": 3, "compar": 2, "compare_default": 2, "comparison": 2, "compens": [0, 5], "complet": 3, "comput": [0, 3, 5], "compute_income_dist": 0, "compute_mtr_dist": 0, "conant": 2, "conda": 3, "conflict": 3, "confus": 3, "connect": 2, "consid": 0, "consist": 2, "constant": 5, "constructor": 0, "contact": 3, "contain": 3, "content": 3, "continu": 4, "contrast": 2, "contribut": [3, 4], "control": 3, "convers": 2, "copi": 3, "core": [2, 3], "corner": 3, "cost": 6, "coverag": 3, "creat": [2, 3], "current": [2, 3], "d": 3, "data": [0, 2], "datafram": [0, 2], "deback": 4, "declin": 3, "default": 3, "degrad": 3, "densiti": 0, "depend": 3, "deprec": 2, "deprecationwarn": 2, "deriv": [0, 2, 5], "describ": 3, "descript": [3, 5], "detail": 0, "determin": [2, 5], "dev": [2, 3], "develop": 4, "deviat": 3, "df": [0, 2], "differ": [2, 3], "differnt": 2, "directori": [1, 3], "displai": 2, "dist_typ": [0, 2], "distribut": [0, 2, 3, 5], "diverg": 2, "do": [2, 3, 4, 5], "document": [1, 3], "doe": 2, "doesn": 3, "doi": 6, "dollar": [2, 3], "don": 3, "download": 3, "dutch": 6, "e": 2, "e00200": 0, "each": [0, 1, 2, 3, 5], "earn": 5, "easi": 2, "easier": 3, "easiest": 2, "econom": [5, 6], "edit": 3, "editor": 3, "eee": 6, "effect": 5, "effici": 6, "egbert": 6, "elast": [0, 5], "element": 3, "els": 2, "empir": 2, "employ": 5, "enact": 2, "end": 3, "endswith": 2, "enforc": 3, "engin": 2, "ensur": 3, "enter": 3, "enumer": 2, "env": [2, 3], "environ": 3, "equat": 5, "equiv": 5, "error": [2, 3], "estim": [2, 5], "et": 5, "eti": [0, 2], "evalu": 2, "even": 3, "exampl": 3, "excel": 3, "execut": [2, 3], "exist": 2, "extens": 3, "f": [0, 2, 5], "f_figur": 2, "f_prime": [0, 2], "facili": 2, "fals": 2, "far": 3, "feel": 3, "fetch": 3, "fig": 2, "fig2": 2, "fig3": 2, "file": [2, 3], "filenam": [2, 3], "final": 3, "find": 3, "first": [2, 3], "fix": 3, "flori": 6, "follow": [0, 2, 3], "fork": 3, "format": [0, 2], "four": 3, "fprime_figur": 2, "frac": [0, 5], "free": 3, "frequent": 3, "from": [0, 2, 3, 5], "full": 3, "function": [0, 1, 2, 5], "g_": 0, "g_z": [2, 5], "g_z_numer": 2, "gave": 2, "gen_microdata": 2, "gener": [2, 3], "generate_data": 2, "get": 3, "github": 4, "githubusercont": 2, "given": 0, "good": 3, "googl": 3, "gradual": 2, "growth": 6, "guidanc": 3, "gz_figur": 2, "ha": 2, "handl": 4, "happen": 3, "hardwar": 3, "have": [2, 3, 4], "help": [2, 3], "hen14": 6, "hendren": [5, 6], "here": [1, 3], "high": [1, 2], "higher": 2, "highest": 2, "host": 3, "hour": 3, "how": [1, 2, 3], "html": [2, 6], "http": [2, 3, 6], "i": [1, 2, 3, 4, 5], "id_charity_crt_al": 2, "idea": [3, 6], "illustr": 2, "implement": 2, "implement_reform": 2, "impli": 2, "implicit": 6, "implicitli": 2, "improv": 3, "inc": 6, "includ": [0, 3], "incom": [0, 2, 5], "income_measur": [0, 2], "increas": [2, 3], "inde": 2, "index": 2, "infer": 2, "inform": 3, "init_notebook_mod": 2, "input": 0, "insid": 3, "instal": 3, "instanc": [0, 2], "interfac": [2, 3], "interfer": 3, "interpret": 2, "introduc": 3, "invers": [1, 4, 6], "inverseoptimaltax": [1, 2, 3], "iot": [1, 2, 3, 4], "iot1": 2, "iot_us": 2, "ipykernel_2023": 2, "ipython": 2, "isn": 3, "issu": 4, "item": 2, "its": [0, 2, 3], "j": 6, "jacob": [0, 5, 6], "jason": 4, "jdeback": 4, "jjz": 5, "jjz17": 6, "jmoneco": 6, "john": 4, "jongen": [0, 6], "journal": 6, "jpubeco": 6, "json": 2, "judgment": 6, "juli": 6, "just": 5, "kde_bw": [0, 2], "keep": [3, 5], "kreg": 0, "l": [3, 6], "label": 2, "languag": 3, "larg": 3, "larger": 3, "last": 2, "latest": 3, "law": 2, "layer": 2, "left": 3, "let": 2, "level": [1, 2], "lib": 2, "librari": 3, "like": [2, 3], "limit": 3, "line": [2, 3], "link": 1, "list": [1, 2], "literatur": 5, "live": 3, "local": [3, 5], "locat": 1, "lockwood": [0, 5, 6], "log_norm": 0, "look": 2, "lot": 5, "lower": 2, "lower_bound": [0, 2], "lowest": 2, "lw16": 6, "m": 3, "mac": 3, "machin": 3, "made": 3, "mai": [2, 3, 4, 5], "main": 2, "maintain": 3, "make": [1, 2, 3], "mani": 3, "margin": [0, 2, 5], "master": 3, "matter": 3, "matthew": 6, "maxim": 2, "maximum": 0, "mayb": 5, "mb": 3, "mean": [0, 3], "measur": [0, 6], "member": [1, 3], "merg": 3, "messag": 3, "method": [0, 1, 2], "micro": 0, "miniconda": 2, "minimum": 0, "minut": 3, "miss": 3, "model": [3, 4, 5], "modul": [1, 4], "moneco": 6, "monetari": 6, "more": [2, 3, 5], "most": [2, 3], "msg": 2, "mtr": [0, 2, 5], "mtr_figur": 2, "mtr_prime": [0, 2], "mtr_prime_figur": 2, "mtr_smooth_param": [0, 2], "mtr_smoother": [0, 2], "mtr_wrt": 2, "much": 2, "multipl": 2, "must": 0, "name": [0, 3], "nathaniel": 6, "nation": 6, "navig": 3, "nber": 6, "nberwo": 6, "nbr": 6, "necessari": [3, 5], "need": [2, 3, 5], "never": 3, "new": [3, 5], "newli": 3, "next": 3, "non": 0, "none": [0, 2], "norm": 6, "note": [2, 3, 5], "notebook": 2, "now": [2, 3], "number": [2, 3], "object": 1, "off": 2, "offlin": 2, "often": [2, 3], "one": [2, 3, 4], "onli": 3, "open": 3, "oper": 3, "optim": [1, 4], "optimum": 6, "order": [1, 2], "org": 6, "organ": [1, 3], "origin": 3, "other": 3, "otherwis": 5, "our": 0, "out": [2, 5], "output": [0, 2], "over": 0, "own": 3, "p": [4, 6], "packag": [1, 2, 3], "page": 3, "panda": [0, 2], "paper": 6, "paragraph": 3, "param": 2, "paramet": [0, 2], "parameter": 2, "parametr": [0, 2], "paramtool": 2, "part": 3, "parti": 6, "particular": 2, "pass": 3, "password": 3, "payer": [0, 2], "pdf": 5, "percent": 3, "period": 3, "pg": 5, "place": 2, "platform": 3, "pleas": [2, 3, 4], "plotli": 2, "point": [2, 5], "pol1": 2, "polci": 2, "polici": [0, 2, 6], "polit": 6, "posit": 6, "possibl": 3, "pre": 5, "preced": 3, "prefer": 6, "presid": 2, "previou": 3, "print_warn": 2, "prior": 3, "privileg": 3, "probabl": 0, "proce": 3, "process": 3, "program": 3, "progress": 2, "project": 3, "prompt": 3, "propos": 2, "provid": [1, 2, 3], "psl_exampl": 2, "pslmodel": [2, 3, 4], "pt": 2, "pubeco": 6, "public": 6, "pull": 4, "purpos": 3, "push": 3, "py": [0, 2, 3], "pytest": 3, "python": 4, "python3": 2, "question": [3, 4], "quickli": 4, "r": [0, 5], "rais": 2, "raise_error": 2, "rate": [0, 2, 5], "raw": [0, 2], "re": 3, "read_json_reform": 2, "readi": 3, "rec": 2, "recent": [2, 3], "recess": 6, "record": [2, 3], "refer": 2, "reform": 2, "regress": 2, "rel": 2, "remain": 2, "rememb": 3, "remot": 3, "repec": 6, "repo": 3, "report": 3, "repositori": [3, 4], "repres": 0, "request": 4, "research": 6, "resolv": 3, "result": 4, "return": [0, 2], "reveal": [2, 6], "revers": 2, "revert": 3, "review": 3, "revis": 2, "right": 3, "roughli": 2, "row": 2, "rule": 3, "run": [2, 3], "ryan": 4, "s006": 0, "same": 3, "scalar": 0, "schedul": 2, "schema": 2, "second": 3, "section": 3, "see": [0, 2, 3, 5], "select": 3, "self": 2, "separ": 3, "set": 2, "share": [2, 3], "short": 3, "should": [2, 3], "show": [2, 3], "sign": 3, "sinc": 2, "site": 2, "situat": 3, "size": 0, "skip": 3, "slice": 2, "slope": [0, 2], "smooth": [0, 5], "so": 3, "social": [0, 2, 5, 6], "softwar": 3, "some": [2, 3, 5], "somewhat": 2, "sourc": [0, 1, 3, 4, 5], "speak": 2, "specif": [2, 3], "specifi": [2, 3], "standard": 3, "start": 5, "statement": 3, "statist": 5, "statu": 3, "step": 3, "str": 0, "structur": 5, "style": [2, 3], "submit": 4, "subset": 3, "successfulli": 3, "suffici": 5, "suggest": 2, "suit": 3, "summar": 5, "sure": 3, "surprisingli": 2, "sw_weight": 0, "switch": 3, "syle": 2, "symbol": 3, "sync": 3, "system": 3, "t": [0, 3, 5, 6], "tag": 3, "take": [3, 5], "tax": [1, 4, 5, 6], "taxabl": [0, 5], "taxcalc": 2, "taxdata": 5, "taxpay": [2, 5], "tc": 2, "tcja": 2, "team": 3, "tell": [2, 3], "termin": 3, "test": 3, "text": 3, "thaat": 2, "than": [2, 3], "thei": 2, "them": [2, 3], "therefor": 2, "theta_": 5, "theta_figur": 2, "theta_z": [0, 2, 5], "thi": [0, 1, 2, 3], "think": 3, "those": [2, 3], "three": 2, "through": [2, 3], "tip": 3, "tmp": 2, "togeth": 2, "top": 2, "traceback": 2, "track": 3, "tree": 1, "true": 2, "try": [2, 3], "tupl": 0, "two": 2, "type": [0, 3], "typic": 3, "u": [2, 6], "under": 4, "underli": 2, "understand": 2, "underyl": 2, "unequ": 6, "unit": 0, "untest": 3, "up": [1, 3], "updat": 3, "upper": 3, "upper_bound": [0, 2], "upstream": 3, "url": 6, "us": [0, 2, 3, 6], "user": [2, 3], "usernam": 3, "usr": 2, "usual": 3, "v": 2, "v156y2017icp81": 6, "v77y2016icp30": 6, "val": 2, "validationerror": 2, "var": 2, "varepsilon": [0, 5], "ve": 3, "vector": 0, "veri": 2, "version": [3, 4], "via": 3, "view": 1, "w": [0, 5, 6], "wa": 2, "wai": 3, "want": 3, "we": [1, 2, 3, 5], "web": 3, "weight": [0, 2, 5, 6], "weight_var": [0, 2], "weinzierl": [0, 5, 6], "welfar": [0, 2, 5], "well": 2, "were": 2, "what": 2, "when": 3, "where": 3, "which": 3, "why": 2, "window": 3, "without": 3, "work": [2, 3, 6], "would": [2, 3], "write": 5, "written": 3, "year": 2, "yearval": 2, "you": [3, 4], "your": 3, "z": [0, 2, 5], "zf": 5, "zoutman": [0, 6], "zt": [0, 5]}, "titles": ["Inverse Optimal Tax Class Object", "API", "Inverse Optimal Tax Example", "Contributor Guide", "InverseOptimalTax", "Parameters", "References"], "titleterms": {"1": 2, "2": 2, "access": 2, "an": 2, "api": 1, "calcul": 2, "cite": 4, "class": [0, 2], "code": 3, "contributor": 3, "core": 4, "disclaim": 4, "docstr": 3, "exampl": 2, "footnot": 3, "format": 3, "git": 3, "github": 3, "guid": 3, "import": 2, "input": 2, "instanti": 2, "invers": [0, 2], "inverse_optimal_tax": 0, "inverseoptimaltax": 4, "iot": 0, "iot_comparison": 2, "issu": 3, "maintain": 4, "model": 2, "object": [0, 2], "optim": [0, 2], "paramet": 5, "plot": 2, "practic": 3, "pull": 3, "python": 3, "refer": 6, "request": 3, "result": 2, "setup": 3, "step": 2, "submit": 3, "tax": [0, 2], "visual": 2, "workflow": 3}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"API": [[1, null]], "Accessing the results of the model": [[2, "accessing-the-results-of-the-model"]], "Citing InverseOptimalTax": [[4, "citing-inverseoptimaltax"]], "Code formatting": [[3, "code-formatting"]], "Coding Practices": [[3, "coding-practices"]], "Contributor Guide": [[3, null]], "Core Maintainers": [[4, "core-maintainers"]], "Disclaimer": [[4, "disclaimer"]], "Footnotes": [[3, "footnotes"]], "Inverse Optimal Tax Class Object": [[0, null]], "Inverse Optimal Tax Example": [[2, null]], "InverseOptimalTax": [[4, null]], "Parameters": [[5, null]], "Plotting inputs to the calculation": [[2, "plotting-inputs-to-the-calculation"]], "Python Docstrings": [[3, "python-docstrings"]], "References": [[6, null]], "Setup Git": [[3, "setup-git"]], "Setup Python": [[3, "setup-python"]], "Step 1: Import the iot_comparison class object": [[2, "step-1-import-the-iot-comparison-class-object"]], "Step 2: Instantiate an iot_comparison class object": [[2, "step-2-instantiate-an-iot-comparison-class-object"]], "Submitting a GitHub Issue": [[3, "submitting-a-github-issue"]], "Submitting a GitHub Pull Request": [[3, "submitting-a-github-pull-request"]], "Visualizing results": [[2, "visualizing-results"]], "Workflow": [[3, "workflow"]], "iot.inverse_optimal_tax": [[0, "iot-inverse-optimal-tax"]]}, "docnames": ["content/api/inverse_optimal_tax", "content/api/public_api", "content/example/IOT_example", "content/intro/contributing", "content/intro/intro", "content/intro/parameters", "content/references"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["content/api/inverse_optimal_tax.rst", "content/api/public_api.rst", "content/example/IOT_example.ipynb", "content/intro/contributing.md", "content/intro/intro.md", "content/intro/parameters.md", "content/references.md"], "indexentries": {"compute_income_dist() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.compute_income_dist", false]], "compute_mtr_dist() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.compute_mtr_dist", false]], "df() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.df", false]], "iot (class in iot.inverse_optimal_tax)": [[0, "iot.inverse_optimal_tax.IOT", false]], "sw_weights() (iot.inverse_optimal_tax.iot method)": [[0, "iot.inverse_optimal_tax.IOT.sw_weights", false]]}, "objects": {"iot.inverse_optimal_tax": [[0, 0, 1, "", "IOT"]], "iot.inverse_optimal_tax.IOT": [[0, 1, 1, "", "compute_income_dist"], [0, 1, 1, "", "compute_mtr_dist"], [0, 1, 1, "", "df"], [0, 1, 1, "", "sw_weights"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"]}, "objtypes": {"0": "py:class", "1": "py:method"}, "terms": {"": [2, 3, 6], "0": [0, 2, 4], "000": 2, "00000": 2, "000000": 2, "000017": 2, "00009": 2, "00018": 2, "00027": 2, "00036": 2, "00521702": 2, "005446": 2, "00560577": 2, "0057706": 2, "00591634": 2, "00607098": 2, "00622675": 2, "00637578": 2, "00651968": 2, "00667111": 2, "007470": 2, "019751": 2, "044039e": 2, "07": 2, "08": [2, 6], "09": 2, "097206e": 2, "1": [0, 3, 5], "10": [2, 5, 6], "100": 6, "100000": 2, "1000000": 2, "1016": 6, "103262": 2, "11": 2, "111576": 2, "111583": 2, "111589": 2, "111596": 2, "111603": 2, "111951e": 2, "111986e": 2, "112020e": 2, "112055e": 2, "112090e": 2, "116": 2, "117": 2, "118": 2, "119": 2, "12": 2, "120": 2, "121": 2, "124440e": 2, "14": 2, "156": 6, "16": 2, "17": 2, "2": [0, 3, 5], "200": 2, "2014": [5, 6], "2015": 6, "2016": [0, 5, 6], "2017": [0, 2, 5, 6], "2017_law": 2, "2020": 2, "2021": 2, "2023": 2, "20351": 6, "207234": 2, "207251": 2, "207268": 2, "207286": 2, "207303": 2, "21": 2, "24": 3, "247817": 2, "25": [0, 3], "262466e": 2, "298756": 2, "3": [0, 2, 3], "30": 6, "31": 2, "310736": 2, "327460": 2, "332161": 2, "333851": 2, "333853": 2, "333855": 2, "333857": 2, "333859": 2, "333861": 2, "333863": 2, "348657e": 2, "350": 2, "355290": 2, "4": [2, 3], "40": 3, "41": 2, "41516370e": 2, "434858": 2, "44522129e": 2, "458758": 2, "459950e": 2, "460085e": 2, "460220e": 2, "460355e": 2, "460490e": 2, "47": 6, "47315763e": 2, "49798597e": 2, "5": 2, "52092321e": 2, "54137135e": 2, "557889": 2, "55844796e": 2, "565262": 2, "57331720e": 2, "576106": 2, "58598982e": 2, "587": 2, "588": 2, "589": 2, "590": 2, "591": 2, "592": 2, "593": 2, "594": 2, "59720145e": 2, "6": 2, "7": [2, 3], "703724e": 2, "74": 2, "75": 2, "750053": 2, "75009": 2, "76": 2, "77": [2, 6], "777772e": 2, "78": 2, "79": [2, 3], "8": [2, 3], "80": 2, "81": [2, 6], "82": 2, "825540e": 2, "83": 2, "84": 2, "85": 2, "86": [2, 5], "87": 2, "88": 2, "892010e": 2, "9": [2, 3], "927957e": 2, "971017": 2, "995651565": 2, "99964": 2, "99973": 2, "99982": 2, "99991": 2, "99995": 2, "999959": 2, "99996": 2, "999969": 2, "99997": 2, "999979": 2, "99998": 2, "999989": 2, "99999": 2, "As": 3, "But": 2, "For": 2, "If": [3, 4], "In": 2, "It": 2, "No": 3, "One": 2, "Or": 3, "That": 3, "The": [1, 2, 3, 4, 5], "There": 1, "To": [3, 5], "With": 2, "__init__": 2, "_updat": 2, "about": [1, 2, 3, 4], "abov": [2, 3], "account": 3, "accuraci": 3, "across": [0, 2], "act": 2, "activ": 3, "ad": 3, "add": 3, "addit": 3, "adjust": 2, "administr": 3, "advance_to_year": 2, "after": [2, 3], "afterward": 3, "al": 5, "alarm": 3, "all": [0, 2, 3], "allow": [2, 3, 4], "along": 3, "alphabet": 1, "alreadi": 3, "also": [1, 2, 3], "alwai": 3, "amongst": 2, "an": 3, "anaconda": 3, "analysi": 4, "angl": 3, "ani": 3, "anoth": 3, "anyth": 3, "api": 4, "append": 2, "approach": 5, "ar": [2, 3, 4, 5], "aris": 3, "around": 1, "arrai": 2, "array_lik": 0, "ask": 3, "associ": 3, "assum": 2, "assumpt": 2, "attribut": [0, 2], "automat": 3, "averag": [0, 5], "b": [3, 6], "ba": 6, "background": 3, "bandwidth": [0, 2], "base": 5, "baselin": 2, "baseline_polici": 2, "becaus": [2, 3], "befor": [2, 3], "begin": 2, "behavior": [0, 2], "below": [1, 2, 3, 5], "benjamin": 6, "beyond": 2, "biden": 2, "biden2020": 2, "bin": 0, "black": 3, "bracket": 3, "branch": 3, "bug": 3, "built": 2, "bureau": 6, "c": [0, 3, 5, 6], "calc1": 2, "calcul": 5, "call": [1, 2, 3], "came": 3, "campaign": 2, "can": [0, 2, 3], "case": 3, "cd": 3, "cell": 2, "central": 3, "chang": [0, 3, 4], "charact": 3, "check": 3, "checkout": 3, "choos": 2, "class": 1, "cleali": 2, "click": 3, "clone": 3, "close": 3, "code": [1, 4], "collabor": 3, "column": [0, 2], "com": [2, 3], "command": 3, "commit": 3, "compar": 2, "compare_default": 2, "comparison": 2, "compens": [0, 5], "complet": 3, "comput": [0, 3, 5], "compute_income_dist": 0, "compute_mtr_dist": 0, "conant": 2, "conda": 3, "conflict": 3, "confus": 3, "connect": 2, "consid": 0, "consist": 2, "constant": 5, "constructor": 0, "contact": 3, "contain": 3, "content": 3, "continu": 4, "contrast": 2, "contribut": [3, 4], "control": 3, "convers": 2, "copi": 3, "core": [2, 3], "corner": 3, "cost": 6, "coverag": 3, "creat": [2, 3], "current": [2, 3], "d": 3, "data": [0, 2], "datafram": [0, 2], "deback": 4, "declin": 3, "default": 3, "degrad": 3, "densiti": 0, "depend": 3, "deprec": 2, "deprecationwarn": 2, "deriv": [0, 2, 5], "describ": 3, "descript": [3, 5], "detail": 0, "determin": [2, 5], "dev": [2, 3], "develop": 4, "deviat": 3, "df": [0, 2], "differ": [2, 3], "differnt": 2, "directori": [1, 3], "displai": 2, "dist_typ": [0, 2], "distribut": [0, 2, 3, 5], "diverg": 2, "do": [2, 3, 4, 5], "document": [1, 3], "doe": 2, "doesn": 3, "doi": 6, "dollar": [2, 3], "don": 3, "download": 3, "dutch": 6, "e": 2, "e00200": 0, "each": [0, 1, 2, 3, 5], "earn": 5, "easi": 2, "easier": 3, "easiest": 2, "econom": [5, 6], "edit": 3, "editor": 3, "eee": 6, "effect": 5, "effici": 6, "egbert": 6, "elast": [0, 5], "element": 3, "els": 2, "empir": 2, "employ": 5, "enact": 2, "end": 3, "endswith": 2, "enforc": 3, "engin": 2, "ensur": 3, "enter": 3, "enumer": 2, "env": [2, 3], "environ": 3, "equat": 5, "equiv": 5, "error": [2, 3], "estim": [2, 5], "et": 5, "eti": [0, 2], "evalu": 2, "even": 3, "exampl": 3, "excel": 3, "execut": [2, 3], "exist": 2, "extens": 3, "f": [0, 2, 5], "f_figur": 2, "f_prime": [0, 2], "facili": 2, "fals": 2, "far": 3, "feel": 3, "fetch": 3, "fig": 2, "fig2": 2, "fig3": 2, "file": [2, 3], "filenam": [2, 3], "final": 3, "find": 3, "first": [2, 3], "fix": 3, "flori": 6, "follow": [0, 2, 3], "fork": 3, "format": [0, 2], "four": 3, "fprime_figur": 2, "frac": [0, 5], "free": 3, "frequent": 3, "from": [0, 2, 3, 5], "full": 3, "function": [0, 1, 2, 5], "g_": 0, "g_z": [2, 5], "g_z_numer": 2, "gave": 2, "gen_microdata": 2, "gener": [2, 3], "generate_data": 2, "get": 3, "github": 4, "githubusercont": 2, "given": 0, "good": 3, "googl": 3, "gradual": 2, "growth": 6, "guidanc": 3, "gz_figur": 2, "ha": 2, "handl": 4, "happen": 3, "hardwar": 3, "have": [2, 3, 4], "help": [2, 3], "hen14": 6, "hendren": [5, 6], "here": [1, 3], "high": [1, 2], "higher": 2, "highest": 2, "host": 3, "hour": 3, "how": [1, 2, 3], "html": [2, 6], "http": [2, 3, 6], "i": [1, 2, 3, 4, 5], "id_charity_crt_al": 2, "idea": [3, 6], "illustr": 2, "implement": 2, "implement_reform": 2, "impli": 2, "implicit": 6, "implicitli": 2, "improv": 3, "inc": 6, "includ": [0, 3], "incom": [0, 2, 5], "income_measur": [0, 2], "increas": [2, 3], "inde": 2, "index": 2, "infer": 2, "inform": 3, "init_notebook_mod": 2, "input": 0, "insid": 3, "instal": 3, "instanc": [0, 2], "interfac": [2, 3], "interfer": 3, "interpret": 2, "introduc": 3, "invers": [1, 4, 6], "inverseoptimaltax": [1, 2, 3], "iot": [1, 2, 3, 4], "iot1": 2, "iot_us": 2, "ipykernel_1959": 2, "ipython": 2, "isn": 3, "issu": 4, "item": 2, "its": [0, 2, 3], "j": 6, "jacob": [0, 5, 6], "jason": 4, "jdeback": 4, "jjz": 5, "jjz17": 6, "jmoneco": 6, "john": 4, "jongen": [0, 6], "journal": 6, "jpubeco": 6, "json": 2, "judgment": 6, "juli": 6, "just": 5, "kde_bw": [0, 2], "keep": [3, 5], "kreg": 0, "l": [3, 6], "label": 2, "languag": 3, "larg": 3, "larger": 3, "last": 2, "latest": 3, "law": 2, "layer": 2, "left": 3, "let": 2, "level": [1, 2], "lib": 2, "librari": 3, "like": [2, 3], "limit": 3, "line": [2, 3], "link": 1, "list": [1, 2], "literatur": 5, "live": 3, "local": [3, 5], "locat": 1, "lockwood": [0, 5, 6], "log_norm": 0, "look": 2, "lot": 5, "lower": 2, "lower_bound": [0, 2], "lowest": 2, "lw16": 6, "m": 3, "mac": 3, "machin": 3, "made": 3, "mai": [2, 3, 4, 5], "main": 2, "maintain": 3, "make": [1, 2, 3], "mani": 3, "margin": [0, 2, 5], "master": 3, "matter": 3, "matthew": 6, "maxim": 2, "maximum": 0, "mayb": 5, "mb": 3, "mean": [0, 3], "measur": [0, 6], "member": [1, 3], "merg": 3, "messag": 3, "method": [0, 1, 2], "micro": 0, "miniconda": 2, "minimum": 0, "minut": 3, "miss": 3, "model": [3, 4, 5], "modul": [1, 4], "moneco": 6, "monetari": 6, "more": [2, 3, 5], "most": [2, 3], "msg": 2, "mtr": [0, 2, 5], "mtr_figur": 2, "mtr_prime": [0, 2], "mtr_prime_figur": 2, "mtr_smooth_param": [0, 2], "mtr_smoother": [0, 2], "mtr_wrt": 2, "much": 2, "multipl": 2, "must": 0, "name": [0, 3], "nathaniel": 6, "nation": 6, "navig": 3, "nber": 6, "nberwo": 6, "nbr": 6, "necessari": [3, 5], "need": [2, 3, 5], "never": 3, "new": [3, 5], "newli": 3, "next": 3, "non": 0, "none": [0, 2], "norm": 6, "note": [2, 3, 5], "notebook": 2, "now": [2, 3], "number": [2, 3], "object": 1, "off": 2, "offlin": 2, "often": [2, 3], "one": [2, 3, 4], "onli": 3, "open": 3, "oper": 3, "optim": [1, 4], "optimum": 6, "order": [1, 2], "org": 6, "organ": [1, 3], "origin": 3, "other": 3, "otherwis": 5, "our": 0, "out": [2, 5], "output": [0, 2], "over": 0, "own": 3, "p": [4, 6], "packag": [1, 2, 3], "page": 3, "panda": [0, 2], "paper": 6, "paragraph": 3, "param": 2, "paramet": [0, 2], "parameter": 2, "parametr": [0, 2], "paramtool": 2, "part": 3, "parti": 6, "particular": 2, "pass": 3, "password": 3, "payer": [0, 2], "pdf": 5, "percent": 3, "period": 3, "pg": 5, "place": 2, "platform": 3, "pleas": [2, 3, 4], "plotli": 2, "point": [2, 5], "pol1": 2, "polci": 2, "polici": [0, 2, 6], "polit": 6, "posit": 6, "possibl": 3, "pre": 5, "preced": 3, "prefer": 6, "presid": 2, "previou": 3, "print_warn": 2, "prior": 3, "privileg": 3, "probabl": 0, "proce": 3, "process": 3, "program": 3, "progress": 2, "project": 3, "prompt": 3, "propos": 2, "provid": [1, 2, 3], "psl_exampl": 2, "pslmodel": [2, 3, 4], "pt": 2, "pubeco": 6, "public": 6, "pull": 4, "purpos": 3, "push": 3, "py": [0, 2, 3], "pytest": 3, "python": 4, "python3": 2, "question": [3, 4], "quickli": 4, "r": [0, 5], "rais": 2, "raise_error": 2, "rate": [0, 2, 5], "raw": [0, 2], "re": 3, "read_json_reform": 2, "readi": 3, "rec": 2, "recent": [2, 3], "recess": 6, "record": [2, 3], "refer": 2, "reform": 2, "regress": 2, "rel": 2, "remain": 2, "rememb": 3, "remot": 3, "repec": 6, "repo": 3, "report": 3, "repositori": [3, 4], "repres": 0, "request": 4, "research": 6, "resolv": 3, "result": 4, "return": [0, 2], "reveal": [2, 6], "revers": 2, "revert": 3, "review": 3, "revis": 2, "right": 3, "roughli": 2, "row": 2, "rule": 3, "run": [2, 3], "ryan": 4, "s006": 0, "same": 3, "scalar": 0, "schedul": 2, "schema": 2, "second": 3, "section": 3, "see": [0, 2, 3, 5], "select": 3, "self": 2, "separ": 3, "set": 2, "share": [2, 3], "short": 3, "should": [2, 3], "show": [2, 3], "sign": 3, "sinc": 2, "site": 2, "situat": 3, "size": 0, "skip": 3, "slice": 2, "slope": [0, 2], "smooth": [0, 5], "so": 3, "social": [0, 2, 5, 6], "softwar": 3, "some": [2, 3, 5], "somewhat": 2, "sourc": [0, 1, 3, 4, 5], "speak": 2, "specif": [2, 3], "specifi": [2, 3], "standard": 3, "start": 5, "statement": 3, "statist": 5, "statu": 3, "step": 3, "str": 0, "structur": 5, "style": [2, 3], "submit": 4, "subset": 3, "successfulli": 3, "suffici": 5, "suggest": 2, "suit": 3, "summar": 5, "sure": 3, "surprisingli": 2, "sw_weight": 0, "switch": 3, "syle": 2, "symbol": 3, "sync": 3, "system": 3, "t": [0, 3, 5, 6], "tag": 3, "take": [3, 5], "tax": [1, 4, 5, 6], "taxabl": [0, 5], "taxcalc": 2, "taxdata": 5, "taxpay": [2, 5], "tc": 2, "tcja": 2, "team": 3, "tell": [2, 3], "termin": 3, "test": 3, "text": 3, "thaat": 2, "than": [2, 3], "thei": 2, "them": [2, 3], "therefor": 2, "theta_": 5, "theta_figur": 2, "theta_z": [0, 2, 5], "thi": [0, 1, 2, 3], "think": 3, "those": [2, 3], "three": 2, "through": [2, 3], "tip": 3, "tmp": 2, "togeth": 2, "top": 2, "traceback": 2, "track": 3, "tree": 1, "true": 2, "try": [2, 3], "tupl": 0, "two": 2, "type": [0, 3], "typic": 3, "u": [2, 6], "under": 4, "underli": 2, "understand": 2, "underyl": 2, "unequ": 6, "unit": 0, "untest": 3, "up": [1, 3], "updat": 3, "upper": 3, "upper_bound": [0, 2], "upstream": 3, "url": 6, "us": [0, 2, 3, 6], "user": [2, 3], "usernam": 3, "usr": 2, "usual": 3, "v": 2, "v156y2017icp81": 6, "v77y2016icp30": 6, "val": 2, "validationerror": 2, "var": 2, "varepsilon": [0, 5], "ve": 3, "vector": 0, "veri": 2, "version": [3, 4], "via": 3, "view": 1, "w": [0, 5, 6], "wa": 2, "wai": 3, "want": 3, "we": [1, 2, 3, 5], "web": 3, "weight": [0, 2, 5, 6], "weight_var": [0, 2], "weinzierl": [0, 5, 6], "welfar": [0, 2, 5], "well": 2, "were": 2, "what": 2, "when": 3, "where": 3, "which": 3, "why": 2, "window": 3, "without": 3, "work": [2, 3, 6], "would": [2, 3], "write": 5, "written": 3, "year": 2, "yearval": 2, "you": [3, 4], "your": 3, "z": [0, 2, 5], "zf": 5, "zoutman": [0, 6], "zt": [0, 5]}, "titles": ["Inverse Optimal Tax Class Object", "API", "Inverse Optimal Tax Example", "Contributor Guide", "InverseOptimalTax", "Parameters", "References"], "titleterms": {"1": 2, "2": 2, "access": 2, "an": 2, "api": 1, "calcul": 2, "cite": 4, "class": [0, 2], "code": 3, "contributor": 3, "core": 4, "disclaim": 4, "docstr": 3, "exampl": 2, "footnot": 3, "format": 3, "git": 3, "github": 3, "guid": 3, "import": 2, "input": 2, "instanti": 2, "invers": [0, 2], "inverse_optimal_tax": 0, "inverseoptimaltax": 4, "iot": 0, "iot_comparison": 2, "issu": 3, "maintain": 4, "model": 2, "object": [0, 2], "optim": [0, 2], "paramet": 5, "plot": 2, "practic": 3, "pull": 3, "python": 3, "refer": 6, "request": 3, "result": 2, "setup": 3, "step": 2, "submit": 3, "tax": [0, 2], "visual": 2, "workflow": 3}})
\ No newline at end of file