Skip to content

Instantly share code, notes, and snippets.

@cossio
Created October 31, 2018 15:46
Show Gist options
  • Save cossio/8c5bd3557aa1313919a3d0ccccef7ca2 to your computer and use it in GitHub Desktop.
Save cossio/8c5bd3557aa1313919a3d0ccccef7ca2 to your computer and use it in GitHub Desktop.
Distributions.jl numerical error on Multinomial sampling
using Distributions
n = 4969027388018185
p = [4.471459552709845e-5,
0.0021070048390116223,
0.0017485819413324416,
0.0022622153482103544,
0.0019479678673445784,
0.0015864519243622935,
0.00037279832670023585,
0.0003571055036034155,
6.832900968690512e-8,
0.0012498616346900723,
0.0006154161690841011,
6.76984377341047e-5,
0.001675670140834055,
0.000404331103559781,
0.002292995064136619,
0.0022553831444972394,
0.00041506923156865407,
0.0005231758846221399,
0.0022890209086838626,
1.581534602293401e-5,
0.002115169085758726,
5.796096143731038e-5,
0.0020264829026080326,
2.9739961101016505e-5,
2.636524405628579e-5,
0.0022573747044217474,
0.00019918476693487694,
0.00038299824949531873,
1.7095918838441598e-6,
0.0001865101999797642,
0.00020329068685185248,
0.00028512161194031434,
6.190406567807905e-5,
0.0003222988550610034,
0.000818546910069488,
0.0005938220501209944,
0.001030514318743356,
3.4854044320913586e-5,
0.0013957805661304829,
0.002128827001664526,
0.0015658619730112445,
0.00010232178391662463,
5.18239688950596e-5,
0.0022600646968006575,
0.002278441643359069,
0.002296038019556968,
0.00011872209387521513,
0.0022778594143785485,
6.831145881835999e-5,
0.001109631616861696,
0.002287382790470481,
1.7131983198379593e-5,
4.649073286356238e-5,
0.0022857278223002257,
8.765555962727253e-5,
0.0006787527143287041,
2.2645248743952174e-6,
0.0009266111703088126,
0.00010157312158503905,
0.0020909714941501688,
1.4136852443771944e-7,
0.0017054457799256422,
0.0012146377082439413,
0.002122890094230816,
0.0003224105044628761,
0.0006694868825888904,
0.00011587762202006314,
0.0009345140563493087,
0.001768575895137643,
0.00102144310927832,
0.00031771392009902514,
0.0010540187815280368,
1.7776502371839724e-7,
0.002269168450780254,
0.0019519290796458156,
0.0020027979499040636,
0.0004923938197339733,
0.002284867612320839,
0.0011294078905705717,
0.0007480694452918763,
0.0020219057261736356,
0.002297879103313998,
0.002189575774431354,
0.0020137367406418425,
0.0022831657433767605,
0.0020441183423982904,
0.0009216147273205245,
0.002153468180649054,
0.001992564882154766,
0.0017619371136754997,
2.8145435183409778e-5,
8.144338445294046e-5,
0.00017439820796705802,
0.0013173648111448736,
0.0022962327379338135,
3.0541203959085594e-6,
5.093056446351103e-6,
0.002269727154101779,
0.0022975026645276585,
0.0010868557005111585,
3.183647020338207e-5,
0.0011761966547343887,
0.002296035716547356,
0.0021257355598418523,
0.0022924207626635828,
3.935224508620575e-8,
0.001971806594740945,
0.00043136168249144845,
0.0020248673196949663,
0.0019201121969409597,
9.709124819016457e-5,
4.501542637898813e-5,
0.0012250126333373623,
0.0021785120498612007,
0.0008959640458699448,
0.0011454812586889835,
2.699095456531485e-5,
0.002290073806639522,
0.0002646375260087288,
0.0022900737081962244,
0.002260335600477428,
0.002132797669139602,
0.0011280158304194435,
0.0022984216427798716,
0.0008764035959537393,
0.0010039330464687317,
0.0017568951682122823,
0.002119610495112385,
0.0022968232262070357,
0.001617160665639798,
4.178723147964267e-6,
0.00026169159028205266,
0.0021781305826058792,
0.002283433014154076,
0.002255533864758048,
0.0019878893213849335,
0.0022316271691867097,
3.975677262154657e-5,
0.0003379371695650449,
0.0005009029640769331,
1.7669945369611722e-5,
0.0015644771432660797,
0.0022961793833453266,
0.0020347823625059074,
0.00022335030133722368,
0.0021290613913731737,
0.002090663517637958,
0.002216707385695566,
0.0020158419031978386,
7.274635914978455e-5,
0.0016420242012308642,
0.0022824043053086035,
0.0006533960394100074,
0.0017596353193399608,
0.0022828009223300845,
0.000981040051649729,
0.0020886656105694014,
0.0008764030274678122,
9.047855170428937e-5,
0.0022963981590616474,
0.0022817383590933034,
0.002297944183877718,
0.002298093517404932,
0.0021022473823566748,
9.717324416596155e-5,
0.0001722060954947035,
0.0022945648265068016,
0.001940132959907551,
2.824227619774098e-5,
0.000947161170803769,
0.0016102692659254278,
0.00021614574955311882,
0.0021613584388654136,
0.002286809894223594,
2.469708544364712e-6,
0.00034409372219210366,
0.0005385128211511379,
0.0017999924109749058,
0.0014432780172414976,
0.0004598506464498698,
0.001461367606810075,
0.0022963981839360654,
6.494304016799652e-8,
0.0022598123143868346,
0.0017967247479417918,
0.00016304948442778328,
0.0008370270325931576,
0.0017814743191375962,
2.1912084226708418e-7,
1.8214668125456546e-5,
0.0014811230695787171,
0.00017287302063863195,
0.002250305960767332,
0.0022833438566379283,
0.002255533726413805,
0.0021259511437146713,
0.001676119631796834,
0.00019142102894606575,
0.002241328909355123,
0.0018886883934998567,
0.002285727703600947,
0.0021762161323477824,
5.1801679520724365e-5,
0.0021248584862315445,
0.00012713989495118333,
0.0022943892676415617,
0.00010067711624867532,
9.536949442055807e-5,
0.002060071870296402,
0.0015527551326469384,
0.002078645547192095,
3.3317818509369006e-5,
0.0006490851818838904,
2.2004563946970256e-5,
0.001987888546718716,
0.00033221729299951034,
0.001504278952011213,
0.00013629807668610197,
0.0004166786847675499,
0.000537395226057682,
0.0008013419086927213,
0.00034894723606872924,
0.0011454817781435288,
0.00031193356712513393,
0.0003514543386359946,
0.0022824041686221484,
0.0022075352364968113,
7.051388450432653e-6,
0.00022113482287527614,
2.4717897017305198e-6,
0.0017079705346157471,
8.074295185789268e-5,
0.0021271084528786794,
0.0009266109616412404,
1.3912947009777388e-6,
6.769872373629186e-5,
1.6635283660262119e-6,
0.0004337956830722169,
0.002295953624754392,
1.094697084280832e-5,
9.366742382019272e-7,
0.002061222741971134,
0.0017948369357860447,
0.0021359496675538575,
3.6273342226166984e-5,
0.0016623004257552282,
0.002275408261002751,
4.753345417842479e-5,
0.0022843930058502665,
0.00041129338008342737,
0.0004830834285359275,
0.00018897304994837857,
0.0019257098706674507,
0.0004651096191679822,
0.002230821598913781,
0.001456341994195217,
0.0008492427213373319,
2.2836758581777595e-7,
2.1390177972064174e-8,
0.0010494670204461278,
2.918106657530976e-5,
0.001182398169980199,
0.002186539574957174,
1.5937068136361301e-6,
0.0022148103639090247,
0.00020020499575499836,
0.0022555309019409355,
0.0001241995585566584,
0.0008594190527921355,
5.10519472814588e-6,
0.0004018680319529964,
0.0008491788937101754,
0.0021611889220220573,
0.001548589985671698,
9.571658136213201e-5,
0.0017487633941722827,
3.490352739335629e-6,
0.0022901479596390013,
0.0003205415767504236,
1.372381888106272e-5,
0.002289237102922255,
0.0008830679789739796,
0.0016690255259907906,
0.0013376292022159039,
0.001568546696631591,
0.002177713018597937,
0.0018160281427517153,
0.0016164469935693847,
0.0013458982543458908,
0.0017138851797931355,
0.0020239052420853235,
0.002296742876004662,
0.001776999937168016,
0.000717989602444312,
0.0015199318555854486,
0.000654165955391166,
0.0013669118914018104,
0.002039153891885266,
0.0022827089979590926,
0.0018619388233239887,
0.0006130831751831833,
0.002267755663683068,
6.57028784610364e-6,
0.00015388927255598547,
5.28000778943995e-5,
0.0019780825777750257,
0.002296745429524279,
0.0005231759783893802,
0.000489721100265873,
0.0022819316450823704,
0.0011842526255258997,
1.8203418032522809e-7,
0.0022861151022477337,
3.816224877107264e-5,
0.0022430972243577866,
0.0004214667714735843,
4.7038242315685034e-7,
0.0020612230494485343,
0.00016324212812676006,
5.7912663810705673e-5,
0.0021368717195112924,
1.1870535503293155e-6,
0.002277859429200203,
0.0022658542715924632,
0.0007837684251774294,
0.0007323129808831479,
0.0006703927589769206,
0.002289778038994929,
1.5902931915144333e-7,
0.00015313658941303092,
5.83822837315571e-5,
0.002297724993626846,
0.00042781903200307333,
0.0007918511337726342,
2.6225981361960315e-6,
0.0022423301175652794,
0.0007895507566687008,
0.00039874254025571505,
4.662226285065978e-5,
0.002276264668048806,
0.0019230135210301063,
0.002147748832483636,
0.0022979354395610764,
0.00011352514344627075,
2.8145419623493822e-5,
0.0021046898903168913,
0.0016663984408903756,
0.002296993160353125,
2.0877657910005003e-5,
0.002197012629423246,
0.0009586448515194724,
0.001505606669759898,
0.0005119643667579818,
0.0008396508216735408,
0.00032227370858063024,
0.002100096643212276,
0.00011986489088109466,
0.001302814399565678,
0.0005235813351054638,
0.0018270112140832693,
1.7774255207624845e-5,
0.0010015487104047276,
0.0006541658670570518,
0.0011299527137776262,
0.0009359435466085297,
0.0022959536381747495,
0.0013330923268817603,
4.851977568807762e-6,
3.7138499438137e-7,
8.10011049414053e-5,
0.0004766097706573394,
0.002017071503220801,
0.002077263271193028,
1.7794425673611634e-6,
0.0008485278020815941,
9.632376686608663e-5,
0.0012334043882264133,
5.802038632610559e-6,
0.00033546239783179064,
0.0022751474348332353,
0.0017650277171417782,
0.0022582946790835855,
0.001437782998968944,
0.00011995271236722252,
0.00044447220931979816,
0.002289509824053309,
2.2621157828974654e-5,
0.0010015481368430012,
3.991210104233751e-5,
0.0019829188059863204,
0.002225920747109962,
3.485401950971807e-5,
1.3954509439569315e-6,
0.00017413283454675155,
0.00182521808517573,
0.002195806406289341,
0.0019097773418506685,
0.001908816534733813,
0.0017577073310702678,
2.5400759451368706e-5,
0.0006950581355666473,
0.0015485905004045699,
0.0018874665698676084,
0.0018139455469091705,
5.093113785477699e-6,
0.00012083429231901847,
0.00010065112281365853,
3.120506175124444e-5,
0.0007274241692995611,
0.0007961791318182285,
0.000272217760466333,
0.002259812441807205,
0.000740050263752476,
0.00013001174931857697,
0.00228497494499164,
9.696522166243167e-6,
0.0020916438648677415,
0.0021044576210715433,
0.0022361354269183746,
0.002282314911872823,
0.000492393468963626,
0.000719610283951619,
0.0007488271577032957,
0.0016623006067906048,
0.002169057420513841,
0.002262017424606863,
0.0022953856842967218,
0.0003331493671717988,
0.0022978475420543996,
0.0021332611983893236,
0.00032816263517443606,
5.326878082017814e-5,
0.00012419980597276687,
0.0005216286388720509,
6.82830592795846e-5,
0.0012025618612641715,
0.002038472911657641,
9.53694780143421e-5,
0.0015731203284050132,
0.0014274199947566497,
0.002298251070211063,
0.0012972174150158986,
0.0010767479011868479,
6.407718434397003e-7,
0.00020315229807732967,
0.00014633622519054693,
3.7809226873569603e-6,
0.0010610439507225996,
4.468334539259302e-5,
0.0011107119609313442,
1.0439530491095536e-5,
0.0016994457853528769,
0.0022962902324258874,
0.0004214662485478082,
0.0022764578870065107,
0.0015858287836774615,
0.0015215267722343687,
0.0012729867527310579,
5.160485593078525e-5,
0.0022954856406898483,
0.0017368693549941875,
0.00015365319832857984,
0.0004906656494457248,
0.002259980867508954,
0.00018765355421077886,
0.00014827797019577308,
0.001158797988627092,
0.0020631903522051282,
0.0014236034519464359,
4.8573769280690014e-6,
0.002207811760997752,
0.0008817370196025464,
0.002244451139566615,
0.0005847033781846144,
0.00197945847135594,
0.0018649818815595852,
9.879500923258798e-5,
8.233507559393121e-5,
0.002039085137420756,
0.0003897842946765334,
0.001568547096842665,
8.660763748352747e-5,
0.0022829285233563735,
0.000822520991362355,
0.00017098832659024726,
1.084827769670039e-5,
0.00013885256176916723,
0.00030537540447218517,
0.002192242315406392,
0.002042942629588229,
0.00223559811269964,
0.0018867407354712766,
0.002287874658147714,
0.002205305664461923,
0.0019061230177334321,
0.0009811481765581763,
0.0020972457768446834,
4.158432005517932e-5,
0.0022755824457900836,
0.0014608378875101229,
0.002169829163770365,
0.0010455978535631933,
0.002285817770683534,
9.470245778270526e-5,
0.00040363843301476326,
7.893169849527305e-5,
0.00204411842191888,
0.002217727456969838,
5.796147003720795e-5,
0.001201828505429106,
3.28045244969461e-5,
8.165834806867968e-7,
8.797929085409585e-5,
0.0015009415992056248,
0.002098282145599577,
0.001086854305944788,
0.0022343065944131868,
0.0017761284497732099,
0.002295864495894403,
0.0022706233695006096,
9.417815697319648e-5,
0.0013616194006140145,
0.0022649485290070657,
0.0022921946926214394,
0.0019682142734847893,
7.274637472610633e-5,
0.0018873408490002314,
9.035007234943454e-5,
0.0006440718154614813,
3.688961748602051e-6,
0.0004715384690490316,
0.0008592927744515355,
1.265650136890129e-5,
7.221909641828079e-6,
0.0001316995395529833,
0.002237544087004144,
7.867232458978168e-6,
0.0018270115518281992,
0.00024205247863683346,
0.0019954290152481846,
4.025897280923249e-5,
4.073214590407644e-5,
0.0022148104092406945,
0.00044179991416571626,
9.044506861460614e-5,
0.0007701036266053393,
0.0004903532924526428,
4.501538348698301e-5,
0.00010794548173740115,
0.0004885173029607186,
5.843241704931037e-5,
0.0007274249084531895,
0.0020997671323946003,
0.002227150795740755,
0.0005294002053824561,
0.001940133617999243,
0.0003999181137575919,
0.000477195980583897,
0.0022828514953152986,
0.0022555763133375777,
1.6622323829229905e-5,
0.0001829690200795094,
0.0018334274571940457,
0.0001530607297649489,
0.002222066942083573,
0.0022755821929992697,
0.00031696208911455895,
0.00017287364810386705,
4.07854938822199e-5,
3.7632072005350014e-5,
0.0016792464363467186,
3.989182688239144e-5,
2.2730751649348155e-5,
0.0012157254671889468,
1.8456603224528577e-5,
0.0006950580397398769,
0.0022220476206017492,
0.0021503407064825913,
0.002270353597674278,
0.002296763648556487,
0.0018797131496104107,
0.001575457203627051,
0.0006878754076782665,
0.002297725018499663,
0.0021482544574830103,
0.0018256745458792671,
0.0011091334752711742,
0.0015909331354723895,
6.17334255705281e-6,
0.0020063842310882266,
0.0019325473381677667,
0.0022918708844129262,
0.0020791242608382524,
0.0017746653029027926,
1.7412547190511092e-7,
0.0001122082120581274,
0.0020108536599827524,
0.00011959360606481104,
5.2124247425552526e-6,
0.0022878745848545316,
0.0004980765643010943,
7.613242794188529e-6,
0.0016623000137959893,
4.668835656193821e-7,
0.002292420824756795,
0.0020009630916019436,
0.0019230132454728216,
0.00032994599444706083,
0.0005821248466639387,
4.4433817492689426e-6,
0.0015306534130701064,
0.0001935929448643853,
0.0022271508582949306,
0.001252968726141306,
0.0021116774371700148,
0.002294275017224835,
0.0017915887368140987,
0.0019114158519745817,
0.001131555657675389,
0.002245222459105732,
0.0022756693589690183,
5.8382284978399105e-5,
0.0017237343181782999,
0.00026169259492659703,
5.6088475671135444e-5,
0.0021121089366648573,
0.0014831979319205526,
0.0022444510958327113,
0.00016148461001997297,
0.002000963256487595,
0.002293333102979862,
0.0017793918865225153,
0.00011301740578356185,
0.00010794552989247202,
0.0013527250059562471,
0.00041402553454390463,
0.0022665102512794506,
0.0020055794459712343,
0.0021970178030516862,
0.001102421226497027,
0.0022970744996557327,
0.002293589096932367,
0.0022880601560399177,
0.00041402532134152484,
0.0004709180570279051,
0.0022980636462092575,
0.0011375883260261383,
0.002292649592525276,
0.0015113322680389678,
0.0019267475604970625,
0.002293800233269744,
0.0021904840033873645,
0.0017501784922034898,
0.0014193423550843672,
0.0010902377542855442,
0.0017054463184957643,
0.0003592355818051546,
0.00037316343156272396,
8.849214067025213e-5,
0.001228293333616552,
0.0022090344964680454,
8.997124511119374e-5,
1.810888276237296e-5,
0.0022686031148370788,
2.685679056646595e-6,
0.0016761195761927224,
0.0020108730401701873,
8.032440364425157e-6,
0.0021735923059813815,
0.0022973276818002582,
0.00227160928662851,
0.0007644894874911036,
0.00034456109760648237,
6.047224688139658e-8,
0.00030884431006135226,
0.0004906663857227333,
0.0022577422808083853,
0.0017342102979890008,
0.0021694729124464374,
0.001280012068035016,
0.0020929847222223887,
0.0019663730940582447,
0.00028594093626262357,
0.0006467045246884372,
0.0022500641130676433,
0.002117090933067862,
0.00047298079814919405,
0.0022870846985335305,
0.0020093003313735027,
0.0010690356254388902,
0.00040433075264098106,
0.0001273154776820836,
0.0019122738249765646,
0.0017615708578185866,
0.0016623000739549156,
7.537806279586425e-5,
0.00014452182439176795,
9.20316759014753e-5,
0.0020821590583190294,
2.396552392106152e-5,
0.002288708317478553,
0.00032524025197067867,
0.000986403602180051,
0.001210970520445758,
9.640551170005437e-5,
0.00029802665672252083,
3.2453574728008175e-5,
0.0001829685457353554,
0.002295874420511058,
0.002086105308457412,
0.002291870865876355,
0.0021646209441465152,
0.0002224462404996021,
0.0022953399719906078,
0.0005679161227018682,
0.002284757289282359,
2.1691389730584427e-5,
0.0021361544760696355,
0.00020020516157658174,
0.00018281058803409022,
0.00042802134560400955,
1.188247057024871e-6,
0.00035710587053549214,
0.0007250930604276821,
8.02051645758584e-5,
1.1868414063247225e-5,
0.0020609481847479894,
0.0022555336768674407,
0.0005536899928566495,
0.0018188659711565786,
0.002213602985495175,
0.00201087381332747,
0.0016067615109574397,
0.00043312197489571804,
0.0006250495080624401,
3.792829437594299e-5,
0.0004444722618756291,
0.0016761191605249692,
0.0014193522168003242,
1.181995745348333e-6,
3.84079807505306e-6,
0.00024794270399184737,
1.7065488659008469e-6,
0.002117091259199475,
0.0004945781156117619,
0.0014793473662188968,
6.489771418683374e-5,
7.307877240636873e-5,
0.00018281058523109657,
0.0019408600936228885,
0.001692104050992644,
0.0017711099576481501,
0.0014060147609233152,
8.020559662381847e-5,
0.0022962793865778574,
0.0022862400561368184,
0.0018797133338077083,
0.0006472166735188955,
6.769843447855062e-5,
9.696467720942424e-6,
0.001245734642036457,
0.0021032625630620504,
0.0001267805546574224,
0.002196587870613562,
0.0006015679934760462,
0.0022782624605315427,
0.00013337677030927738,
0.0006849490220784683,
0.0021819641738153144,
0.0022167522362629955,
0.0021070594529205354,
0.002286108879234489,
0.002286832644434095,
0.0008953325579404327,
0.0016501476570916869,
2.2837880939651047e-7,
0.0022902511834000023,
0.0010066276633510182,
6.238514710040808e-6,
0.002148554023470108,
0.0019131008325281621,
0.0022464466880722663,
0.0012654028130135468,
0.002291147056365841,
0.0010797340118846649,
0.002097667311670672,
0.0022770984339302172,
8.074270458063343e-5,
0.0016942457926846651,
3.513766635471427e-5,
0.0022908947912708075,
2.254095102423496e-5,
0.0012340535625141014,
0.000537395227595027,
0.0014115338503570434,
4.893477015072165e-7,
0.002285826631245384,
1.766984755693734e-5,
5.754822712268396e-8,
0.0015310938483238561,
4.668967791035338e-7,
0.0006605667865628432,
0.000986208310306702,
0.0022925036247764233,
0.0022873434990121435,
0.002168336099850018,
0.0016896684302099175,
0.000695057705222091,
4.600029260194495e-5,
0.001225012597827174,
0.001059838737777604,
0.001210644193009784,
0.0022380225252894865,
0.0022981111295888135,
0.000170116872566471,
0.001086855400304736,
9.738889286856258e-5,
0.001964938068097029,
0.00045364488209936096,
0.0013405671678756084,
4.463959505519255e-5,
6.157064601352541e-6,
0.0017142887673756652,
1.033634397689829e-5,
0.0006058790781634914,
0.0018592042659500837,
0.0001440651984560563,
0.0009345154915572868,
7.274650138980833e-5,
0.00018651030925490202,
0.0021533335046859145,
0.0003445766121859674,
0.0012973812557190755,
0.0021970176917622346,
0.0009548412219245655,
0.0022953399252504383,
6.649902926598361e-5,
0.002286108756514185,
0.0018588652256346214,
0.00010462442343457898,
0.002286416975818465,
0.0013172445819526837,
0.0006111752711341033,
0.002128948109883129,
3.502834372247638e-5,
0.0003897841386752313,
0.0022901012710319904,
0.001417264773130835,
0.0015993438008803788,
0.0022886184283362455,
0.00013991977545052087,
1.5914980226244695e-8,
0.00048314541673461056,
0.000974068329690096,
0.0022982510553181835,
0.0005770544295855949,
0.0008655024382415872,
0.001896511691370918,
0.0022114000778187437,
0.0022464468357414145,
0.0015945368216305782,
0.0017285559312989762,
6.527968298715153e-6,
0.0021983001516198944,
0.002086105465960046]
rand(Multinomial(n,p))
# ERROR: InexactError: Int64(Int64, NaN)
# Stacktrace:
# [1] Type at ./float.jl:700 [inlined]
# [2] convert at ./number.jl:7 [inlined]
# [3] rand at /opt/julia-depot/packages/Distributions/WHjOk/src/univariate/discrete/binomial.jl:111 [inlined]
# [4] multinom_rand!(::Int64, ::Array{Float64,1}, ::Array{Int64,1}) at /opt/julia-depot/packages/Distributions/WHjOk/src/samplers/multinomial.jl:14
# [5] _rand! at /opt/julia-depot/packages/Distributions/WHjOk/src/multivariate/multinomial.jl:161 [inlined]
# [6] rand(::Multinomial{Float64}) at /opt/julia-depot/packages/Distributions/WHjOk/src/multivariates.jl:49
# [7] top-level scope at none:0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment