From 3582dcf2a51e126b22f7eae8799237a9cb5ba321 Mon Sep 17 00:00:00 2001 From: ltcptgeneral <35508619+ltcptgeneral@users.noreply.github.com> Date: Mon, 26 Nov 2018 17:44:50 -0600 Subject: [PATCH] analysis.py v 1.0.4.001 changelog: - added __changelog__ - updated debug function with log and exponential regressions --- __pycache__/analysis.cpython-37.pyc | Bin 21298 -> 22785 bytes __pycache__/dick.cpython-37.pyc | Bin 0 -> 148 bytes analysis.py | 51 +++++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 __pycache__/dick.cpython-37.pyc diff --git a/__pycache__/analysis.cpython-37.pyc b/__pycache__/analysis.cpython-37.pyc index ea8634b26eb79590354b9335edbe37a8a2fd17a0..dad93568d08cc9f4b74d62cd72e6f5d66c838ee1 100644 GIT binary patch delta 7702 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 M{z`vkpfV8n9}dceDF6Tf delta 6253 zcmbVQYiwM_72dgf_i20A@!NSiv15DJj$d(X$95ds*m;mRPGTocHYv+`=X$frzB2bZ zwv$#V#gGEwAtpd6pn{a5LMarsh)R`++Des5N=tvxN+Xa;fmTIrRYX-mO4Xh-H}Trb zrUBO8Gw<)5Ip>>m=k9GUk(Zt(X9o)k+!px!F!t{wZfdc-i;Zg^4^;Z$tGgA8g<1j@ zN&8PG(ki+Z%5`)d&4aR%=SiTMZlWD9qlI?TE+|{+X4(y98||UJP;R7KXdjgAbSv$LauXe( zgHU$RF*-zt0ily_8>ZW#tBdZSJE7c6Z>GDT?55*%Hywc~J@f$GLr0<3OApe$bRX2V z(4sMmZ{oD8wW+0PV^d2@7r*FuBYna703l_3y}OsJ<&*AK(w)BGew~!91p+ZC)5}qDC;dkKbBS%6AqRH3%W> zp;Sss(Cb3IQ_xhh6pFRNx&R+2E#@7bpAj$r#Iq_aEs-{5nd4$UsYcgAEPRZ$L4$2X z(T-vhiVhIMnM&$WBbrPI5;eD+*|)0Es4>a!E34yAde0yB;-XFvJ_p;3^==f`wLp~? zupXS$i((6ktUclAEWe}hE4|lsEHQDGE);o8i%hdf)Cd{c*ZJyYH>(K1lU1die$>-~ z0zJn1P)IAbVl9KSuu%r7!ZMux@v>LQ)@q!S!xrHR2eqjwEo|t%oE9-ud!9dE9NL#- zIlBo)ks}D-fT9t_1{6&ogySmsBKwegavu)>b?%;!sB%YH^ji#_BhJE^xN3PeHiCT% z2=%+O3!!CQ(09Z5N{uGNOwZ;}%ZAbX>joa9@)Uga)gbu8WzT&9dP()4n_jQ*$I5SM zziv!&2NS7siEpT=3-&{e4WJlAaXlOv{x8NlE8xwi(-r4QSM?HT;Rpv)8jHqF*5tMj z>Gm3*S$=q1#-wcsBfVqGVw$i^K%EWYl*}1e;MlKu*^1L65-P*7&)_Y@SvV3`O_X8I z0z`y2E&S~jm$I2<&zU(gdYp@r#)2}o1C72hpWcFL`f?B!qLK>YAx?#_SaspR0=wY= z=1N={^`Dzm|FCd%^+Zc9*XIrw66#|Mzh`w#pdYF^8MR=?mmrf0pg&K$){9;w$rp#_?(ZrlYGE>$Nj%NiOGp>UVtUa?s;$&F#8L&)X<-_QD4DxVw z-Q{coIhfqudNd#tOQ|uVCpU{S%KmRwDkZ?8m4J^da`QdakB{GoKpD-Sn?QcvS97>I zm&bEQ3Hj5;e^FC=q#tTI>9b(Pm!OXgKtHwc?dzY*zIE7Pq$BO9y`T_(`tkaM#BO?n zf9%_kmx(|tZ}ImRV=@=kU`_0uP#a%5e)k_bJC^{C^jbt#C2*u{~s2)tl=nMR4 zODmaA-`8S8OD?ot%$xzZdN4%ak3vUbfLQXpUT^}N#_>}q&>~+Ro56YlMG{2{#ViWx zjybHIMsWs&$V)M}{)O>s$X{vmW{1!XbAFW;Z3ZdFD}#A21V2$N!ggYZmuv0oc4nL< zk1ZO9v5ltYgd>%V%}qrOR*9XeHmikM0j|sk;d2WzE65x&V@6{@qc__9rAwX1@?heJ zB<{x1e4jrDC7=KVC@FmV2{8gVVldf zi#6H1&}LJMcG1kg-&JK}PXGYF+%;Tx2O>F)5Q}Jr&Tc{FO95oqcJj{6-v}-o9C<>0 zwnaNRjtiyfcy8d#A})Ip1!4*{s87d*HFPSH^K}7(HOecxKh7KpHV%D}-Q&rE*hBAc zy;ixz#-JMx2Bt6bMP)PABo(aj(5!h%k;Oh28^xicC=g68mFk5%oQzG!6G2!2Zyd>) z;ABvTHx6C!`+HVo9|`>FA;e$p`Dp>xU~eX!`1#(N`nLfjau#00&58>D7G>OrrWPWT?yFvUd9lsv!vozwGMWv*eJym7FJ z9NvWUq3<&ppX~uj0a^+UR?hOqpvG`c=+$v9!i_HZEY-uUY}JcO)Y{@ zK@wS>xZ>)KXbE6D>w8Dx7q<=MV~!N6F$Y)V68_;fpBFQyutg0mu0z^9%6;2+W#^u! zV9FZ`zia!w4aae|GpbMFi@pXaT1F^iuQc_qFzG!dJ+PyPj7oj(sIE^>hGQXJXK1nc zAaRX@6~l}r8S95mpOyU+3PHw%HLgdpcEbJwV;?B#%R4)X9nTXh;?7;#`hKYT6w{3V zVt1A;e}+E7AKaBbC=-yAeSnibMS-RT+gu`I;O77Ovn_C>jeUw8%F8qtSDullSgzTf2KfC32NLh2n209JmcU5BKk_ z$W9~^FkyuMWN#&z;BW5zn#`xCD-y}7I6RRSu)9*&tI$g%$I&b zeLx?X)!s*qIXuMhY1STdJ;s|R{*Hiq1@pF*6*nyUqq=cQhQCn7!R$$+? z_~2S~b~416bfP?s3LIHfuxLw1p!roa6H~uM$tTXMe;&e)aL>U5XK{x4EJ(3pD_f?nG2KR4j^{D1Zux*bjLI(>4?(u-r%XT>bA8dBGqYL%fOvgK!pt zp=sk-l7D!xbdNkm@)S5>4I6>=!a=ogG#-k{V=i1%(}}Q=OvZGmvXH#~nfXb$Ah|I) z#7bZxJI==^s_Nyf5ohjo)^tfg`kf-U{Oqm_a5V-N=hn1BoiATAaH5*0kD3@HrFjEoG0OyLYEjKK_=Ot)B4 zGLy6YG#PKP78GUXm8@haVg@P&6Tg&QtYQL+^0QKtONwJkii`}5j1-DXiV{mw(<@^@ a`t%AaZ*kb<=BJeAq}nlp>;YNG!~_70MIs^q literal 0 HcmV?d00001 diff --git a/analysis.py b/analysis.py index 1413f737..cbc335ac 100644 --- a/analysis.py +++ b/analysis.py @@ -10,6 +10,51 @@ __version__ = "1.0.4.001" +__changelog__ = """changelog: +1.0.4.002: + - added __changelog__ + - updated debug function with log and exponential regressions +1.0.4.001: + - added log regressions + - added exponential regressions + - added log_regression and exp_regression to __all__ +1.0.3.008: + - added debug function to further consolidate functions +1.0.3.007: + - added builtin benchmark function + - added builtin random (linear) data generation function + - added device initialization (_init_device) +1.0.3.006: + - reorganized the imports list to be in alphabetical order + - added search and regurgitate functions to c_entities, nc_entities, obstacles, objectives +1.0.3.005: + - major bug fixes + - updated historical analysis + - depreciated old historical analysis +1.0.3.004: + - added __version__, __author__, __all__ + - added polynomial regression + - added root mean squared function + - added r squared function +1.0.3.003: + - bug fixes + - added c_entities +1.0.3.002: + - bug fixes + - added nc_entities, obstacles, objectives + - consolidated statistics.py to analysis.py +1.0.3.001: + - compiled 1d, column, and row basic stats into basic stats function +1.0.3.000: + - added historical analysis function +1.0.2.xxx: + - added z score test +1.0.1.xxx: + - major bug fixes +1.0.0.xxx: + - added loading csv + - added 1d, column, row basic stats""" #changelog should be viewed using print(analysis.__changelog__) + __author__ = ( "Arthur Lu , " "Jacob Levine ," @@ -564,7 +609,7 @@ def exp_regression(x, y, base): for i in range(len(y)): - y_fit.append(np.log(y[i]) / np.log(base)) + y_fit.append(np.log(y[i]) / np.log(base)) #change of base for logs reg_eq = np.polyfit(x, y_fit, 1, w=np.sqrt(y)) # y = base ^ (reg_eq[0] * x) * base ^ (reg_eq[1]) @@ -714,6 +759,10 @@ def debug(): print(poly_regression([1, 2, 3, 4, 5], [1, 2, 4, 8, 16], 2)) + print(log_regression([1, 2, 3, 4], [2, 4, 8, 16], 2.717)) + + print(exp_regression([1, 2, 3, 4], [2, 4, 8, 16], 2.717)) + #statistics def below------------------------------------------------------------------------------------------------------------------------------------------------------ class StatisticsError(ValueError):