From 54c62a9b680da2148791d80ef4340d17434d96d2 Mon Sep 17 00:00:00 2001 From: Rucknium Date: Wed, 8 Dec 2021 22:22:02 +0000 Subject: [PATCH] Added MLE and results tables --- R/OSPEAD-dry-run.R | 68 +++++++++++++++++++++++++++- images/dry-run/L_MLE-flavor-0.png | Bin 0 -> 44028 bytes tables/dry-run/minimizer-params.csv | 16 +++++++ tables/dry-run/performance.csv | 6 +++ 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 images/dry-run/L_MLE-flavor-0.png create mode 100644 tables/dry-run/minimizer-params.csv create mode 100644 tables/dry-run/performance.csv diff --git a/R/OSPEAD-dry-run.R b/R/OSPEAD-dry-run.R index 6513ed8..0683f1f 100644 --- a/R/OSPEAD-dry-run.R +++ b/R/OSPEAD-dry-run.R @@ -15,20 +15,32 @@ theta_i <- merge(data.frame(Var1 = 1:max(theta_i)), theta_i, all.x = TRUE) theta_i <- theta_i$Freq theta_i[is.na(theta_i)] <- 0 support <- 1:max(xmr.Moser$spend_times_blocks) +spend_times_blocks <- log(xmr.Moser$spend_times_blocks + 1) +# offset is 2 to avoid zeroes later on +param.trans <- list() + f_D.gamma <- function(param, support) { stats::dgamma(log(support), shape = exp(param[1]), rate = exp(param[2])) } +param.trans$gamma <- c(exp, exp) + f_D.lnorm <- function(param, support) { stats::dlnorm(log(support), meanlog = param[1], sdlog = exp(param[2])) } +param.trans$lnorm <- c(I, exp) + f_D.f <- function(param, support) { stats::df(log(support), df1 = exp(param[1]), df2 = exp(param[2]), ncp = exp(param[3]) ) } +param.trans$f <- c(exp, exp, exp) + + + L_FGT <- function(param, f_D, support, flavor = 1) { alpha <- flavor a_i <- f_D(param, support) @@ -54,16 +66,30 @@ L_Welfare <- function(param, f_D, support, flavor = 1) { , na.rm = TRUE ) } +L_MLE <- function(param, f_D, ...) { + (-1) * sum( + log( f_D(param, spend_times_blocks + 1) ) + , na.rm = TRUE) +} + + + + run.iters <- expand.grid( f_D = c(f_D.gamma = f_D.gamma, f_D.lnorm = f_D.lnorm, f_D.f = f_D.f), flavor = 1:2, - L = c(L_FGT = L_FGT, L_Welfare = L_Welfare) + L = c(L_FGT = L_FGT, L_Welfare = L_Welfare, L_MLE = L_MLE) ) run.iters$flavor[names(run.iters$L) == "L_Welfare"] <- rep(c(1, 5), each = sum(names(run.iters$L) == "L_Welfare")/2) +run.iters$flavor[names(run.iters$L) == "L_MLE"] <- 0 +# MLE has only one flavor + +run.iters <- unique(run.iters) + start.params <- list( f_D.gamma = c(1, 1), f_D.lnorm = c(0, 2), @@ -108,6 +134,43 @@ for (i in 1:nrow(run.iters.results)) { ]]$value } +families <- colnames(run.iters.results)[grepl("f_D", colnames(run.iters.results))] + +for (family in families) { + run.iters.results[run.iters.results$L == "L_MLE", family] <- + 2 * length(param.trans[[ gsub("f_D[.]", "", family) ]]) + + 2 * run.iters.results[run.iters.results$L == "L_MLE", family] +} +# AIC formula. Note that the value is the neagtive of the +# log likelihood already, so just need to add + + + +write.csv(run.iters.results, "tables/dry-run/performance.csv", row.names = FALSE) + + + +minimizer.params <- data.frame(f_D = names(run.iters[[1]]), L = names(run.iters[[3]]), flavor = run.iters[[2]], + param_1 = NA, param_2 = NA, param_3 = NA, stringsAsFactors = FALSE) + +minimizer.params$f_D <- gsub("f_D[.]", "", minimizer.params$f_D) + +for ( i in 1:nrow(minimizer.params)) { + + temp.param.value <- results[[i]]$par + + for ( j in 1:length(temp.param.value)) { + temp.param.value[j] <- param.trans[[minimizer.params[i, "f_D"]]][[j]](temp.param.value[j]) + } + + minimizer.params[i, paste0("param_", seq_along(results[[i]]$par))] <- temp.param.value + +} + +minimizer.params <- minimizer.params[order(minimizer.params$f_D), ] + +write.csv(minimizer.params, "tables/dry-run/minimizer-params.csv", row.names = FALSE) + run.iters.obj.fn <- unique(run.iters[, c("L", "flavor")]) run.iters.obj.fn$L <- names(run.iters.obj.fn$L) @@ -123,6 +186,9 @@ run.iters.obj.fn$title[run.iters.obj.fn$L == "L_Welfare" & run.iters.obj.fn$flav run.iters.obj.fn$title[run.iters.obj.fn$L == "L_Welfare" & run.iters.obj.fn$flavor == 5][[1]] <- bquote(L[Welfare][eta] ~ "," ~ eta == 5) +run.iters.obj.fn$title[run.iters.obj.fn$L == "L_MLE"][[1]] <- + bquote(L[MLE]) + distn.name.converter <- c( "f_D.gamma" = "Gamma", diff --git a/images/dry-run/L_MLE-flavor-0.png b/images/dry-run/L_MLE-flavor-0.png new file mode 100644 index 0000000000000000000000000000000000000000..6b82b29fe1f229f83d9a518bcafe5a7b8b200615 GIT binary patch literal 44028 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

M~+RS;mcl zujEaR=1ec_>MP_9e)eH~O1cIcbha{5Me20duWx3sku9vnY{VzQr{{Mb$11tphoxZx zRhGsSR9q66tNy7ttweIPeWI$yqaoDQGSA&|@QMa!5d?}}{YW&!%p8$UA0Elfo*PN( zDKaqq_U|VmF2}K)9FES)4`Vy;||XnEu0^QMu`a=}{NGOxNg zm=YpH4rAoC9hPTTO2x&Zgo>Ws_C7cV|u1QQ*t<_~x&y?$<{pvDx$$nES2 zI@Y2XdsQUKx<3*iupO!wJJTvOaj6J2%DF1Jdv9^?n11>9tt&muUj&fgEFGenlZ|HT z0`)>PJG(WEd4ha&m>$lBbJ#>I-TDstZp(wMTGm(jq6FxhO_q@76_1AH^PFX?Wc-Qh zjw=C!N?g0w*xA{6dIaM=R-I~H*Qf4ZCBmc!rk=u4@hex@U;&@A%s2*f+4H1-9fU42 zo22_aX3%0rddP~6^78p8ZgV;tA&+47K79B9IHpr5U)HRA9ewcWE!Oh68wMN_s!{fi zKmHDmjdX{Tmd}%h(1@oN7P934n46msKd=hMk|4kwuXOP9pbBl>thE~GwkWNq2~`Xz z$>h~le7m6IQC@YJ&(gIgV|m(cbRQ|@$kzroiqSm}P;V5xc?S$lmLx0(^k=!j@VgoS zpa}^Iip>JLDl;ofqtq$^OZxncLaPJ{VaDNL_C+!U(^)^$;`g@Y{n(p9sb-H>!S_;% zlJw>U1Yrd-`GVi(n?*@b3(PKpnS!5TungpD<-zyb)T~tXICv7yp4+}~Wrz8A(`bUn zn!h4V#-Y*`Hl$sRn1O8$OP{YX`OW*dmxEt4^*E3XA zDWe6m;!mzVE_q+5XY|2aJ{^#KYHJ{!-{?5JE?>vn-^%!%@sehd2LoK-QM>+m9P2w>x<{I zt9);ULym-4`yAfd!%qrv|3oJOLxfS& z!B2+i6w$hMIC-iIu@!8g9Ii`F)Q7hbc6NfhqytKG3)z8R-w&6+=#4*y5bws(EDUWE z8jd&IsoI~5cY&ZzLb$>qa%0~O0iw>I2Re?*Ef)AM_JwnCgn{psbXctiV%UWZ5={(a z6=la5CX||19OWJJ0IO;BItj2672ZNAKI#lv8S`F+!Z zG#M5mp~I(uGmw+(Bv{>n8B5~;Sm|SfL`D0RamO(j5Z5fZ;umZ#BeT3Kqfk< z%`<^nc)L~Xl~?LDhloEb+wZl4Q_T*1Wsf9evI8Hbz{ns7hXED`2l@X$Jj0R8ak|Jc zGnf}qDyY_Ua0q_F2xTWf!xJsnt?a7HB1o2nLj*z>N~bZ!Cr>s(BYge()$ajqSo7vq zpZw?wAZcrn*e5V2Kgvm-NV}Uxma9>ASCQ5D4{`h=QVBQlA-a}P18{wa&`2}Fj{j#} z&nz4(=lqT61lAh1`pAslXNEiCep$eBl@k$pX4vk!Se~95BjH;61y;wgwzjse)uS@c z)05Y)&q0VsZ~R*-cCEZ&Vtc2*MkJfqNXO%li`0c3FbGid9O1Q~qre4%AlMHrr4Tp&^9~ z0E@!dU|5z0E9j=HW`#2~jw>U6ett>Ee@u~f0GROu<)(G^)4%LM8k3_|FbFzd3AU)B zBIIh}lP8BR{46F#0Rb1zQE6#@BIwk&e4*j#>FMOO%Q9Y-mUfFQB=j_PVqyZyec@_Q zb0+fK08n_lk^w+BCI7p|2y+8Z{5|*lVe%qC!RpL-EQ)wIn1YF=AC}^8>^2$ox=RZQ z)%Pq^dRs3o{aLn)IBZ4mq`L9Gpf@=-vhpb@DK|I^k>pB4^iQY}?@|9Oe=*;%hK2g} zyxRcP2h(G7j+4JN5JqWi#&@vxat*Un3E+3Onv=L0mQq(Yyc?^gIXpPnVl%)&f_+od zd81n1C57%`m}jQUd=8~=vVdS;i?WAEd&5|>L#Pt|5SLm;@II3RkEetkmu@%I_37fm zLV&!dE9618^Tov))^^tb6|{C6!V@w7DG$I3o7FOM*e(xB>eZ|4gr1K$82si1hADu4 zwWOpOyVHy*;tRdU4`bDp@ygQDQZ+f4=HX!RrkMnx%sr9qJbV=xkTeUY$)ncu!09|H z75Bf9_MlPZVp8j5$f8FrX3 z=Enxy+3I3dy4GrHLot&;y1^iaQ=KT02@n9&8TNyN10E4skFA9TZbbkoz?8Fx)}Uh5C_Dx4Nbm+sK zR^FjEWy)I5^ziA**`!i6Udb^4w3F%m)Z8&-#+-+y`cVNES%Zff4695}%IFXl; zF%QGl0BA<>l9MR-syp;pA<2jlet*uBWc${Og`3oRsw$T+q$dA*6Yuikfv=Kt=Niqh zI2u8SMocm|^+m2quXx{`muFr8Bhe zOP>dyBun;4CVdCWUv*;YaP80}(h51YoSsaY>VoM^YNaVN{Ngtvh3mTwlm_OrqF07j zcEEb}1Yn_*h@ga&Qcz&sUKjPmkV9fM@Nb-LSb6P+9{>u~A5$6^z zyPLmf#^fFQYr`3)CT;^maA?)u!E!;f9^y94>~>Hb%*t#W9-Ho#TtJz5P2qm%Ys&rW z=d}QKjHAS6}vZalo|TB zuV-L@H{10t>K-|LH8yH4|8#Rv{*+^Va{gd3iuG@Z^&8u9p@Q0O1>s<03^W=)Y!SVT2oW0I_oY663h>^KM$)sAw6@B5-t#mC=8j1zj? zH=h_mZpFWB;k4T$%|c=0kM%2l+4kYJuR$$#8}4 zpKO`yFm$i`{Y6dur){%#cTW%JUsiWI3`EdhZMY38luh2PxH5y<} z^qAR07ah!7tms=5wwrBu#gIT&wz8EO_fGONJ^WT46HJ278 z*lIKe3QCC=n^IV+d*4lN4Qkb^$tAoS(}rTja^LtkWb|8=>3o0}#d7$|Z#a(|DeG_~ zKTHwB=;dud4u?D^6lL1-x`@Pk=VzqkyF#|B_vOqMzIz_|AFWI#&eT^r2}O6zz+HkA z8147g4e(yV1W1_B4Y<=gcFfgq%xh0w{|I2+tdy4<%*6YQ@(P4o&D$2TA6I{!*%+Gs ze6-*7w;XOS#ufZ5+o+_zO?fx{Y2^K+Cg&R)?X$9_K-SGO}6M$q3UVOI{Z^A!1H& zr0V^z)gCP6pud1xUR|}SotzvPxP^xHz`;sEl!OkB{`WC1JCa$7Lbr*um&_9)j?eoV ziQAsYw|04Y3^E7`!j@5s$F-1sq$lO z?I{A>Lp=P|)zufg-lERy`g%t%@lfAp;gD_S{OM%Y9NCKP3TWi|wKNkJ95CiEq&s|g zb-$_hNA1Mz(j{e@kF^qXUtk^7S#}z3$nPDWR8$D!1(v$*Itv4UZR3<2*MB>o0EJKZ z*w|~clB0^}wAZQTq?Qj?4`v4JC!Ge~tzA*vU!)b-3aa{Yj|iv5%Y*maLGYs#z#j^V zZfD8gg?Zdi-W#ihF0|e8Qc&XHBfgK04zpmpjEW%ut+A;kvexU-*337$xa*JGT6>b? z)W&}D!?`-3iiVx#Ev8`9#rFG!>bajjeFCiyql6tRtJBhq;eR#?vm#vhx4}0I?sCLL zfimB${OtVjMV#R}s6o3Sowe${Q+I)xCfDB+p6@+*0`3njc?qoiiIshIZwkh{udJ-x zwO{CNiQqQeNrR?IdBD2;iMoWk{2Da+Wb&7;uO{|^;JN(0@Xv|r$hB!2xkX{ zTyWFDfy?UNT&Z5HUijo;c9q5ZqKld5V%~z#z`*rGH<5y&(eZI4bPkZHGChKZxx>Rl zs0Uy1u0s+G5by*}euci*)KsIRE($?=Gk_cRF;Stm9@sS7r?qVKz1H8+I(0jqk&j>N zaQ(wR%MK_V3925m{LLUm84jii!FNMHCL&$SC75_kzW=s=L3H@|{@k^(v`2z}*Vf zpF=gcPTywXK*wnu@-o?w-hkS!$KO^4=-Y;6uoD+=1hP>;@KSbdq26xs&)~|mTn%1* zDRSDC>UfVlg-V%{goGdV1QF__qge)I);#ooyTLG8=$|;6yHg966e(>6JRh&v2I|zA zNj{=r!1EV>{VJE24GN7y)WgkU64PtZF#24~^&EBCBXjp1%JSPAfXTdI#FFJpO|n?HBP=)QV-{sKxu zVtacV-8(t?Z{j6iQWpanJjCPSE{~n~$)h>w%)RTd1aymcZ$a~VS!JaVexSXBLr8@r z2MGl)kp&nlZuMDcN-|xyLMc%Q1weXi2$Y>CcuavXNlgTq6(M8u+wlwGy8|7a? z34#u{9Y=uXX>w@D2`rzAig(>qQwaG`t_Dm;R?^d(933T}?4fpu0AO@Lf-|Zp1b+OD z^vL5BWEuul&j_4=1&6878N<(4mzO~kfmZ`8StTVU0DflH+n3VO(Q$Nigh2YNzQh1;0R-@L~HO?zV4kyRF>ZFXrfO-NH0}9FQ4iV6*0p=yw>1fLTc_CPphG zwOIReZ0z~nxy91jV@sG2Br6-zJhKnU65s1E5e;&ABNYzI(8dO{lVG?qpsepwg}v`x zv{zM8*}u38L3`*v73He-<&R&#I>I@IM5C%KFn;APGchsUEzc1n5F{Bp{K#Fsh=GUa zkkmDwlbOjO+sD(9o=#sdq@}0Fo;C)sWL@3F{N?HC>5YvIPEJmU559c)TRxvCEhSX} zh94vdrc>7#)cd)vRfE^~e5pU{BwnY~Y8-0z3wnkme$6u*1zB(byef2=nyM;21B27f z5_C|f%f#A!J(LxzYo3w=-st@POV#gtc{-w^h)PFUeH5le?%Wxgwt>dKMvgbon%+0F zk;zcSruFsD;aY7$UY@0e#X*O)$0l@`0_9~Py!6eRhGS*6D385qe`v3R6oTfOl9tve zpi;!|KwBC#``V%?AfA=+cKvqwSd4%LXH`s0Y(9EuS*7pyxK*in91Jw!mE8pE04?;9 zN@RZF@$t)c)tv|43XMaQU2UY*uiH!Fho$ zG*UsF!aF=XG3mok!kpkmM(x)#cp!A-{%|VUdLFW#RA+#rv^F0p;4Gj$oy9Q(MtgJkivNA+qq!x@?hIT!x z;V-v9&P7CYhqgh%4h;+dC)-Gz(&=JGk|QV8WccWc6-*uJ)*q#VJ`K7iyB(43ja z?Lb;LGCCSzJp+C}06#qR!+}kv07_~Yc<$)918oc4t9ijeK?vCe_m2ZHdtJ^lK*ssv z5Ki_GZKS;iq)ztK=6Yq1aT4L;XVKy7Ru2To=Z zP;?+!RhR80Qf?D)qdMa6VAIme#wkB}@?z@SE9g|yv+ofHt&$+(?qXz=>fl6)u2|pe z3JVCx?Bc?CsKb@Rc@4wPK+M5aUz3yjli57Gmwn`$mshqvNJxoi7 zoIViud@@@dX+m zGoUE2w9L!OYHe$~@t_JKKCl>CU!RjgR00hbKs(59@ZASM8_-07aQJ0qWeu8uXEexG zModVUmXYB!eq*A+FBAJrHtoqQzUf|4R8hH=29lkUZtiE`2CNhoF4Y|-T9CEQR7`>V z5KiVG%z^$5R&63pfHvzs7Of{Yd7FnAe!F^T9?=fA<9? z0vbff@el9~T)B3wprAkxzTpiiH(Tw|--QJ;ogu_TK%YTo;-B%#T_6T29DWXMnn@f6 zuLtS@cm)|))=Sh^dtTO0QGElIP=BU4*m9YT2?;kqjz(9o)}dWdtHbB|(p-$v59poD z)vMJ_^Q3J6EYQ_&n#!AhF=Ep9p?624k4Lu8UZ-?PMH)f?5>1`3-Np;) zvS%C6SPb7N$WDDrksLYg=qp^2ZPU9rn#-om;yJx>!IPm5YO;irpgrLqOq9fcRe~m3 z!f!X^g{NzS(#;3$X(CTBGQT*`7FeXf37A$W9Vi`s{@~KGhY0LcQin+&4=XKg-HPKi zY7t>!VYimIw6MMqr2-U;6_wGq=vWCx6Mge05J99$Mg#>1H;0fD8;uDBR+`N%!r$822l=UgyyCww(o zz@Do%ki4yvR>b;k?R+7T&@*Zqo#ni|q@~KY+s2Z|*<#0pW^pDuy)-@wwb!616PFGv zpS9y>kXgX9B;D_Yah^vuI4}^dROIJeBy5IlBIALYlml?1!)H^&VTGgFbr6A55#bq5 zOUuA8U)W3~G`aR=^Du#LeDF!wo0@euzNC5^?XuDrdlWTPu0rxY3{|{Ge+DBT9H89| zSPe|q9eWbj)2*r#*uQ7&^ThZ3c2GQ*$SCjpB7=NOe2+(`Xz|sZUv`yPk8pAJl%Cl? z6MG_dXSq^iI3dn4Nxl;6B-n49!!o^oW?}E0=P>uT8x#1r!{+4mRxyr!Jxl8aTR7`J zB|ev#j`T_n(yyeC^ZfBk8JG^)60E{Cxb)0HWgV`U*ZaIot{Klc5#6@YiFwe+Yn^(h z>QA(?A^z65dk`)Icl_Tg$riG}G3&EiGAfk$~yN7~otY^>j_T`?c{>BiU5 z?S?0UQoV(GoKs&M>sODWq4|^NSW>iHFGVulxZ_~$%_n$N9a`Dz%!ENgee%i+y+<9KnVMD@~B9U)PUUy(qU+rlg;O2|W8l0%gCI4x ziOgrA2lF~tE%4uVCqx-D20zs1Nv<@T@wR4glxyDVBzxYxgGa(iQGdS1Wg|Cu^ULPB znk~Kw-8YTnxoalB&7Zlgy9Zob`$n0-yRIkf^N=v}^UnC`t<%33_w+^P9@8Wj@!eu% zdbGjP{}9$)fU^b{wEkBWjCCnKCw{m$F_|5$UfoZ#S0u<%3kLbNemh0 z3{VVS(cM0c_5NTccCG%ihBog#AP8+* zaGMRQFB6^(X^^WE>dw)LX zxUg3_{*;Zu!r6Yr_p?8l(vjNj_FQ&oR>-0CuusqP0r&wigr?E{7|SJ?C8h+SX8{yh4Gj;i}D+9S$eSA#gsnl`3Mds{c0)Yl>lxM zJJ6}gZ}GB=?gt!DT@*~PwHIK!rY?H%g`nz$->9IfZZL2tYWoC_4E)@eO$6_S*wBVy z=~=(nd&frx%9Uiil#P=KWqqDKxQEZ%cM8hSsqL{JoDx0oPTx4a0k_@^JpWvbAjV5V zEZMWexUAii^G2-dOM*xHo_At`%T@QKw9O-7r>-*OcTjp^+#NN5-_(TEB?P!6dj6^< zA=WZJeTMP~P15?UWt&ryyiM+nW0d**9!~Ku5wIS$jZ;+jU|uT#*gm`7Kkf{`yZL(D z_haCL_bQ)%JmFL!v}y>+ejC(Jkc#?TFM|051xx&f@+w*V@i3|Iud1=4H<`@myH~W% zU*G=liq`WK3u_m3vhFW>p%S~F8X4#DQ)gj?$IRf;!_m9fRXSwaFK`e%^nc3eMH=&o zep>yB{UiMgD4{jYOw#sV`v10Pa&ZIBcY4HUcbPV35+$Um;2+_CY= zX|tTcyEZ|Y6cFHo0p>gTM*o(}vZVUb&VK0>5o+o37tyA$o*m&_<`dA~YJ`p~2+YN{MJ23$P2NcLHUnI{pXWXQ; zbow6aEkG}W5$;1*tV2&8V#X`&9}uwc2k|Vog&i)EJBYe2a}Dpuu+y48o#Ui<@y!;G zO)zwZBAx-AZ1vQJ0bOBpLF@wh$bTNg2;Fx%1LNiu#YG9H@0WFPrNzW3k^5lAQtlYh z<$Q@_W~aRozTne$*_7q!Eu*Uz+BTRa@vs_3ZWNLz_L{w?KxlyMs(9rLD+7Zmx|9?MCqXo?Mh{pzKM;kk|a!gd5t#M$|Wd8N5k%AWZ?+ z)q9+H=}?f$+RuPRyKEg`ChV-N4uT2L;he8;Xb)deO}qN>X;yTQ9(nbAqV|s$)!h8)+{e) zs{JQ6OA;yWcXf4!1qH`d>D#Fr{giF9{-Kd@eoA5IQ%jkI%Kpr6(TQpor*6kL5B{&> zuKXX$F6_@@$vznS*q1B`g~&d}5|JhG5Lu!mYsJ`_K^WWEA0m;lj7XHSZy`%1qG+*` z>{}x1dxqzI|AqJdX+HPozR!KuIp6DhUFUoKTiKq(a$!5i(DgOa7kvsrcwlpS`c{cF zYqWoQ7tJJ|TBR_Bdzk1~G*A=I8T}S!Ozs8o zeje44C$2dT@W*$8|HfqA`4JP8Y);bWKqAS0K;s;Mazw+!b2(i6EUy)u-!GcK2e@)s_xX`iwXC(;@A>Vd1nMo&K&=3f+;UGvMPNeOi>#`5@NXC*#nV{=`}prnQi6% ze_v?LA#*)cz2gS>FL1iTiM#a5v$~C5wTKbX`Ij((+Xw01}1#rUn9_%hdjR|*Gn0< zwH$`h8)=Js5St>(*`E75n_EBbBo530;Q@+@-~WEh9u>x{GD!V=&M-IfpYy+i1_j%7 z)E1KoWoQn;O{1I_I(E+=Ze@Ow(kntF(jOYB2%n)A(CD`)<60M>JDEhc+N^z^0h*Zq zy2tIt2L3(NelKwdj1$^u)FXyK=uPJubwHw39W{)<+d30= z5=z(UbBf-)pWy$dL|5>E4o$qiV%-E$uZ#vvK=~u!VH$WMjn0xoObh~#!pl1u8L}5K zDa$oLF6*GbISxEwI028cHTKkb=KR^lb+fa%jCXt7^4yoSBnRwLMYcQ>_k6*I0~(ByT^{%@h7|y#fYc&mq%35C%vKZl>k^ z_JizARYC;YCulUyGuDs_e%5|fC$K@}KfV#I!C9HAz|)erDhfIOyG>;=T!yRm71>I6 z9I!#56sqB_@UW9$gu?2(wNBqXdFCNf6TOw56ub-i0Prf{HrfwSXU%}Gzwq{LQo{Oy;F45_OkA}o+QANu9Br_t9k~j7{bnx zB|M){Cj9qdCY^S)196=#4N2POCZ>}bcs{f)i?a4pcTg;P;TGoI6Y<<(tY_unc)FML zR?$9WD)COAGAi-YHQ^%$0OQ0_zJ*St@jMa5*qSt#S$=EY{962E$aF?t0gU63$R$iD zON1KWW~hA$^)TzJVKRgHe9O8jcM-HKQ$9RBJ!VC^vm2oV$pQ*1WiE(}=`!}6E3COJ zJKvW$c~fBhkJB|eqaO3}$CXAHB$~3jlUH80J&vkUEcnoh0-Y#=T6Oj{ zXC&7XGHRxwH=Pg!r}T2ZB}T|uM8dQk^NOtdQFqj9u~*kYnEsu)z>no4^hM$CIMfyo zhHC33Mk6$8yJWRnSy8IQDVq54KS_igI$`mZ1U)dI|EjM}3*BJ(v)KCBFRe6C35M3r zls5tJc?aHd41i_1)OC7^4od3u^!xImLI zPIN}Lea>&L``qwhaZ1-_6AB+m@M72;FQ=}DgOc_;d>EVI0qTjf=N#Jv7QcqeCQej- z&D5YL0ZU?W)V%pOtRU$Cx2gomL-`TY)+|g@C83ZSVVvxY5*yCTuA0WLvLUY|lx4c0 zylJGnmJQ;MHl54922-5`6-9St`KY1bxP{KOcLGS3ZxcC%`)td zKg+bUl%Lvuxe&j_HWe>E#PJrM1_ko4<@arXzyOdnjREhT1t_@DDtF6@;K4EXz9Q%O zHY`^5%W`{f$aHgLwO8j7yMix*CI*oer~RY@%BZqtpefQJ17jX%5Mr$1KM{eoAk0!h z{*lwG)25eaBvbc<>HboDg@dT-_Xt~zp6sU&VNxY6*?sMOy$g920(Dhv$Pl1Yn>jrKF zpj2W9=*~k4AX4H3bYX!^CZGnffD_IIab*;D7zhaj@v_V9!QdT`K^~;gv$D3gGBbm; z$j5{9+j4*rR8Uw0F)WNW0}+&&v_k?(6c*|ZfTUhCi1l=LcfT{+%jBQ<3(2fntMnt2u`DuQ4ILw@bIaMCAbqfmrlSc7hlxy5PqwK&8YA!)@()#wf6 zfNNT?09%&2k{Sr0Po+7b5f+SZ_CF}9MZ9|;$)1#CTre!wj-!m=%-u%Wun>v~2~045LMY7Xq-_i}`k;P^3$swT9hqdRiaXe&sN}i2x{B(@+caQ(cLipC0tZD| zS=mLSS^)5XcJe;p8UuemyaAdHh;fRBAaIIav9`XHrRYA>lMVsCzziT!Y-3XcgkV6J zCkH2|f0^n??<1%t9{lHMv7z^tym8rT0p*Cvh3C!8{sF%fQ<5J=mYup@(t(=3{r0E* z@ICJ69H05Vi0>NoffCazh1(Ufgdyl*)VAR`N7tC~Uk0hy3}U+1tCdt>gAmK}U%y4S z@V8(g2=5bvqybekU3?%O;s%q|R!6Wf(mcI1G=U_rg^A^H`rIA8uepkY%9$}BVOn7a z<@Yz!N{cV$GLHlCVqTE>-NnV_;>Gvf0!%z0|B1SA`}>Dy?QCr)rzjVQdbw(EpOcbe z0T5zZ+GRVt1s|2CrKM0YF)u!_*Uo}8B@yrgVa@U-qM|aP{k7F?{<Feu*NEDn8Ac5J@kczLj zfn{_u==w`&pQ2|+EC-Oao=6hb%_oskQ&XW=fsP+VbZ4?7Zef0Y83eY1c-JNu6CfM6 zOU#iqO&1oKFK*gfe+PVcAi%yEcrBPfTNjyH@P9K8r5#3yONEmAatFJ7dv4N25+ePa zLQqy}A!}pb`mu(L_3fGfj8WjOPN5c8?wM?XewX zI-uUpzHFT}i78nILqs&s&(k9+wYy9#4vb?DWg&#?mB7{jQ3b$tB6sfG7Fet%7cR`X z1yJ+~7Z(?S+YB7n0EZH+pS~z7J0&9n+=Dm4(-bLPphT_qFkpf#z!+5&G~X5P#+_UT?(t(P6PAiN=|>_|H_Qda}hi{8B9O*(7?njOZsf2*99 z2+xH{OiRZs;8S%!d4l|IVvcad7G~~~e1u%O1~?LG+7&Hk6lNpDr9xkYZu;C9Ona{} zmYo21hH_1NtWPKSLa?Tus)F0NmivyJkm1>H6oGD+PUh!ByIO}ETHvfLw)#A2bYLzX zNG&HM+^f9`+;~|-3)B@Lpa?iYN*fx~RaL)wRfACLyJd3+c8@s0Ze)(Da_#`OW3FE~Go2jjIZx#eoJPl;cKv*!{FTVX=%gp`KYtXe|Vce-1Y>Yz78An(J z<2tWYs@Ul{hv#(;uB>@FMMi-yky{M6X}>@rUQwvfTf}B=0+pAl0^Fb=_S`7er8`Bu zySp1WRIm%rs_TaMAU0JulZ)JePYF0jHh?Fj84NE_y_dDGQ#^BKeKJl?0B91YNm(uf zc`c&S2rh15GL*7;@8ob+H6(6nwVtH)$>aU}?B-^3gxboKX{Z%>tTTs#YRJvs6Gm3X zb8?0Qxuf~|Z;liJxVOVifh;2PYFYhz%A=!%guh+ZTUk{C<2~c1Pl%M)2s;vjAs&@~ zL_?|scRkDoVz0>8SV{sy3m~2QPmqPU&arBz@2sd2gGLt3jcNW}2u;BJ<`JMEYn_iJ zl~xAvz2o7+$}X9iFaENu?7XN9ODcmKFf9k zI5y+kHp$+49`z+kjy}Z0Ik-y^DQID-g7CyVF+;OO6VwBHk;k>iXpFmr>>(dZqge;`0{^==`_2Qq z^pAQls`K72$1JUL{}rG!BeDfmub>T9Uo|u=`g_E1fw|%^;qYTub2OmsgQ6hf2rRO0 zTClBq{n)>>_mby>bkEkT_Q#{H!Uz{Jy2e%9Jn0`av7{BIIT%sTxyTH3XjuCrl~HXk zlSjfi`Rkx`9IhCJ_<({PN?8aZ^G<>jq(Yl-1bq)|(>caZ z(K`gSN@~DE2Rt<#%goTRonqM)2)J^%B;Er%L>Ofec7Qq? zN~R5Pcw_{|AJdpdvjkzrj#rk)y*i!nLDvDswpg*1yWq@oRAb5C@ohEImjfp}xqg{s zzN=J6P4KVWV^8=s{^u{s_bDT#Z1WT21PaOqKO8CR4_I{2<4(s2 vkn%)6;&?@2kg(%vLO>rw_5aU84z$en0^a^qqlyJ*LLnFQOfltX$MF9Fi>E9& literal 0 HcmV?d00001 diff --git a/tables/dry-run/minimizer-params.csv b/tables/dry-run/minimizer-params.csv new file mode 100644 index 0000000..96bab17 --- /dev/null +++ b/tables/dry-run/minimizer-params.csv @@ -0,0 +1,16 @@ +"f_D","L","flavor","param_1","param_2","param_3" +"f","L_FGT",1,7.73308554515871,118.063330027606,18.2981654946987 +"f","L_FGT",2,11.5921594797106,53.2853002761615,27.3406960709529 +"f","L_Welfare",1,11.9743452905718,59.1764924789675,29.717104784749 +"f","L_Welfare",5,12.8427809452998,33.244205814352,25.8240555862385 +"f","L_MLE",0,48.4622052345434,3443646224.48591,51.0433803223784 +"gamma","L_FGT",1,6.32941654097075,1.87163172217098,NA +"gamma","L_FGT",2,5.06661209503492,1.62582071865596,NA +"gamma","L_Welfare",1,5.79170334040451,1.76046364010705,NA +"gamma","L_Welfare",5,4.89150486745901,1.28402541668774,NA +"gamma","L_MLE",0,32.4413857250808,15.8015684774846,NA +"lnorm","L_FGT",1,1.32804852566472,0.295921100314083,NA +"lnorm","L_FGT",2,1.23371839168609,0.324481375069784,NA +"lnorm","L_Welfare",1,1.27141411713503,0.311455783458507,NA +"lnorm","L_Welfare",5,0.5250732421875,0.511099288016679,NA +"lnorm","L_MLE",0,0.703854078358836,0.18061269184726,NA diff --git a/tables/dry-run/performance.csv b/tables/dry-run/performance.csv new file mode 100644 index 0000000..d78b2a9 --- /dev/null +++ b/tables/dry-run/performance.csv @@ -0,0 +1,6 @@ +"L","flavor","f_D.gamma","f_D.lnorm","f_D.f" +"L_FGT",1,0.114593035422099,0.118442304051464,0.112173839576946 +"L_FGT",2,0.0571138439873846,0.0497370994664305,0.0474519635595684 +"L_Welfare",1,0.195514126489678,0.17438112408889,0.166604226378729 +"L_Welfare",5,38.335672781811,9.80396337496936,2.43406002776894 +"L_MLE",0,3072672.94314182,3255804.14458042,3036829.65623237