From 3c405190e5a17fbf28fb48960eee3902af0f9973 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Wed, 15 May 2024 20:13:58 +0100 Subject: [PATCH 01/32] first draft --- papers/sam_morley/banner.png | Bin 0 -> 506825 bytes papers/sam_morley/myst.yml | 53 +++ papers/sam_morley/roughpy.bib | 135 +++++++ papers/sam_morley/roughpy.md | 697 ++++++++++++++++++++++++++++++++++ 4 files changed, 885 insertions(+) create mode 100644 papers/sam_morley/banner.png create mode 100644 papers/sam_morley/myst.yml create mode 100644 papers/sam_morley/roughpy.bib create mode 100644 papers/sam_morley/roughpy.md diff --git a/papers/sam_morley/banner.png b/papers/sam_morley/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a793bd6c7b21376946a67fcaf6d67668779f27 GIT binary patch literal 506825 zcmV)DK*7I>P)4Tx04R}TU|TKTf5E`Qz|6qKAj%+|m|R@o z7!cqCRKftGQNg!s42&T9vM$K12Rq*H-NILPRC>jxyAF5R)?ung0bD7m#mPYW4-ls% z7ZjB+FfgV7*~;Z51t4|@kS$UKbQF+12gFW?us49%Nf7oCu$qt{XCV6qkS&m$kq9({ z@dc2rlY}Imj>LxA3j#bYu0B2rp~fbLrr`vfOFAe?ttbJ}&iMtEMVaXtB?^wfP)b$s z%uCkOQ7|$vGGSltkdZPs)rkcsX zzNoGw=04e|g00;m9hiL!=000010000Q0000000N)_ z00aO4009610=%FD00aO4009610VV(d008zwH;VuOKmbWZK~#7FJiS?rt=Vc_U(a9vYVnvi4>(MVl2g`6j^eBycmJwz_=tayK|(TL@I7PG-1DuqIw{RY7Li$JxlcB@d5nhxeqTi)pNn-i7lj<(`F**Hs8p)4m`&s9!;fOUeLI%5 zPAvIv-MffFzZ;pwBnsJe1mouaqsTStm0}v-nz3Y;OI}??zEq4Q^UpK>b)^!se4g*T zZ#s)fe;kYXf_oKXHJxzpWlUzHC=`$jU-?`<%GFBDd2KoB$8t80Mzay)%Zs@2+AA^P z{uAcA7!4y+Eb+c+6iX%K8?l@&V)y2LRBFg%K978*6wf|<7?~CG8;qjHIBNBB^iQ8f zel?G4d+oS$cQ^9W5waS^+4)&)ZdIdNKvc-R$eQGfg>;_}9~{MkwHvQXasS=JxN-Yt zbUG#Gx{d{(-RZRA^1K&Q?mM0ixK0Z>ty!~NOh&8N-P?^pe;DO*J__Yb?C)&EU^Ix; zY8Lz38d9GLMD3!}`-W^7NFpd(hXV8Ty`ZOIc`FtrR=wbhIh;HT4$rbXRMTxaOKkLSvg}>-s#**(F z%}RXl-~3Vh>aYG<%yO(HIyW55SyP0|g6H{GZ`E19Y2?tQVm=$4W*s>d(dP-TW#aWe zdp&;l|NejC_D}ybvRX!wHJA>ENsraDEbqyeOWY6rV9|z`gP8F89N8iqR5TNfPAvu( z-6+;dvCgj|w?x-ZhH?7-qsW$PF<&hsm(3z4`^sO5r&DB;tpoyA zNh7c~jEec>m_RYMC(QeMzaM}3SAQ|S{Ifq38Ek5+S&mw@7^i3bm^0rl<62=mJDqkk zYLz6r?!{#cy4|>Wa|c;9qJTWQ$n`gW^Y6!lXQzA)8_gD@j6G*GkQ_F@#3r$g%xV&! zd+pW8&L)A9M5T=WBcGLX;eKo6nPE;{)}l~EXR@pK<-h$m<6Z98n?>|zE2e|}@Y&+< zB5pUz@%a~T#QBEPn;Wfo`Ir7;yz%3AVo@qY85^36XSe}ojCdQ3O0?S> zF}%2l-syQ%nypyP#*rC6i|0Dyc4(D+> zVr1oJR9Ua_C30X~^YH=?6v&V@#@{R^i$KD0|E&isX$G0|H^zw}Mh$(P<1dmkV2;W* zkL~1H2lZrzU1hn3`n=>bW!6AnIA7q05lN+9MbEF~gtv?}dR{8!lMh;RtqlJa@NEnv z7TC+x7uUx}EE$(RZ-w8TFz$Szn0)kPF~on>80#qNcD9l~DCP0J=tzNaPg(C7!t3E@w)S_Uw8r-Edrkb-3pYB^T;ng%6=TqxF(2bw z9vz&=CH6DogOlkp`HOlRKaL(RPP?&w{9gR^|KuzDZ4}!(9X`8?nSKc0?lR=ipDMn~ zU#4Spoqz4E4c@biDzV_AH;lvMLq4^_e{Mt(UAwlsn`|kA9%os;YN;GK>~@At&#}S9 zVu}wPCiBf?iAc;VkX5CCu5z6+_f!{W=vccofp{fIm0^>8vt`Zg|X#6S7x ze-@?NpN;k=c3dHb5mTzA9DZaO&1N+!$Zm!V_2pCSRsAX9u<-)pLsPF=+(*jB~mTK&1)~jcfbBl{EOfDmoabOjO@?-rI@t$ z@p&~I##v?K0kD1qk7{FSnWY~XHn-L}bm+=4vL4R||YB|AQ`X&bp7RjQEE9||E z59}VFM2@(dV?AcBYpadF#?NF3mf#5eYUKH>_UD&&hL4C5n1R>l$Uo4-0F!82`pyjY zxR^6{bhgmmOc)@4d5%*(iyZN3ioerdl{3yV#leDOC5}&q_!q{yW{n(k5uM>(SMMRd ztW-vvFeb_OD~v-hjB2}$@0!E}zr8}Im)JxJz047JX47$uxo>T6GiJSB6ws;idKT03 z(H!l(K8lEJXa|3I+zIkDb;t|~P?cylzQ7n5PWr5iNhnrWtfHWCg<*}yeFiu~mjt!k zgV*|lZVWM;6%M;VkS_}oru>WnWl@CrWEg`%Ken&m0H}=9WY&O(qoZex8#Uq@87Apx zmfWAg;5_P)nIUu*NdUbtP_qDYt|vHOBRBzl3Glgg&H%SO0A`7!Fo>>kD&A{_GZ!-l zAaIQkGyIar;m_9-#t(pGK^1t0`7KaPL9ifvg<=%AUTw39BOOH_1FUUrM(@1K#n1<= zD1)D^;=soQ`W%Y6V9^9v0!Xxrb;%G+a3&b~3XNOx{n5kYm|UEr>=>|#3=dpWjBWfG0#~O!+^`9Ph(_G73NHC$)=O|%+FiDBUay7!?juJ@f zqay<6GDb2Pp_q*lvZ(;L7t9Tx0+^_vOHO-^^Gx8Bd#K~iI)8FGLN;6=i<3r&bJ!|4AgY@iG2-V8;Nbl5C>nslIYBU&fRzCD3J3}!S2%O! zNjl3wv)B@U;~qNj0rM;n4KsXBTgeGjuT62a z^c5I1M$OPKKpcL6R5j|zrwx$HW5-ion*%f*cb@U*x#wb@jXpqqaM4Fz1Ox(SsX)TG z>c^*E+KqOz8}(%wJuMTaGYK5!xxRWogAvFRWXAZL{=*@Gi*e-e2iPv~l+QHqZGsMj z&;RCtFk|+bF=m$dSM*H%$|1WkYl@K24P;KhmMlOkumhngLqk^xeJKd8v4O=9J>U;n z^oM0nK*=P`^~|HMEBsP{duI7Li`@0O-c4{~K*+FeUSNq&*G~%21SC29tpD;TP;m_i z*9P#9d6PPBB+yu)OeXmzngV8n5kq5*1SZ&L0nl2{#y|bt|0`a&{Ty;x#@?+~oDUD; z!yg^SDa1x$w;k>M?Kr=G9K)kC2o{yuphqt<7Dq!n~iwx&W#kivgmEA*^B{XNQNtG`|6tdIT()6u}rl1y#LDhfHD3t zPqJU&>-u&ze*ULF8?XQHz1Y3`a%^pONF3&Ifjma|n-y|jWA8Kcn=ByW0-uF{DDnCV zn-HKBS*JBNG3U+B#rw^fmkA!fkO+|wOz@Z$e1B&%${X8p$!BoJ05R;Ec(KI4>cf)J zAj9O~O#od)4M^Mbz1)`pU4dS7Zmwb%_?y>5M@{VE`=X4zfpzGOfGmGyXBhOvHNaM~ z$Va;}PDvQ%So;F@Rp6Rp0^_?$aANDYXG%x`yIy~ZKdCp{#4Gg^aLadxIqddH*lV$_ zUL|V!H;J4T*Q=th+T#>3j5Z@Pu+-7hC~fXV>G{vZA+j<#L0VDcJ{VfGu!X<#TmNPJ zkH7uD#)a%AeTggIXfcCW|ux zc+AKcWIIwOqoT5WQyn^rXz(h7z83_691bRLc7{Wr%qP*VH{$shUyKia{3CQ5C16oE zZtasq9mm~QUWub;2XXM^QS^shGAb9nlZ;V@dTCaM1JcQeF^Vv+i!ra0#TW!sAv5q4 z%+ci>S%$z@#=@*%j-xbi$;rsV z>0G)`F*+0~$2}%qkA-8ZX|bw|Z^}Z<0G)XjrVmS~A-V>O9CF5?=UB`fb6PUjL4OwG zevf<2kPE;w!+rI#7@Lkr#VX(o^}GdwbBRoAwnA9|b@EPq6^1q1+3&>8HrX!pM6C_m zj4f#M1?HV+T~jb6pa~4OWn!ipAfE@!RMCMR%&-B`z&QtK;Vp3Hd|{+j)_=x2%gPoo z4B5aw1~3Oqm0$uZ%zuWgCcS=42Lva;vg~~YM>I0aM5=iVpblHg^pTlN3G?Ir4V?UN zj634>e#BgQ`F*h(2za?Et15AKdreMf=Jo!OXU?irO_mE;GO3j;5yLJ;62;yK#pfq^0-cua8 z6@~@2G=x1h2u?{J)ZH1^n(-S#=719tHUjsWc?bgPBuY)> zG@?>6Jw1&5O`Ky68>3RQz~gOiwIj#e7bGuMzodDp1cLsAd2_u2Ybhl;fL$r$6AK26 zbJz;xR&SZKBO`#yDRwQhC_|FLF=zEv{H#wZLLO*GCPLy-gP;L$1pq8y`>1j916PTL zPRQSR5AqYlE*OJ8z@%7TI_FwzbU|0OW^Go;ZH|92NkK|U2NRjWZ$-gB#V_NdNZ4;~bmGRwZi*idK6;$u+RoNCW1tEN(3s<& z%gjrVVWKjss|NEGEb!B+3N8F(k9A`3X+43*_$|l-{jclGdP*QzQ5EzQDC9|gsH-Ne zL$0Ar_O9J`vdtA;2(Pf;D6lYl+JvRsy8B zR)yblb0viyBiCdM$V;d-29OhsqH^PAj7f^ELSqmKlo`Vleqr3nLAWm18!P~Wrr^=vvHtrB9>X5lbEF3`zEPJ#?v zq%67b)PzvhTik?wijyeeki=KPCjBTh@P}MiUG0*v3X)l*e9rQ$Y zdcgcHv8xq9ZOPbQ`paL7N8kKb+->iXpfhiDVkEQ9E!)KOE7+zR2o=B#nM-%x91$vd1TsspJ-@fPg1aC3Gei8<2DPHG`2B#QidG6Od1YptFfdkleTlNH z2;5890-Fr#(Djy+=45^v=nR9fbXq{EWlg2jtFVF@N<_WGr!j_IJ9zj}bSODpUYt^; zpqxmF`q|@W2@Di4=s7}JpwxK+wi&&pYbFT0g5r?51JhV|SX`7|g<1nbR7zq)3WQ4p zk2xd*FJo}FYpB2~ph3h;SEbAHfjVVk7i)Zek*+NRlEwL_vNem~@2n1i2m`_KTpm(t z01!4Q69_D(IA+{xcSMlQQ3$lFJBi(P{zK zFfvQ8Stgss6QyfY!m*@s1&VQiu=gcE#1>__<0IH&f=rPhu2JP!rz!I{SXlPI|IU5D z^*nZ9W=dRRO<7aJGov*qU`L<)!zlr_ik7ySPmj#234teM~uyIr+tVoUbLS0&6s)MMil# zrXRlXC#-P`Tfm_itQCUJ_!FlkSQKz1rWBTTrSXbdc*~sfrg9+ulTGs;#_{Q&_{sRs ze)G5D;PN!y_}-gw^xz2q={=Y(f`7J-tx=Y#pqyM&poTw1mn9BstiayRUv0CSV;GR2d#Tc!m$@FbDLN@jGUjDS?*P%EForXv?7< zlY)DV4Bx87lDSw_&;}AXMrQ?XIhSRjU3)v}eM2a8rBa4QdGuD)5hl*O8o@RV4`yo188)(N{6xUej`OcX){$&@Js4P%S1qrCn-Kn?(!YT47vk*4*ovAa+mA5;2ftUX@Ba+4ic9 zec^Xaxa;_JThmYvWJ40j>yia+7->Q1(bK1Kzjr@gdGTd*7{UrrW6O$ubp){1W(1!l zlNNNFH=&9o5+oWDTC&e8kW0;&LbCO>pZ}To_Up8>G^TOwmCxf%m?t{E#>cNIy~nMa z_&5fGW6#0TW{#Q=3?$^}l{z=k@iWdMx`$E_7pZDtD;v+TNhV3aNhAsQbNFG`j+B9XR$bEr zvbN}CiYJVX*`sgh1^Q6Y7ob1Jge-R0@18_ydq1jx-5#-y1)~y8tV34HTccbej|_h2 z{l{mq!WZ>TMC$}%K^h4b${Vd~JGAT(kDUi&C}TT)D@(+iIUsoshGN)JgH<2WvPdB2 zi+h0i(sykUyWA?(i`45WGHl6RX3exFQ#_#5Uu{lvVJ%gB5T&K|z}XlI_dFGWxoUAaD{a^kC2gC!j#y zQ%U8-0p(>4C^-*q!_W{mnFCphj@%MZ_vGj*sB#VeEm6Ae8T~OZTxGzcK_n%4WRHO=xn;A_5aW zZ=gxy+hIqV)x&yb#G zowooy$Mr6b&MD&}AC&Ooq??$69RE>RDV0#2@DLFnmNJgK-cpCImO#xFfsRNacKx4*w?Z(cP;R7xxfiiR<`G^1mN=`mO@Ep31Y=h5~>M(t@Ot+hB3iN=Pql^T?o>h_;3HazZYHl zImZ~LD(<}YuJ6YgjMNsv)wM)%Vrye3e&cWa%>-I<^pwd!DIZJe0s{k^r7ppWzpKTX zRs|*nGog%ce-XXJ+7n5f{#StB2R#dz`aUy1@_?VldSqxV0GhffZp`|(HU zG`(cZ$prDTH$WHAFZGT4xdwAy)5a?3f;vFlM6R%qC{+=*s!KoPi=TQCXOfLS`R1QR z_l@@fQ?g$O5uHjbOENnXq6$HuM3zAQB7M9E&z_)bJ%S2BO55_fIH3&lDqs+{|CC{x zHugF(zxOOoVBzw}(F}coFQ@>V9E%BRAybPgNlnjS3&;WX#sXVd5_IirZsLQq1K+RC z>QAl&>1)`r35jw=|NUYGs1(sg1E@2gP*F{+VFABmz)ZS_E#(k)v(-d)By-3hM`W~5 z-T*m#^dx?oWZ?2(6psi7`5H`a3po!@;_QN?3bh+i$&e{uqc>9+-r1DJfHBSioLVIN z8`nDc0Q$`s-_}0uDI^tjgB^4F!WX_6|MY+Q-{Kim^HHESmJ9a{!Cp3HvWhL{tLq zE6Z6ze|zY|(+lipP0~>y@#Z?0_)dGF3$!}uUovwO=Sf_$1t&>Ec(&LJ|S`N1NvUuRIIi&@qC0_<(o8ey|}{DR3dO9cr8C^XriHNsfu^|eK5 zq!K=AMjKKdTgjnEOXr8*w1;wtzumO=dPa{fK*81%Oa4|q0{(iWI2JX0n9|^+U@A7dn7SgY|XxFF-?XRmMY1S6(5;#Y7C5p zH6rmd5i7PkF$2dKtj5gSRwr9#oTiBaOftocF@CK@mD=E%!!MXTj^|Wpmy_6~Z34*x zCV9hz#Z@1W1m96=9EG$zqE5_!MnEcxLR_^B6v>DzRToJ)HH2e=Mu&}1GZdo_c;G^5 z&?_iy`(_=0?{!0$fozeQ!C`(8tiaJyZ54-O8TJ`j=91T%Fa}NfT4rRq-3v>^xj06U zj~_l|!U&$B7EyxC@{nPpJP0j=66NSSvLq|R<+W|PmSM`!OUOq|R+58}E-%ufB@iFM z@R%iJ1S`C03{a~=mQC%&ox>#AUtNXu%gN@jOF`qbnSD&3 zj=k2h#BO4+Oi{s+U88(=bbOMSrmf93o27a*q!Um8qh%b+t(#$nv|i8}!3Kh@YDM z1}TTQ z{g2}t|KuJ_^Cj&V^g^OL&a=S$`+U{_Vrl+}z&5lE!61urPSB->&J0Ivl4gJ?ZEP?G zg1)RD_t!Q}9FZn7uvbqOjuNav5C?Skt6z<+YuDmA0{jYHa1-Z{iiVE8$HvexY+6ul zso+DZfRGMgqzg!y04Ow2fp@V2AZ0u~zSzP3Yt(+a71L_;m+1rW|3<#o(DeG0QaSzsA2GET~COJ+ti#}EjNcaRi z6bfoJ2VcT!2)Nwjw3h8wS+ptGM(x=WszcqA%X-#1)`}u z1?VeqzX9)037>w1FLhO$FQGSu1kM;E$yteDRc}|A*KyLRC9!SB7^);>lP*3M{{$pY zK;!~8r?X4NiKKYZ%f&(NEN$?#WlRc=ETktdSs$fq+cEBv#!`4KaNt&05q^h zhT{UUb&YQt{WHRSQQ7af$J!Q&s_{cVZ zS}<>~{cJ%$H9*LAEUO-4?8;5WK&z7f@5yPN!J zwon7;Qw=(Of{kmx06fM#qk6}ZB;dWSw%IR0|7NN(F;@H^ih-a2^pH?C$atr-?2z5Iqp!s#0j| zXZ?(`RN1u)2?;km*1=BGF2Isax3$mzOq}97xEXVzI)s18kwlKLR~VdF;q&{hMFx9f zk5m?n(ITnuov>erspi;&(k3>TFu9TOQn~VPh%M|{z)YHUn9g$Xyow>{0h1R2<^dbJg9XLTdJEpaB0L++cW!dsN2 zJDbIKfAj#agKZ@VJ4lukN#MX`(CDc|QOtr?^zc$2LHR6+!!nV5rVS%qKopDQrkx53 zZ|P`E5R<}|S@L9tHRS@c6uqy%&jGrd1keQ;M-kynV7l4_2aU51@EdjM(PBY$L~d*n zAWd-s1st=$bx1j8fpHf=_%azqURM|f_$5x-K3E!<4PU0^He1tQqU zR19%GHR{K*oNE?ZhPFWFRtJ0z*f@rO(-g^;DA0!rG6{igAF`Fu_{_f@kPF5E8G?n6Z_X z3=m^5u&qgNWev(W6o1#rUXrnE__Di8lFsv^UTV|m=K&SisfnNrom;I0A~KUJ#@nZV zUxr+kO19;p{kZ%dpY)fnS*tqzaxyx39PQqX=OcgqjLim*$DD_OKL(cZhmDLf2V+!WgKRTCeE&n7CM(&xI!UDp2tGYx;~#x$D>h!*hyI8i z{B2mKy=z<1!tr+x09)wT?U!%I1#7o~-paV+5R(6~?^R!-uU&EKLsB60A+cG^OFw1; zjml{1$OtAz3WdEfga*pp2 zeAm#2BICCmLJ*wV%w+edc)8h4U9<17l6LsxwUXSg+T`pncT@HlK)gpA%vNhV9%Bm+ zpFE7a&p!`{H9k_2!d4~#^lD9DO=X0+i39B29plq{pRE96WFxz#yz~w3pXqt}3V=*z ztKKAGfL^<#+E9mV(C24aD^Gb4YviyUH+Yt*KDmCbw_je&losSxEn;Z`S8~B7|#b zH6Rf+vi8K!GDLy^>}y~Bx%lmW{4e=CbHvXUIh~N_*YQcD^E9Xay;2S{Fxx4aWpN%7I0i3^+$jxF89aAZ!u$K+P!I6=~)E ziEFoZWBSMhnSn7cj62!RU=5a_T5Ox&k})Z#5jHzIIpI3^amLyJOO3&MR(vrSY=bd5 zF8vSj&;D%3*ulO}kLUp=!D8!U?0oS{@%X!c60csr6;j7wVW4CK2?QhPx$gsL9Z^28ztu9k*<;!$#AF0z3P|OWb#bLU)~tYc%)=hq z|C7ZjpOX!2?QA4)ngT1J!wocO2(ke*aeWQul6D3e4Vg#FrxT3BUaud54h(!84>JZ@)9f+J&_XI$!mM!06qEtmjV-z(WOHhNyw z(=vu?Pvj`W&U-UJbZTcCC&dw66V|$oA#5=ISw&`~h=G2|j z?sTuCuSN8+0NA+x;tO$(KhWWryxLPO8^0tGe)8edSUmV)ym+k;|J7gnkK+IPw|^9G zaRe1-W3Xvwmuptii3nS}o6)7GcOgK>mRHE7fPGZ3iHu32XoR^Gtd{}44D?yXU1i(` zlZh1%*a!WSw&1RGdrM_jg^xMpf@H4BZycpGS$1Kw0l)Mtbgpki>(&;Z!^d#>(q0Y5 zKOcM5>+$BFeS?G-M@{hk^w0f5ym$DJi?JDo%FEu}A{*vl`0!tI5}*=bVY_mT))asR zYuLWAoz`^5d%Co7RM5|xuYD@AB$d;X=W0 z|DHdg9RWSrVGW+Yc`aV1&vQU^X>)HcPDo%L6CYmxgYRIs9a_d%D>kMqNT^Jl>-1Yo zp0qiQq>V2aKW*YW7%Q@r!8ZB!ctZOXm78r15;dM^utZksWP^l7W>OMDIh1HyF-a7J z=UEpwec9eKVDoOhY3v{o;9_En7wCb!!;xw~diNfFjn){*8f6C!<<}X)ezC*Tj(+8I{qzfo=x(_5924s_@*t^uEP;)oAnN4G>OggpGs_B zJbe<2dmlvoCx41lXCOe-SH_y5!f3k&$c0VocOg9h#Q3%fHsnT7|74Pq>z}7sYUO!) zaF_tR;8g;^*Gd4u9P!0AgvBRdFfBYfzc#t!I#Y2A^A~i(px}SNIq1lUm=q-MMK-f8 zND#=rInjucI$$fuysTa%a*Jzd)7sHh`vQQO>+v%G_zSjUE0UX=P3n_9@>l&h6HV1^ zZ9I=p@&uN&Pk|*)ts#8g3J43BFp(`=SYz@jR^*yr_)?tkIX+00ualBuPld`+B_z|s zG0^@}r!SrxfZ^n zh~USLha|{&OS3fXM#v5s_Nl^SOsN-qj4!tZrM^Ms0N*m9VmSoom9;I_q7DEZur3P{ zi7qGP)W7&s@!pSr6t}2`mGK>Jm^GnDEve|`(mrcGcR2wY!VHU_7FqU3iSYDUym!SW zFsrr`j=`Mvz)N6@`qnlJOf`7Tpst2hJ8JNC(BP`&}X!-tf%oxGa_Y#7(cqZb5o?!f>&*KGzc>XKz>a#^1Fs(ONVFwtpEd-q+|u`z49|2HzKIAZ_CE~IjpHbUnbjQlRVu*qgRN| z)Be^B0C5C3bmwKAW672T1_MP2c85zP@M(Edi@53+lR

HwJ+motz5jNeHs5ZsrgS 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�@)^ER*R-d_p*Ny(CC{+7(YA6^* zg216)`_}?FdA|cNOkWJx^)c@VCXQ+2VG94{Ijun`;1GK%u{0w3s_OMj&$q7t#g7HyuBC9J13e zu_0^~w7HUcsC)>Gz2G2xzSul3-=m9(kXfy1|hD3J+{?=rFf`4

q%{2N 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ξG0Fb%J#$CR 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

    AHkR(J&81b|*OZ9_ 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 literal 0 HcmV?d00001 diff --git a/papers/sam_morley/myst.yml b/papers/sam_morley/myst.yml new file mode 100644 index 0000000000..95edf882e1 --- /dev/null +++ b/papers/sam_morley/myst.yml @@ -0,0 +1,53 @@ +# See docs at: https://mystmd.org/guide/frontmatter +version: 1 +project: + id: scipy-2024-sam_morley + title: RoughPy + subtitle: Streaming data is rarely smooth + short_title: RoughPy + + authors: + - name: Sam Morley + email: sam.morley@maths.ox.ac.uk + orcid: 0000-0001-5971-7418 + affiliations: + - University Of Oxford + + # description: + keywords: + - time series + - rough paths + - signatures + - data science + - machine learning + github: datasig-ac-uk/roughpy + bibliography: + - roughpy.bib + # Add the abbreviations that you use in your paper here + abbreviations: + RFI: Radio frequency interference + NLP: Natural Language Processing + ODE: Ordinary Differential Equation + CDE: Controlled differential equation + PDE: Partial differential equation + + # It is possible to explicitly ignore the `doi-exists` check for certain citation keys + error_rules: + - rule: doi-exists + severity: ignore + keys: + - Atr03 + - terradesert + - jupyter + - sklearn1 + - sklearn2 + # A banner will be generated for you on publication, this is a placeholder + banner: banner.png + # The rest of the information shouldn't be modified + subject: Research Article + open_access: true + license: CC-BY-4.0 + venue: Scipy 2024 + date: 2024-07-10 +site: + template: article-theme diff --git a/papers/sam_morley/roughpy.bib b/papers/sam_morley/roughpy.bib new file mode 100644 index 0000000000..d226364441 --- /dev/null +++ b/papers/sam_morley/roughpy.bib @@ -0,0 +1,135 @@ +@inproceedings{tseriotou_etal_2024_sig, + title = "Sig-Networks Toolkit: Signature Networks for Longitudinal Language Modelling", + author = "Tseriotou, Talia and + Chan, Ryan and + Tsakalidis, Adam and + Bilal, Iman Munire and + Kochkina, Elena and + Lyons, Terry and + Liakata, Maria", + editor = "Aletras, Nikolaos and + De Clercq, Orphee", + booktitle = "Proceedings of the 18th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations", + month = mar, + year = "2024", + address = "St. Julians, Malta", + publisher = "Association for Computational Linguistics", + url = "https://aclanthology.org/2024.eacl-demo.24", + pages = "223--237", + abstract = "We present an open-source, pip installable toolkit, Sig-Networks, the first of its kind for longitudinal language modelling. A central focus is the incorporation of Signature-based Neural Network models, which have recently shown success in temporal tasks. We apply and extend published research providing a full suite of signature-based models. Their components can be used as PyTorch building blocks in future architectures. Sig-Networks enables task-agnostic dataset plug-in, seamless preprocessing for sequential data, parameter flexibility, automated tuning across a range of models. We examine signature networks under three different NLP tasks of varying temporal granularity: counselling conversations, rumour stance switch and mood changes in social media threads, showing SOTA performance in all three, and provide guidance for future tasks. We release the Toolkit as a PyTorch package with an introductory video, Git repositories for preprocessing and modelling including sample notebooks on the modeled NLP tasks.", +} + +@inproceedings{NEURIPS2020_4a5876b4, + author = {Kidger, Patrick and Morrill, James and Foster, James and Lyons, Terry}, + booktitle = {Advances in Neural Information Processing Systems}, + editor = {H. Larochelle and M. Ranzato and R. Hadsell and M.F. Balcan and H. Lin}, + pages = {6696--6707}, + publisher = {Curran Associates, Inc.}, + title = {Neural Controlled Differential Equations for Irregular Time Series}, + url = {https://proceedings.neurips.cc/paper_files/paper/2020/file/4a5876b450b45371f6cfe5047ac8cd45-Paper.pdf}, + volume = {33}, + year = {2020} +} + +@article{Lyons1998, +abstract = {This paper aims to provide a systematic approach to the treatment of differential equations of the typedyt = Σi fi(yt) dxti where the driving signal xt is a rough path. Such equations are very common and occur particularly frequently in probability where the driving signal might be a vector valued Brownian motion, semi-martingale or similar process.However, our approach is deterministic, is totally independent of probability and permits much rougher paths than the Brownian paths usually discussed. The results here are strong enough to treat the main probabilistic examples and significantly widen the class of stochastic processes which can be used to drive stochastic differential equations. (For a simple example see [10], [1]).We hope our results will have an influence on infinite dimensional analysis on path spaces, loop groups, etc. as well as in more applied situations. Variable step size algorithms for the numerical integration of stochastic differential equations [8] have been constructed as a consequence of these results.}, +author = {Lyons, Terry J.}, +journal = {Revista Matemática Iberoamericana}, +keywords = {Ecuaciones diferenciales estocásticas; Proceso de difusión; Movimiento browniano; stochastic differential equations; rough paths; Brown motion; Gauss and Markov processes; Lie algebras}, +language = {eng}, +number = {2}, +pages = {215-310}, +title = {Differential equations driven by rough signals.}, +url = {http://eudml.org/doc/39555}, +volume = {14}, +year = {1998}, +} + +@inproceedings{liao2021a, + edition = {}, + number = {}, + journal = {}, + pages = {}, + publisher = {British Machine Vision Association}, + school = {}, + title = {Logsig-RNN: a novel network for robust and efficient skeleton-based action recognition}, + volume = {}, + author = {Liao, S and Lyons, TJ and Yang, W and Schlegel, K and Ni, H}, + editor = {}, + year = {2021}, + organizer = {32nd British Machine Vision Conference (BMVC 2021)}, + series = {} +} + +@inproceedings{NEURIPS2021_18a9042b, + author = {Fermanian, Adeline and Marion, Pierre and Vert, Jean-Philippe and Biau, G\'{e}rard}, + booktitle = {Advances in Neural Information Processing Systems}, + editor = {M. Ranzato and A. Beygelzimer and Y. Dauphin and P.S. Liang and J. Wortman Vaughan}, + pages = {3121--3134}, + publisher = {Curran Associates, Inc.}, + title = {Framing RNN as a kernel method: A neural ODE approach}, + url = {https://proceedings.neurips.cc/paper_files/paper/2021/file/18a9042b3fc5b02fe3d57fea87d6992f-Paper.pdf}, + volume = {34}, + year = {2021} +} + +@article{JMLR_v20_16_314, + author = {Franz J. Kiraly and Harald Oberhauser}, + title = {Kernels for Sequentially Ordered Data}, + journal = {Journal of Machine Learning Research}, + year = {2019}, + volume = {20}, + number = {31}, + pages = {1--45}, + url = {http://jmlr.org/papers/v20/16-314.html} +} + +@misc{pybind11, + author = {Wenzel Jakob and Jason Rhinelander and Dean Moldovan}, + year = {2017}, + url = {https://github.com/pybind/pybind11}, + title = {pybind11 -- Seamless operability between C++11 and Python} +} + +@misc{esig, + author = {Terry Lyons and David Maxwell}, + year = 2017, + url = {https://github.com/datasig-ac-uk/esig}, + title = {esig} +} + +@misc{coropa_project, + author = {Stephen Buckley and Djalil Chafai and Greg Gyurk\`{o} and Arend + Janssen and Christophe Ladroue and Christian Litterer and Terry Lyons + and ChangLiang Xu}, + year = 2006, + url = {https://coropa.sourceforge.io}, + title = {CoRoPa -- Computational Rough Paths project} +} + +@inproceedings{NEURIPS2019_d2cdf047, + author = {Kidger, Patrick and Bonnier, Patric and Perez Arribas, Imanol and Salvi, Cristopher and Lyons, Terry}, + booktitle = {Advances in Neural Information Processing Systems}, + editor = {H. Wallach and H. Larochelle and A. Beygelzimer and F. d\textquotesingle Alch\'{e}-Buc and E. Fox and R. Garnett}, + pages = {}, + publisher = {Curran Associates, Inc.}, + title = {Deep Signature Transforms}, + url = {https://proceedings.neurips.cc/paper_files/paper/2019/file/d2cdf047a6674cef251d56544a3cf029-Paper.pdf}, + volume = {32}, + year = {2019} +} + +@misc{dlpack, + author = {DLPack}, + year = 2023, + title = {Open In Memory Tensor structure}, + url = {https://dmlc.github.io/dlpack/latest/} +} + +@Manual{Granlund12, + title = "{GNU MP}: {T}he {GNU} {M}ultiple {P}recision {A}rithmetic {L}ibrary", + author = "Torbjörn Granlund and {the GMP development team}", + edition = "5.0.5", + year = 2012, + url = "http://gmplib.org/" +} diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md new file mode 100644 index 0000000000..6630d36678 --- /dev/null +++ b/papers/sam_morley/roughpy.md @@ -0,0 +1,697 @@ +--- +title: RoughPy +subtitle: Streaming data is rarely smooth +exports: + - format: pdf + template: arxiv_two_column + article_type: Article +bibliography: + - roughpy.bib +abstract: | + Rough path theory is a branch of mathematics arising out of stochastic + analysis. The principal tool of rough path analysis is the signature, which + captures the evolution of a path including the order in which events occurred. + This turns out to be a useful tool in data science applications involving + sequential data. RoughPy is our new Python package that aims change the way we + think about sequential streamed data, by viewing it through the lens of rough + paths. In RoughPy, data is wrapped in a stream objects which can be composed + and queried to obtain signatures that can be used in analysis. It also + provides a platform for further exploration of the connections between rough + path theory and data science. + +acknowledgements: | + This work was supported in part by EPSRC (NSFC) under Grant EP/S026347/1, in + part by The Alan Turing Institute under the EPSRC grant EP/N510129/1, the Data + Centric Engineering Programme (under the Lloyd’s Register Foundation grant + G0095), and the Defence and Security Programme (funded by the UK Government). + For the purpose of Open Access, the author has applied a CC-BY public + copyright licence to any Author Accepted Manuscript version arising from this + submission. +--- + +## Introduction +Sequential data appears everywhere in the modern world: text, finance, health +records, radio (and other electromagnetic spectra), sound (and speech), etc. +These data are problematic for many traditional methods in data science. +Many of these difficulties arise because of computational constraints, where the +complexity of the model is intrinsically linked to the number of observations, +and others arise because the events are not observed at regular intervals. +In this paper, we introduce a new package *RoughPy* for analysing sequential +data through the lens of *rough path theory*, which provides useful techniques +for addressing some of the issues with these data. + +Rough paths arise in the study of *controlled differential equations* (CDEs), +which generalise ordinary differential equations (ODEs) and stochastic +differential equations [@Lyons1998;@http://dx.doi.org/10.1007/978-3-540-71285-5]. +These are equations of the form $\mathrm{d}Y_t = f(Y_t, \mathrm{d}X_t)$, subject +to an initial condition $Y_0 = y_0$, that model a non-linear system driven by a +input path $X$. +On simple CDE turns out to be critical to the theory: +```{math} +\mathrm{d}S_t = S_t \otimes \mathrm{d}X_t \qquad S_0 = \mathbf{1}. +``` +The solution of this equation is called the *signature* of $X$. +It plays the same role as the exponential function for ordinary differential +equations (ODEs). +When the path $X$ is sufficiently regular, the signature can be computed +directly as a sequence of iterated integrals. +In other cases, we can still solve CDEs if we are given higher-order data that +can be used in place of the iterated integrals. +A path equipped with this higher order data is called a *rough path*. + +The signature turns out to be a useful summary of sequential data. +It captures the order of events but not the necessarily the speed at which +these events occur. +The signature is robust to irregular sampling and provides a fixed-size view of +the data, regardless of how many observations are used to compute it. +This means the signature can be a useful feature map to be used in machine +learning for sequential data. +There are numerous examples of using signatures for analysing sequential data +outlined in @applications-sec. + +Besides signatures, there are two other rough path-based methods that have found +their way into data science in recent years. +These are the signature kernel and neural CDEs. +Both of these enjoy the same robustness of the signature, but can be useful in +some contexts where using the signature transform might not be optimal. +We give a short overview of these methods in @rp-in-ds-sec. + +There are several Python packages for computing signatures of sequential data, +including `esig` [@esig], `iisignature` [@doi.org/10.1145/3371237], and +`signatory` [@https://doi.org/10.48550/arXiv.2001.00706]. +These packages simply provide functions for computing signatures from raw, +structured data presented in an $n\times d$ array, where $d$ is the dimension +of the stream and $n$ is the number of samples. +This means the user is responsible for interpreting the data as a path and +arranging the computations that need to be done + +RoughPy is a new package for working with sequential data and rough paths. +The design philosophy for this package is to shift the emphasis from simply +computing signatures on data to instead construct streams. +A stream is a view of some data as if it were a rough path, that can be queried +over intervals to obtain a signature. +The actual form of the data is abstracted away in favour of stream objects that +closely resemble the mathematics. +The aim is to change the way that users think about sequential data and advance +the understanding of path-like data analysis. + +On top of the streams, RoughPy also provides concrete implementations for +elements of the various algebras associated with rough path analysis, such as +free tensor algebras, shuffle tensor algebras, and free Lie algebras [see +@math-bgd-sec]. +This allows the user to easily manipulate signatures, and other objects, in a +more natural manner, and quickly develop methods following the mathematics. + + +The paper is organised as follows. In the remainder of this section, we give a +brief overview of the mathematics associated with rough path theory, and provide +some additional detail for the signature kernel and neural CDEs. In +@applications-sec we list several recent applications of signatures and rough +path-based methods in data science applications. These applications should serve +to motivate the development of RoughPy. Finally, in @roughpy-sec we give a more +detailed overview of the RoughPy library, the types and functions it contains, +and give an example of how it can be used. + + +(math-bgd-sec)= +### Mathematical background +In this section we give a very short introduction to signatures and rough path +theory that should be sufficient to inform the discussion in the sequel. +For a far more comprehensive and rigorous treatment, we refer the reader to the +recent survey [@https://doi.org/10.48550/arXiv.2206.14674]. +In this section, we write $V$ for the vector space +$\mathbb{R}^d$, where $d \geq 1$. + +A *path* in $V$ is a continuous function $X:[a, b] \to V$, where $a < b$ are +real numbers. +For the purposes of this discussion, we shall further impose the condition +that all paths are of bounded variation. +The value of a path $X$ at some parameter $t\in[a, b]$ is denoted $X_t$. + + + +The siganture of $X$ is an element of the *(free) tensor algebra*. +For $n > 0$, the $n$th tensor power of $V$ is defined as $V^{\otimes n} = V +\otimes\dots\otimes V$, where $n$ copies of $V$ appear on the right-hand side. +By convention, we take $V^{\otimes 0} = \mathbb{R}$. +For example, $V^{\otimes 1} = V$, $V^{\otimes 2}$ is the space of $d\times d$ +matrices, and $V^{\otimes 3}$ is the space of $d\times d\times d$ tensors. +The *tensor algebra over $V$* is the space +```{math} +\mathrm{T}((V)) = \{\mathbf{x} = (x_0, x_1, \dots) : x_j \in V^{\otimes j} +\,\forall j \geq 0\} +``` +equipped with the tensor product $\otimes$ as multiplication. +The tensor algebra is a *Hopf algebra*, and comes equipped with an +antipode operation $\alpha_V:\mathrm{T}((V)) \to \mathrm{T}((V))$. +It contains a group $\mathrm{G}(V)$ of elements under tensor multiplication and +the antipode. +The members of $\mathrm{G}(V)$ are called *group-like* elements. +For each $n \geq 0$, we write $\mathrm{T}^n(V)$ for the *truncated tensor +algebra* of degree $n$, which is the space of all $\mathbf{x} = (x_0, x_1, +\dots)$ such that $x_j = \mathbf{0}$ whenever $j > n$. +Similarly, we write $\mathrm{T}^{>n}(V)$ for the subspace of elements +$\mathbf{x} = (x_0, x_1,\dots)$ where $x_j = \mathbf{0}$ whenever $j \leq n$, +which is an ideal in $\mathrm{T}((V))$ and +$\mathrm{T}^n(V) = \mathrm{T}((V)) / \mathrm{T}^{>n}(V)$. +The truncated tensor algebra is an algebra, when given the *truncated tensor +product*, obtained by truncating the full tensor product. + +The signature $\mathrm{S}(X)_{s, t}$ of a path $X:[a,b] \to V$ over a +subinterval $[s, t)\subseteq [a, b]$ is +$\mathrm{S}(X)_{s,t} = (1, \mathrm{S}_1(X)_{s,t}, \dots)\in \mathrm{G}(V)$ +where for each $m\geq 1$, $\mathrm{S}_m(X)_{s, t}$ is given by the iterated +(Riemann-Stieltjes) integral +```{math} +\mathrm{S}_m(X)_{s, t} = \underset{s < u_1 < u_2 < \dots < u_m < t} +{\int \dots \int} +\mathrm{d}X_{u_1}\otimes \mathrm{d}X_{u_2}\otimes\dots\otimes \mathrm{d}X_{u_m}. +``` +The signature respects concatenation of paths, meaning +$\mathrm{S}(X)_{s, t} = \mathrm{S}(X)_{s, u} \otimes \mathrm{S}(X)_{u, t}$ +for any $s < u < t$. +Two paths have the same signature if and only if they differ by a +*tree-like path* [@http://dx.doi.org/10.4007/annals.2010.171.109]. +The signature is translation invariant, and it is invariant under +reparametrisation. + +In some sense, the signature is a *unversal non-linearity* on paths. +Continuous functions on the path can be approximated (uniformly) by linear +functionals ($\mathrm{G}(V)\to \mathbb{R}$) on the signature. +This is a consequence of the Stone-Weierstrass theorem. +The *dual* of $\mathrm{T}((V))$ is $\mathrm{Sh}((V)):=\mathrm{T}((V^{\ast})) +\cong\mathrm{T}((V))$ +(as a vector space) is the space of these linear functionals on +$\mathrm{T}((V))$; we call this the *shuffle algebra*. +The multiplication on $\mathrm{Sh}((V))$ is the *shuffle product*, which +corresponds to point-wise multiplication of functions on the path. + +There are several *Lie algebras* associated to $\mathrm{T}((V))$. +First we define the *Lie bracket* operation $[\mathbf{x}, \mathbf{y}] = +\mathbf{x} \otimes \mathbf{y} - \mathbf{y}\otimes \mathbf{x}$, for +$\mathbf{x},\mathbf{y}\in \mathrm{T}((V))$. +We define subspaces $L_m$ of $\mathrm{T}((V))$ for each $m\geq 0$ inductively as +follows: $L_0 = \{\mathbf{0}\}$, $L_1 = V$, and, for $m \geq 1$, +```{math} +L_{m+1} = \mathrm{span}\{[\mathbf{x}, \mathbf{y}] : \mathbf{x}\in V, \mathbf{y} +\in L_m\} +``` +The space of Lie series $\mathcal{L}((V))$ over $V$ is the subspace of +$\mathrm{T}((V))$ containing sequences of the form $(\ell_0, \ell_1, \cdots)$, +where $\ell_j\in L_j$ for each $j\geq 0$. +Note that $\mathcal{L}((V))\subseteq \mathrm{T}^{>0}(V)$. +For any $\mathbf{x} \in \mathrm{T}(V)$ we define +```{math} +\exp(\mathbf{x}) = \sum_{n=0}^\infty \frac{\mathbf{x}^{\otimes n}}{n!} +\quad\text{and}\quad +\log(\mathbf{1} + \mathbf{x}) = \sum_{n=1}^\infty +\frac{(-1)^{n-1}}{n}\mathbf{x}^{\otimes n}. +``` +For any path $X$, we have $\log(\mathrm{S}(X)_{s, t})\in \mathcal{L}((V))$, and, +more generally we have $\exp(\mathcal{L}((V))) = \mathrm{G}(V)$. +We call the quantity $\mathrm{LogSig}(X)_{s, t} := \log(\mathrm{S}(X)_{s,t})$ +the *log-signature* of $X$ over $[s, t)$. + +(rp-in-ds-sec)= +### Rough paths in data science +Now we turn to the applications of rough path theory to data science. +Our first task is to form a bridge between sequential data and paths. +Consider a finite, ordered sequence $\{(t_1, \mathbf{x}_1,\dots, +t_N,\mathbf{x}_N)\}$ of observations, where $t_j\in \mathbb{R}$, and +$\mathbf{x}_j\in V$. +(More generally, we might consider $\mathbf{x}_j\in\mathcal{L}((V))$ instead. +That is, data that already contains higher-order information.) +We can find numerous paths that interpolate these observations; a path +$X:[t_0, t_N]\to V$ such that, for each $j$, $X_{t_j} = \mathbf{x}_j$. +The simplest interpolation is to take the path that is linear between adjacent +observations. + +Once we have a path, we need to be able to compute signatures. +For practical purposes, we truncate all signatures (and log-signatures) to a +particular degree $M$, which we typically call the *depth*. +The dimension of the ambient space $d$ is usually called the *width*. +Using the linear interpolation, we can replace the iterated integrals with a +tensor exponential of the difference of successive terms: +```{math} +\mathrm{Sig}^M([t_j, t_{j+1})) = \exp_M(\mathbf{x}_{j+1} - \mathbf{x}_j) := +\sum_{j=0}^M \frac{1}{j!}(\mathbf{x}_{j+1} - \mathbf{x}_j)^{\otimes j}. +``` +Here, and in the remainder of the paper, we shall denote the empirical signature +over an interval $I$ by $\mathrm{Sig}(I)$ and the log-signature as +$\mathrm{LogSig}(I)$. +We can compute the signature over arbitrary intervals by taking the product of +the these terms, using the multiplicative property of the signature. + +#### The signature transform +Most of the early applications of rough paths in data science, the (truncated) +signature was used as a feature map [@NEURIPS2019_d2cdf047]. +This provides a summary of the path that is independent of the parameterisation +and the number of observations. +Unfortunately, the signature is a high-dimensional summary. +If $d > 1$, then the dimension of $\mathrm{T}^M(V)$ is +```{math} +\sum_{m=0}^M d^m = \frac{d^{M+1} - 1}{d - 1} +``` +This generally is a reflection of the complexity of the data, where data with a +higher complexity generally needs a higher truncation level and thus a larger +signature. + +For some applications, it might be possible to replace the signature with the +log-signature. +The log-signature is smaller than the signature, but we lose the universal +non-linearity property of the signature. +Alternatively, we might turn to other techniques that don't require a full +calculation of the signature (such as those mentioned below). +As the connection between rough paths and data science becomes more +mathematically mature, we will likely find new ways to use the signature +without requiring its full size. + +(sigker-sec)= +#### Signature kernels +Kernel methods are useful tools for learning with sequential data. +Mathematically, a *kernel* on a set $W$ is a positive-definite function +$k:W\times W\to \mathbb{R}$. Kernels are often quite easy to evaluate because of +the kernel trick, which involves embedding the data in a inner product space, +with a feature map, in which the +kernel can be evaluated by simply taking an inner product. +Informally, kernels measure the similarity between two points. +They are used in a variety of machine learning tasks such as classification. + +The *signature kernel* is a kernel induced on the space of paths by combining +the signature with a secondary kernel defined on the tensor algebra +[@JMLR_v20_16_314]. +The theory surrounding the signature kernel has been expanded several times +since their introduction [@NEURIPS2021_18a9042b;@doi:10.1214/23-AAP1973]. +Typically, the kernel on $\mathrm{T}((V))$ will itself by derived from an inner +product on $V$, extended to the tensor algebra. + + +Unfortunately the tensor algebra is infinite-dimensional, so we can't simply +evaluate this as an inner product of signatures. +However, it can be approximated by taking inner products of truncated +signatures. +Even better, it turns out that, in certain cases, the signature kernel +can be realised as the solution to a partial differential equation (PDE) of +Goursat type. +This means the full signature kernel can be computed from raw data without +needing to compute full signatures [@https://doi.org/10.1137/20M1366794]. + +In fact, in recent preprint, it has been shown that there are +higher order solvers for signature kernels by rewriting the kernel +solution of a system of PDEs of Goursat type +[@https://doi.org/10.48550/arXiv.2404.02926]. +A critical part of their method involves the adjoint of both left and right +free tensor multiplication, which are not available in any current package +for computing signatures. + +(ncde-sec)= +#### Neural controlled differential equations +Neural CDEs are a method for modelling irregular time series +[@NEURIPS2020_4a5876b4]. +We consider CDEs of the form +```{math} +\mathrm{d}Y_t = f_\theta(Y_t)\mathrm{d}X_t +``` +where $f_\theta$ is a neural network. +We can treat the path $Y$ as "hidden state" that we can tune using data to +understand the relationship between the driving path $X_t$ and some response. +Neural CDEs can be regarded as a continuous-time analogue of a recurrent neural +network. + +Neural CDEs initially showed some promising results on several benchmarks but +now lag behind current state-of-the-art approaches to time series modelling. +The latest iteration of neural CDEs are the recently introduced Log-neural +controlled differential equations [@https://doi.org/10.48550/arXiv.2402.18512], +which make use of the *Log-ODE* method for solving rough differential equations +in order to boost the performance of neural CDEs. + +(applications-sec)= +## Current applications of rough paths +In this section we enumerate several applications where rough paths +have been used to develop or improve methods for solving particular problems. +This list presented here is certainly not exhaustive. +In addition to the literature cited below, there are numerous worked examples in +the form of Jupyter notebooks available on the DataSig website +(). + +### Detecting interference in radio astronomy data +Radio frequency interference (RFI) is a substantial problem in the field of +radio astronomy. +Even small amounts of RFI can obscure the faint signals generated by distant +stellar objects and events. +The problem of identifying RFI in a signal falls into a class of +semi-supervised learning tasks called novelty (or anomaly) detection. +In a recent preprint, @doi:10.48550/arXiv.2402.14892 present a novelty detection +framework based on rough path methods to detect RFI in radio astronomy data from +several radio telescopes. +Their result show that their framework is effective at detecting even faint RFI +within the test data. +The methodology presented in the paper follows from previous work by +@https://doi.org/10.48550/arXiv.2006.03487. + +A similar problem of detecting malware by inspecting the streaming tree of +processes on a computer system is explored in +@doi:10.1109/CSR51186.2021.9527933. +Their method uses the signature kernel (see @sigker-sec) combined with a support +vector machine classifier to identify processes that are malicious compared to +"normal" behaviour learned via training on labelled data. + +### Tracking mood via natural langauge processing +One application of rough paths in NLP has been in the domain of mental health +[@http://dx.doi.org/10.18653/v1/2023.findings-acl.310; @tseriotou_etal_2024_sig]. +In this work, the authors present a model for identifying changes in a person's +mood based on their online textual content. +Many mental health conditions have symptoms that manifest in the (textual) +expression, so this could be a powerful tool for mental health professionals to +identify changes in patients and intervene before the state develops. +Their model achieves state-of-the-art performance vs existing models on two +datasets. + +### Predicting battery cell degradation +Another recent application of signatures is to predict the degredation of +lithium-ion cells [@http://doi.org/10.1016/j.apenergy.2023.121974]. +They use signature features to train a model that can accuractely predict the +end of life of a cell using relatively low-frequency sampling compared to +existing models. +They also observed that the performance at higher frequency was comparable to +other models. + +### Prediction of sepsis in intensive care data +One of the first effective demonstrations of the utility of signatures and rough +paths based methods in healthcare was in the 2019 PhysioNet challenge. +Here teams were invited to develop models to predict sepsis in patients from +intensive care unit data. +In this challenge, a team utilising signatures to enhance predictive power +placed +first in the official phase of the challenge +[@https://doi.org/10.1097/CCM.0000000000004510]. +Since then, signatures and other rough path based approaches have been used in +several other clinical contexts +[@https://doi.org/10.1038/s41598-024-51989-6; @doi:10.1109/MEDAI59581.2023.00008; +@tseriotou_etal_2024_sig]. +Clinical data is often irregularly sampled and often exhibits missing data, but +it can also be very high-frequency and dense. +Rough path based methods can handle these data in an elegant way, and retain the +structure of long and short term dependencies within the data. + +### Human action recognition +The task of identifying a specific action performed by a person from a short +video clip is very challenging. +Signatures derived from landmark data extracted from the video has been +used to train classication models that acheived state-of-the-art performance +compared with contemporary models [@https://doi.org/10.1007/978-3-030-98519-6_18]. +This work has been continued in numerous additional papers such as +[@doi:10.1109/tmm.2023.3318242;@liao2021a] +(See also preprint papers [@https://doi.org/10.48550/arXiv.2308.12840; +@https://doi.org/10.48550/arXiv.2403.15212].) +Also in the domain of computer vision, signatures have been used to produce +lightweight models for image classification +[@https://doi.org/10.1109/CVPRW56347.2022.00409] and in handwriting recognition +tasks [@https://doi.org/10.1109/TPAMI.2017.2732978]. + +(roughpy-sec)= +## RoughPy +RoughPy is a new library that aims to support the development of connections +between rough path theory and data science. +It represents a shift in philosophy from simple computations of signatures for +sequential data, to a representation of these data as a rough path. +The design objectives for RoughPy are as follows: +1. provide a class that presents a rough path view of some source of data as a + rough path, exposing methods for querying the data over intervals to get a + signature or log-signature; +2. provide classes and functions that allow the users to interact with the + signatures and other algebraic objects in a natural, mathematical manner; +3. all operations should be differentiable and objects should be interoperable + with objects from machine learning, such as TensorFlow (JAX) and PyTorch. + +The first two objectives are simple design and implementation problems. +The final objective presents the most difficulty, especially interoperability +between RoughPy and common machine learning libraries. +There are array interchange formats for NumPy-like arrays, such as the Python +Array API standard [@https://doi.org/10.25080/gerudo-f2bc6f59-001] and the +DLPack protocol [@dlpack]. +These provide part of the picture, but in order for them to be fully supported, +RoughPy must support a variety of compute backends such as CUDA (NVidia), +ROCm/HIP (AMD), and Metal (Apple). + +RoughPy is a substantial library with numerous components, mostly written in +C++ with a Python interface defined using Pybind11 [@pybind11]. +The original design of the library closely followed the C++ template libraries +libRDE and libalgebra [@coropa_project], although it has seen many iterations +since. + +In the remainder of this section, we discuss some of the core components of +RoughPy, give an example of using RoughPy, and discuss the future of RoughPy. + +### Free tensors, shuffle tensors, and Lie objects +In order to property support rough path based methods and allow users to write +code based on mathematical concepts, we provide realisations of several +algebra types. +The algebras provided in RoughPy are `FreeTensor`, `ShuffleTensor`, and `Lie`, +which define elements of a particular free tensor algebra, shuffle tensor +algebra, or free Lie algebra respectively. +Each of these algebras is initialized with a width, depth, and scalar +coefficient type, encapsulated in a `Context` object. + +In addition to the algebra classes, RoughPy provides a number of supporting +functions, including half-shuffle products for `FreeTensor`/`ShuffleTensor` +objects, and adjoint operators for left free tensor multiplication. +These are operations that are frequently used in the theory of rough paths, and +will likely be necessary in developing new applications later (as in the +signature kernels). + +RoughPy algebras are designed around a flexible scalar ring system that allows +users to perform calculations with different accuracy, or derive expressions by +using polynomial coefficients. +For most applications, floating point numbers will provide a good balance +between performance and accuracy. +When more precision is required, rational coefficients can be used +instead. +These are backed by GMPLib rationals for fast, arbitrary precision rational +arithmetic [@Granlund12]. +Polynomial coefficients can be used to derive formulae by performing +calculations. +This is a powerful technique for understanding the terms that appear in the +result, particularly whilst testing and debugging. + + +### Intervals +RoughPy is very careful in the way it handles intervals. +All intervals in RoughPy are half-open, meaning that they include one end point +but not the other; they are either *clopen* $[a, b) = \{t: a\leq t < b\}$ or +*opencl* $(a, b] = \{t : a < t \leq b\}$. +Besides the type (clopen or opencl), all intervals must provide methods for +retrieving the infimum ($a$ in the above notation) and the supremum ($b$ above) +of the interval as double precision floats. +This is enforced by means of an abstract base class `Interval`. +The main concrete interval types are `RealInterval`, an interval with arbitrary +real endpoints, and `DyadicInterval`, as described below. +For brevity, in the sequel we shall only consider clopen intervals. + +A *dyadic interval* is an interval of the form $D_k^n := [k/2^n, (k+1)/2^n)$, +where $k$, $n$ are integers. +The number $n$ is often described as the *resolution* of the interval. +The family of dyadic intervals of a fixed resolution $n$ partition the real line +so that every real number $t$ belongs to a unique dyadic interval $D_n^k$. +Moreover, the family of all dyadic intervals have the property that two +dyadic intervals are either disjoint or one contains the other (including the +possibility that they are equal). + +In many cases, RoughPy will granularise an interval into a dyadic intervals. +The *dyadic granularisation* of $[a, b)$ with resolution $n$ is +$[k_1/2^n, k_2/2^n)$ where $k_1 = \max\{k: k/2^n \leq a\}$ and +$k_2 = \max\{k: k/2^n \leq b\}$. +In effect, the dyadic granularisation is the result of "rounding" each end +point to the included end of the unique dyadic interval that contain it. + +### Streams +Streams are central to RoughPy. +A RoughPy `Stream` is a rough path view of some underlying data. +It provides two key methods to query the object over intervals to retrieve +either a signature or log-signature. +Importantly, once constructed, the underlying data is inaccessible except by +querying via these methods. +`Stream`s are designed to be composed in various ways, such as by concatenation, +in order to build up more complex streams. +A `Stream` is actually a (type-erased) wrapper around a more minimal +`StreamInterface` abstract class. + +We construct streams by a factory function associated with each different +`StreamInterface`, which might perform some compression of the underlying data. +For example, a basic `StreamInterface` is the `LieIncrementStream`, which can be +constructed using the associated `from_increments` factory function (a static +method of the class), which accepts an $n \times d$ array of *increment data*. +These data will typically be the differences between successive values of the +data (but could also include higher-order Lie terms). +This is similar to the way that libraries such as `esig`, `iisignature`, and +`signatory` consume data. + +RoughPy streams cache the result of log-signature queries over dyadic intervals +so they can be reused in later calculations. +To compute the log-signature over any interval $I$, we granularise at a fixed +stream resolution $n$ to obtain the interval $\tilde I = [k_1/2^n, k_2/2^n)$, +and then compute +:::{math} +\mathrm{LogSig}(\tilde I) = \log\biggl(\prod_{k=k_1}^{k_2-1} +\exp(\mathrm{LogSig}(D_k^n))\biggr). +::: +The $\mathrm{LogSig}(D_k^n)$ terms on the right-hand-side are either retrieved +from the cache, or computed from the underlying source. +This is essentially the Campbell-Baker-Hausdorff formula applied to the +log-signatures at the finest level. +In practice, we can actually reduce the number of terms in the product, by +merging complementary dyadic intervals that appear in the granularisation. +We further optimise by using a fused multiply-exponential ($A\exp(B)$) +operation. + +Signatures are always computed by first computing the log-signature and then +exponentiating. +Directly computing the signature as a product of exponentials of (cached) +log-signatures might accumulate enough numerical errors to drift slightly from a +group-like tensor; that is, the result might not actually be a true +signature. +Taking the logarithm and then exponentiating back to obtain the signature has +the effect of correcting this numerical drift from a true signature. + +Aside from the basic `LieIncrementStream`, there are several other +implementations of the `StreamInterface` currently available in RoughPy. +The `BrownianStream` approximates Brownian motion by generating normal +distributed increments over dyadic intervals of arbitrary resolution on demand, +forming a reasonable approximation of true Brownian motion. +The `ExternalDataStream` is an interface for loading data from various external +sources, such as from a database or specialised data format. +Currently, only sound files are supported but we plan to extend support for +other sources as the need arises. +This will certainly include "online" data sources such as computer peripheral +devices such as microphones. + +The other main `StreamInterface` implementation is the `PiecewiseAbelianStream`, +which is an important construction from the theory of rough paths. +A piecewise Abelian path, or log-linear path, is an example of a *smooth rough +path*, which generalises piecewise linear approximations of an arbitrary stream. +Formally, an *Abelian path* $Y$ is a pair $([a, b), \mathbf{y})$ where $a < b$ and +$\mathbf{x}\in\mathcal{L}((V))$. +The log-signature over an arbitrary interval $[u, v) \subseteq [a, b)$ is given +by +```{math} +\mathrm{LogSig}(Y)_{u, v} = \frac{v - u}{b - a}\mathbf{y}. +``` +A *piecewise Abelian path* is the concatenation of finitely many Abelian paths +with adjacent intervals. +For any rough path $X$ and partition $\{a = t_0 < t_1 < \dots < t_N = b\}$ there +is a piecewise Abelian approximation for this path given by +```{math} +\{([t_{j-1}, t_j), \mathrm{LogSig}(X)_{t_{j-1}, t_j}): j=1, \dots, N\}. +``` +This construction turns out to be vital for computing signature kernels in +[@https://doi.org/10.25080/gerudo-f2bc6f59-001] and for solving CDEs +[@http://dx.doi.org/10.1007/978-3-540-71285-5; +@https://doi.org/10.48550/arXiv.2402.18512]. +In particular, this construction can be used to compress data at some degree, +which can the be used in computations at a higher degree. + +### Example +In this section we show a very simple example of how to use RoughPy to construct +a stream and compute a signature. +This example is similar to the first few steps of the tutorial found in the +RoughPy documentation.[^roughpydocs] +We refer the reader to this documentation for much more detail. +We will construct a stream in $\mathbb{R}^{26}$ by taking each letter in a word, +"scipy" in this example, as the increments of a path: +```python +import numpy as np + +text = "scipy" +increments = np.zeros((5, 26), dtype="int8") +for i, c in enumerate(text): + increments[i, ord(c) - 97] = 1 +``` +Now we import RoughPy and construct a `Stream` using the factory mentioned +above. +One other critical ingredient is the algebra `Context`, which is used to set up +a consistent set of algebra objects with the desired width (26), truncation +level (2), and coefficient type (`Rational`). +```python +import roughpy as rp + +ctx = rp.get_context(width=26, + depth=2, + coeffs=rp.Rational) +stream = rp.LieIncrementStream.from_increments( + increments, ctx=ctx) +``` +Now we can compute the signature of the stream over the whole domain of the +stream $[0, 4]$ by omitting the interval argument: +```python +sig = stream.signature() +print(sig); +# { 1() 1(3) 1(9) 1(16) 1(19) 1(25) 1/2(3,3) +# 1(3,9) 1(3,16) 1(3,25) 1/2(9,9) 1(9,16) +# 1(9,25) 1/2(16,16) 1(16,25) 1(19,3) 1(19,9) +# 1(19,16) 1/2(19,19) 1(19,25) 1/2(25,25) } +``` +The first term of the signature is always 1, and the empty parentheses +indicate the empty tensor word. +The next five terms correspond to the counts of each unique letter that +appears, the number in parentheses indicates the letter (with `a` being 1). +The final terms indicate the order in which each pair of letters appear in +the word. +For instance, the term `1(3,9)` indicates that a `c` appears before an `i`. + +:::{prf:remark} +It turns out that most words in the English language can be distinguished +using only their level 2 signatures. +The first level signatures groups words into anagrams. +The second level signature counts the occurrences of each ordered pair of +letters. +There are relatively few words that require level 3 data. +From the standard Linux dictionary, containing around 80,000 words, there are +two pairs of words that require the level 3 terms: "toot" and "otto", and "naan" +and "anna". +This is shown in the RoughPy documentation. +Similar patterns can be observed in other languages too, including French, +Spanish, German, Russian, and Lithuanian. +::: +[^roughpydocs]: + + +### The future of RoughPy +RoughPy is continuously evolving. +At time of writing, the current version uses libalgebra and libalgebra-lite +(libalgebra with fewer templates) for computations. +Unfortunately, this made it difficult to achieve the differentiability and +computation device support that we want. +We are currently changing the way we implement vectors and algebras to provide +the support for on-device computation that we want. +Making the operations differentiable is crucial for machine learning, and will +be the biggest challenge. + +Long term, we need to expand support for signature kernels and CDEs. +As applications of these tools grow in data science, we will need to devise +new methods for computing kernels, or solving CDEs. + + +## Conclusions +The use of rough path theory in data science is rapidly expanding and provides a +different way to view sequential data. +Signatures, and other methods arising from rough path theory, are already used +in a wide variety of applications, with great effect. +The next steps in overcoming the difficulty in modeling sequential data will +require a change of perspective. +Viewing these data through the lens of rough path theory might provide this +change. + +RoughPy is a new Python library for working with streamed data using rough path +methods. +It is designed to abstract away the form and source of data so that analysis can +be performed by querying path-like objects. +This approach is much closer to the mathematics. +It also allows users to interact with the various algebras associated with rough +paths (free tensor algebra, shuffle tensor algebra, free Lie algebra) in a +natural way. +RoughPy is under active development, and a long list of improvements and +extensions are planned. + + + + From 86330b7e68a466929ffd2d07b76f5ef289e3c5b1 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sun, 19 May 2024 15:20:04 +0100 Subject: [PATCH 02/32] fixed a few problems --- papers/sam_morley/roughpy.md | 75 +++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 6630d36678..9eab2613b0 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -9,15 +9,15 @@ bibliography: - roughpy.bib abstract: | Rough path theory is a branch of mathematics arising out of stochastic - analysis. The principal tool of rough path analysis is the signature, which - captures the evolution of a path including the order in which events occurred. - This turns out to be a useful tool in data science applications involving - sequential data. RoughPy is our new Python package that aims change the way we - think about sequential streamed data, by viewing it through the lens of rough - paths. In RoughPy, data is wrapped in a stream objects which can be composed - and queried to obtain signatures that can be used in analysis. It also - provides a platform for further exploration of the connections between rough - path theory and data science. + analysis. One of the main tools of rough path analysis is the signature, + which captures the evolution of an unparametrised path including the order in + which events occurred. This turns out to be a useful tool in data science + applications involving sequential data. RoughPy is our new Python package + that aims change the way we think about sequential streamed data, by viewing + it through the lens of rough paths. In RoughPy, data is wrapped in a stream + objects which can be composed and queried to obtain signatures that can be + used in analysis. It also provides a platform for further exploration of the + connections between rough path theory and data science. acknowledgements: | This work was supported in part by EPSRC (NSFC) under Grant EP/S026347/1, in @@ -32,13 +32,17 @@ acknowledgements: | ## Introduction Sequential data appears everywhere in the modern world: text, finance, health records, radio (and other electromagnetic spectra), sound (and speech), etc. -These data are problematic for many traditional methods in data science. -Many of these difficulties arise because of computational constraints, where the -complexity of the model is intrinsically linked to the number of observations, -and others arise because the events are not observed at regular intervals. -In this paper, we introduce a new package *RoughPy* for analysing sequential -data through the lens of *rough path theory*, which provides useful techniques -for addressing some of the issues with these data. +Traditionally, these data are tricky to work with because of the exponential +complexity and different scales of the underlying process. +Until recently, with the development of transformers and large language models, +it has been difficult to capture the long-term pattern whist also capturing the +short-term fine detail. +Rough path theory gives us tools to work with sequential, ordered data in a +mathematically rigorous way, which should provide a means to overcome some of +the inherent complexity of the data. +In this paper, we introduce a new package *RoughPy* for working with sequential +data through the lens of rough path theory, performing rigorous analysis and +developing new techniques to overcome the difficulties of these data. Rough paths arise in the study of *controlled differential equations* (CDEs), which generalise ordinary differential equations (ODEs) and stochastic @@ -51,11 +55,12 @@ On simple CDE turns out to be critical to the theory: \mathrm{d}S_t = S_t \otimes \mathrm{d}X_t \qquad S_0 = \mathbf{1}. ``` The solution of this equation is called the *signature* of $X$. -It plays the same role as the exponential function for ordinary differential -equations (ODEs). +It is analogous to the exponential function for ODEs, in that the +solution of any CDE can be expressed in terms of the signature of the driving +path. When the path $X$ is sufficiently regular, the signature can be computed directly as a sequence of iterated integrals. -In other cases, we can still solve CDEs if we are given higher-order data that +In other cases, we can still solve CDEs if we are given higher order data that can be used in place of the iterated integrals. A path equipped with this higher order data is called a *rough path*. @@ -66,14 +71,14 @@ The signature is robust to irregular sampling and provides a fixed-size view of the data, regardless of how many observations are used to compute it. This means the signature can be a useful feature map to be used in machine learning for sequential data. -There are numerous examples of using signatures for analysing sequential data +There are numerous examples of using signatures of analysing sequential data outlined in @applications-sec. Besides signatures, there are two other rough path-based methods that have found their way into data science in recent years. These are the signature kernel and neural CDEs. -Both of these enjoy the same robustness of the signature, but can be useful in -some contexts where using the signature transform might not be optimal. +Both of these enjoy the same robustness of the signature, and expand the range +of applications of rough path-based methods. We give a short overview of these methods in @rp-in-ds-sec. There are several Python packages for computing signatures of sequential data, @@ -88,7 +93,7 @@ arranging the computations that need to be done RoughPy is a new package for working with sequential data and rough paths. The design philosophy for this package is to shift the emphasis from simply computing signatures on data to instead construct streams. -A stream is a view of some data as if it were a rough path, that can be queried +A *stream* is a view of some data as if it were a rough path, that can be queried over intervals to obtain a signature. The actual form of the data is abstracted away in favour of stream objects that closely resemble the mathematics. @@ -96,12 +101,12 @@ The aim is to change the way that users think about sequential data and advance the understanding of path-like data analysis. On top of the streams, RoughPy also provides concrete implementations for -elements of the various algebras associated with rough path analysis, such as -free tensor algebras, shuffle tensor algebras, and free Lie algebras [see -@math-bgd-sec]. +elements of the various algebras associated with rough path analysis. +These include free tensor algebras, shuffle tensor algebras, and free Lie +algebras [see @math-bgd-sec]. This allows the user to easily manipulate signatures, and other objects, in a -more natural manner, and quickly develop methods following the mathematics. - +more natural manner. +This, in turn, allows us to quickly develop methods following the mathematics. The paper is organised as follows. In the remainder of this section, we give a brief overview of the mathematics associated with rough path theory, and provide @@ -130,11 +135,11 @@ The value of a path $X$ at some parameter $t\in[a, b]$ is denoted $X_t$. -The siganture of $X$ is an element of the *(free) tensor algebra*. -For $n > 0$, the $n$th tensor power of $V$ is defined as $V^{\otimes n} = V -\otimes\dots\otimes V$, where $n$ copies of $V$ appear on the right-hand side. -By convention, we take $V^{\otimes 0} = \mathbb{R}$. -For example, $V^{\otimes 1} = V$, $V^{\otimes 2}$ is the space of $d\times d$ +The signature of $X$ is an element of the *(free) tensor algebra*. +For $n \geq 0$, the $n$th tensor power of $V$ is defined recursively by +$V^{\otimes 0} = \mathbb{R}$, $V^{\otimes 1} = V$, and $V^{\otimes n+1} = V +\otimes V^{\otimes n}$ for $n > 1$. +For example, $V^{\otimes 2}$ is the space of $d\times d$ matrices, and $V^{\otimes 3}$ is the space of $d\times d\times d$ tensors. The *tensor algebra over $V$* is the space ```{math} @@ -187,7 +192,7 @@ The multiplication on $\mathrm{Sh}((V))$ is the *shuffle product*, which corresponds to point-wise multiplication of functions on the path. There are several *Lie algebras* associated to $\mathrm{T}((V))$. -First we define the *Lie bracket* operation $[\mathbf{x}, \mathbf{y}] = +Define the *Lie bracket* operation $[\mathbf{x}, \mathbf{y}] = \mathbf{x} \otimes \mathbf{y} - \mathbf{y}\otimes \mathbf{x}$, for $\mathbf{x},\mathbf{y}\in \mathrm{T}((V))$. We define subspaces $L_m$ of $\mathrm{T}((V))$ for each $m\geq 0$ inductively as @@ -196,7 +201,7 @@ follows: $L_0 = \{\mathbf{0}\}$, $L_1 = V$, and, for $m \geq 1$, L_{m+1} = \mathrm{span}\{[\mathbf{x}, \mathbf{y}] : \mathbf{x}\in V, \mathbf{y} \in L_m\} ``` -The space of Lie series $\mathcal{L}((V))$ over $V$ is the subspace of +The space of formal Lie series $\mathcal{L}((V))$ over $V$ is the subspace of $\mathrm{T}((V))$ containing sequences of the form $(\ell_0, \ell_1, \cdots)$, where $\ell_j\in L_j$ for each $j\geq 0$. Note that $\mathcal{L}((V))\subseteq \mathrm{T}^{>0}(V)$. From 4750c644499fe36ffc8f36603296c9ec3f4ad6b6 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sun, 19 May 2024 19:59:29 +0100 Subject: [PATCH 03/32] fix a couple more problems --- papers/sam_morley/roughpy.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 9eab2613b0..67c5b00c1a 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -11,11 +11,11 @@ abstract: | Rough path theory is a branch of mathematics arising out of stochastic analysis. One of the main tools of rough path analysis is the signature, which captures the evolution of an unparametrised path including the order in - which events occurred. This turns out to be a useful tool in data science + which events occur. This turns out to be a useful tool in data science applications involving sequential data. RoughPy is our new Python package that aims change the way we think about sequential streamed data, by viewing it through the lens of rough paths. In RoughPy, data is wrapped in a stream - objects which can be composed and queried to obtain signatures that can be + object, which can be composed and queried to obtain signatures that can be used in analysis. It also provides a platform for further exploration of the connections between rough path theory and data science. @@ -84,7 +84,7 @@ We give a short overview of these methods in @rp-in-ds-sec. There are several Python packages for computing signatures of sequential data, including `esig` [@esig], `iisignature` [@doi.org/10.1145/3371237], and `signatory` [@https://doi.org/10.48550/arXiv.2001.00706]. -These packages simply provide functions for computing signatures from raw, +These packages provide functions for computing signatures from raw, structured data presented in an $n\times d$ array, where $d$ is the dimension of the stream and $n$ is the number of samples. This means the user is responsible for interpreting the data as a path and @@ -92,7 +92,7 @@ arranging the computations that need to be done RoughPy is a new package for working with sequential data and rough paths. The design philosophy for this package is to shift the emphasis from simply -computing signatures on data to instead construct streams. +computing signatures on data to instead work with streams. A *stream* is a view of some data as if it were a rough path, that can be queried over intervals to obtain a signature. The actual form of the data is abstracted away in favour of stream objects that @@ -106,7 +106,7 @@ These include free tensor algebras, shuffle tensor algebras, and free Lie algebras [see @math-bgd-sec]. This allows the user to easily manipulate signatures, and other objects, in a more natural manner. -This, in turn, allows us to quickly develop methods following the mathematics. +This allows us to quickly develop methods by following the mathematics. The paper is organised as follows. In the remainder of this section, we give a brief overview of the mathematics associated with rough path theory, and provide From f7c41d6031d6ef32bbe868d4c64a103fe4f0504c Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sun, 19 May 2024 20:29:35 +0100 Subject: [PATCH 04/32] change the modeline --- papers/sam_morley/roughpy.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 67c5b00c1a..f7d3bcc659 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -7,6 +7,9 @@ exports: article_type: Article bibliography: - roughpy.bib +numbering: + heading_2: true + heading_3: true abstract: | Rough path theory is a branch of mathematics arising out of stochastic analysis. One of the main tools of rough path analysis is the signature, @@ -644,6 +647,7 @@ the word. For instance, the term `1(3,9)` indicates that a `c` appears before an `i`. :::{prf:remark} +:nonumber: It turns out that most words in the English language can be distinguished using only their level 2 signatures. The first level signatures groups words into anagrams. @@ -699,4 +703,4 @@ extensions are planned. - + From fde193bb3d8541390ab702de4bb8efe82c257a38 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sun, 19 May 2024 22:38:08 +0100 Subject: [PATCH 05/32] final few corrections --- papers/sam_morley/roughpy.md | 100 +++++++++++++++++------------------ 1 file changed, 49 insertions(+), 51 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index f7d3bcc659..056cd5a002 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -1,10 +1,6 @@ --- title: RoughPy subtitle: Streaming data is rarely smooth -exports: - - format: pdf - template: arxiv_two_column - article_type: Article bibliography: - roughpy.bib numbering: @@ -286,18 +282,17 @@ Informally, kernels measure the similarity between two points. They are used in a variety of machine learning tasks such as classification. The *signature kernel* is a kernel induced on the space of paths by combining -the signature with a secondary kernel defined on the tensor algebra +the signature with an inner product defined on the tensor algebra [@JMLR_v20_16_314]. The theory surrounding the signature kernel has been expanded several times since their introduction [@NEURIPS2021_18a9042b;@doi:10.1214/23-AAP1973]. Typically, the kernel on $\mathrm{T}((V))$ will itself by derived from an inner product on $V$, extended to the tensor algebra. - -Unfortunately the tensor algebra is infinite-dimensional, so we can't simply -evaluate this as an inner product of signatures. -However, it can be approximated by taking inner products of truncated -signatures. +Signatures are infinite objects, so we can't simply evaluate inner products on +the tensor algebra. +Fortunately, we can approximate the signature kernel by taking inner products of +truncated signatures. Even better, it turns out that, in certain cases, the signature kernel can be realised as the solution to a partial differential equation (PDE) of Goursat type. @@ -315,16 +310,16 @@ for computing signatures. (ncde-sec)= #### Neural controlled differential equations Neural CDEs are a method for modelling irregular time series -[@NEURIPS2020_4a5876b4]. +. We consider CDEs of the form ```{math} -\mathrm{d}Y_t = f_\theta(Y_t)\mathrm{d}X_t +\mathrm{d}Y_t = f_\theta(Y_t)\,\mathrm{d}X_t ``` where $f_\theta$ is a neural network. We can treat the path $Y$ as "hidden state" that we can tune using data to understand the relationship between the driving path $X_t$ and some response. Neural CDEs can be regarded as a continuous-time analogue of a recurrent neural -network. +network [@NEURIPS2020_4a5876b4]. Neural CDEs initially showed some promising results on several benchmarks but now lag behind current state-of-the-art approaches to time series modelling. @@ -336,7 +331,7 @@ in order to boost the performance of neural CDEs. (applications-sec)= ## Current applications of rough paths In this section we enumerate several applications where rough paths -have been used to develop or improve methods for solving particular problems. +have been used to develop or improve methods. This list presented here is certainly not exhaustive. In addition to the literature cited below, there are numerous worked examples in the form of Jupyter notebooks available on the DataSig website @@ -348,25 +343,26 @@ radio astronomy. Even small amounts of RFI can obscure the faint signals generated by distant stellar objects and events. The problem of identifying RFI in a signal falls into a class of -semi-supervised learning tasks called novelty (or anomaly) detection. -In a recent preprint, @doi:10.48550/arXiv.2402.14892 present a novelty detection -framework based on rough path methods to detect RFI in radio astronomy data from -several radio telescopes. +semi-supervised learning tasks called *novelty* (or *anomaly*) *detection*. +Rough path methods have been applied to develop a novelty detection framework +based on rough path methods to detect RFI in radio astronomy data from several +radio telescopes [@doi:10.48550/arXiv.2402.14892]. Their result show that their framework is effective at detecting even faint RFI within the test data. -The methodology presented in the paper follows from previous work by -@https://doi.org/10.48550/arXiv.2006.03487. +This work is based on a general novelty detection framework +[@https://doi.org/10.48550/arXiv.2006.03487]. -A similar problem of detecting malware by inspecting the streaming tree of -processes on a computer system is explored in +Signatures kernels have also been used for a similar problem of detecting +malware by inspecting the streaming tree of processes on a computer system @doi:10.1109/CSR51186.2021.9527933. -Their method uses the signature kernel (see @sigker-sec) combined with a support -vector machine classifier to identify processes that are malicious compared to -"normal" behaviour learned via training on labelled data. +Their method uses a support vector machine classifier to identify processes that +are malicious compared to "normal" behaviour learned via training on labelled +data. -### Tracking mood via natural langauge processing -One application of rough paths in NLP has been in the domain of mental health -[@http://dx.doi.org/10.18653/v1/2023.findings-acl.310; @tseriotou_etal_2024_sig]. +### Tracking mood via natural language processing +One application of rough paths in natural language processing has been in the +domain of mental health [@http://dx.doi.org/10.18653/v1/2023.findings-acl.310; +@tseriotou_etal_2024_sig]. In this work, the authors present a model for identifying changes in a person's mood based on their online textual content. Many mental health conditions have symptoms that manifest in the (textual) @@ -376,23 +372,22 @@ Their model achieves state-of-the-art performance vs existing models on two datasets. ### Predicting battery cell degradation -Another recent application of signatures is to predict the degredation of +Another recent application of signatures is to predict the degradation of lithium-ion cells [@http://doi.org/10.1016/j.apenergy.2023.121974]. -They use signature features to train a model that can accuractely predict the -end of life of a cell using relatively low-frequency sampling compared to -existing models. +They use signature features to train a model that can accurately predict the end +of life of a cell using relatively low-frequency sampling compared to existing +models. They also observed that the performance at higher frequency was comparable to other models. ### Prediction of sepsis in intensive care data One of the first effective demonstrations of the utility of signatures and rough -paths based methods in healthcare was in the 2019 PhysioNet challenge. -Here teams were invited to develop models to predict sepsis in patients from -intensive care unit data. -In this challenge, a team utilising signatures to enhance predictive power -placed -first in the official phase of the challenge +paths based methods in healthcare was in the 2019 PhysioNet challenge [@https://doi.org/10.1097/CCM.0000000000004510]. +In this contest, teams were invited to develop models to predict sepsis in +patients from intensive care unit data. +In this challenge, a team utilising signatures to enhance predictive power +placed first in the official phase of the challenge. Since then, signatures and other rough path based approaches have been used in several other clinical contexts [@https://doi.org/10.1038/s41598-024-51989-6; @doi:10.1109/MEDAI59581.2023.00008; @@ -406,11 +401,11 @@ structure of long and short term dependencies within the data. The task of identifying a specific action performed by a person from a short video clip is very challenging. Signatures derived from landmark data extracted from the video has been -used to train classication models that acheived state-of-the-art performance +used to train classification models that achieved state-of-the-art performance compared with contemporary models [@https://doi.org/10.1007/978-3-030-98519-6_18]. This work has been continued in numerous additional papers such as [@doi:10.1109/tmm.2023.3318242;@liao2021a] -(See also preprint papers [@https://doi.org/10.48550/arXiv.2308.12840; +(see also preprint papers [@https://doi.org/10.48550/arXiv.2308.12840; @https://doi.org/10.48550/arXiv.2403.15212].) Also in the domain of computer vision, signatures have been used to produce lightweight models for image classification @@ -457,7 +452,7 @@ code based on mathematical concepts, we provide realisations of several algebra types. The algebras provided in RoughPy are `FreeTensor`, `ShuffleTensor`, and `Lie`, which define elements of a particular free tensor algebra, shuffle tensor -algebra, or free Lie algebra respectively. +algebra, and free Lie algebra respectively. Each of these algebras is initialized with a width, depth, and scalar coefficient type, encapsulated in a `Context` object. @@ -486,8 +481,8 @@ result, particularly whilst testing and debugging. ### Intervals RoughPy is very careful in the way it handles intervals. All intervals in RoughPy are half-open, meaning that they include one end point -but not the other; they are either *clopen* $[a, b) = \{t: a\leq t < b\}$ or -*opencl* $(a, b] = \{t : a < t \leq b\}$. +but not the other; they are either *clopen* $[a, b) := \{t: a\leq t < b\}$ or +*opencl* $(a, b] := \{t : a < t \leq b\}$. Besides the type (clopen or opencl), all intervals must provide methods for retrieving the infimum ($a$ in the above notation) and the supremum ($b$ above) of the interval as double precision floats. @@ -496,8 +491,8 @@ The main concrete interval types are `RealInterval`, an interval with arbitrary real endpoints, and `DyadicInterval`, as described below. For brevity, in the sequel we shall only consider clopen intervals. -A *dyadic interval* is an interval of the form $D_k^n := [k/2^n, (k+1)/2^n)$, -where $k$, $n$ are integers. +A *dyadic interval* is an interval $D_k^n := [k/2^n, (k+1)/2^n)$, where $k$, $n$ +are integers. The number $n$ is often described as the *resolution* of the interval. The family of dyadic intervals of a fixed resolution $n$ partition the real line so that every real number $t$ belongs to a unique dyadic interval $D_n^k$. @@ -521,7 +516,7 @@ Importantly, once constructed, the underlying data is inaccessible except by querying via these methods. `Stream`s are designed to be composed in various ways, such as by concatenation, in order to build up more complex streams. -A `Stream` is actually a (type-erased) wrapper around a more minimal +A `Stream` is actually a (type-erasing) wrapper around a more minimal `StreamInterface` abstract class. We construct streams by a factory function associated with each different @@ -556,8 +551,8 @@ Signatures are always computed by first computing the log-signature and then exponentiating. Directly computing the signature as a product of exponentials of (cached) log-signatures might accumulate enough numerical errors to drift slightly from a -group-like tensor; that is, the result might not actually be a true -signature. +group-like tensor. +That is, the result might not actually be a true signature. Taking the logarithm and then exponentiating back to obtain the signature has the effect of correcting this numerical drift from a true signature. @@ -574,7 +569,7 @@ This will certainly include "online" data sources such as computer peripheral devices such as microphones. The other main `StreamInterface` implementation is the `PiecewiseAbelianStream`, -which is an important construction from the theory of rough paths. +which is an important construction from CDE. A piecewise Abelian path, or log-linear path, is an example of a *smooth rough path*, which generalises piecewise linear approximations of an arbitrary stream. Formally, an *Abelian path* $Y$ is a pair $([a, b), \mathbf{y})$ where $a < b$ and @@ -678,6 +673,10 @@ be the biggest challenge. Long term, we need to expand support for signature kernels and CDEs. As applications of these tools grow in data science, we will need to devise new methods for computing kernels, or solving CDEs. +We will also build a framework for constructing and working with linear maps, +and homomorphisms. +For example, one very useful linear map is the extension of the $\log$ function +to the whole tensor algebra. ## Conclusions @@ -702,5 +701,4 @@ RoughPy is under active development, and a long list of improvements and extensions are planned. - - +% vim: tw=80 wrap cc=80 From 135ded1a52e6d20d2723af8522f68d3bb973fc93 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sun, 19 May 2024 22:38:19 +0100 Subject: [PATCH 06/32] change to note, avoid duplication --- papers/sam_morley/roughpy.bib | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/papers/sam_morley/roughpy.bib b/papers/sam_morley/roughpy.bib index d226364441..923a508ecd 100644 --- a/papers/sam_morley/roughpy.bib +++ b/papers/sam_morley/roughpy.bib @@ -87,14 +87,14 @@ @article{JMLR_v20_16_314 @misc{pybind11, author = {Wenzel Jakob and Jason Rhinelander and Dean Moldovan}, year = {2017}, - url = {https://github.com/pybind/pybind11}, + note = {https://github.com/pybind/pybind11}, title = {pybind11 -- Seamless operability between C++11 and Python} } @misc{esig, author = {Terry Lyons and David Maxwell}, year = 2017, - url = {https://github.com/datasig-ac-uk/esig}, + note = {https://github.com/datasig-ac-uk/esig}, title = {esig} } @@ -103,7 +103,7 @@ @misc{coropa_project Janssen and Christophe Ladroue and Christian Litterer and Terry Lyons and ChangLiang Xu}, year = 2006, - url = {https://coropa.sourceforge.io}, + note = {https://coropa.sourceforge.io}, title = {CoRoPa -- Computational Rough Paths project} } @@ -123,7 +123,7 @@ @misc{dlpack author = {DLPack}, year = 2023, title = {Open In Memory Tensor structure}, - url = {https://dmlc.github.io/dlpack/latest/} + note = {https://dmlc.github.io/dlpack/latest/} } @Manual{Granlund12, @@ -131,5 +131,5 @@ @Manual{Granlund12 author = "Torbjörn Granlund and {the GMP development team}", edition = "5.0.5", year = 2012, - url = "http://gmplib.org/" + note = "http://gmplib.org/" } From af7c7bef7d9b9a1464189052e3edf88c40cb87b4 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Mon, 20 May 2024 20:44:34 +0100 Subject: [PATCH 07/32] Add more keywords and minor fixes --- papers/sam_morley/myst.yml | 2 ++ papers/sam_morley/roughpy.md | 46 +++++++++++++++++------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/papers/sam_morley/myst.yml b/papers/sam_morley/myst.yml index 95edf882e1..e1cfbc540a 100644 --- a/papers/sam_morley/myst.yml +++ b/papers/sam_morley/myst.yml @@ -20,6 +20,8 @@ project: - signatures - data science - machine learning + - signature kernels + - Log-ODE method github: datasig-ac-uk/roughpy bibliography: - roughpy.bib diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 056cd5a002..7e93e4f599 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -40,12 +40,13 @@ Rough path theory gives us tools to work with sequential, ordered data in a mathematically rigorous way, which should provide a means to overcome some of the inherent complexity of the data. In this paper, we introduce a new package *RoughPy* for working with sequential -data through the lens of rough path theory, performing rigorous analysis and -developing new techniques to overcome the difficulties of these data. +data through the lens of rough path theory, where we can perform rigourous +analyses and explore different ways to understand sequential data. Rough paths arise in the study of *controlled differential equations* (CDEs), which generalise ordinary differential equations (ODEs) and stochastic -differential equations [@Lyons1998;@http://dx.doi.org/10.1007/978-3-540-71285-5]. +differential equations +[@Lyons1998;@http://dx.doi.org/10.1007/978-3-540-71285-5]. These are equations of the form $\mathrm{d}Y_t = f(Y_t, \mathrm{d}X_t)$, subject to an initial condition $Y_0 = y_0$, that model a non-linear system driven by a input path $X$. @@ -92,8 +93,8 @@ arranging the computations that need to be done RoughPy is a new package for working with sequential data and rough paths. The design philosophy for this package is to shift the emphasis from simply computing signatures on data to instead work with streams. -A *stream* is a view of some data as if it were a rough path, that can be queried -over intervals to obtain a signature. +A *stream* is a view of some data as if it were a rough path, that can be +queried over intervals to obtain a signature. The actual form of the data is abstracted away in favour of stream objects that closely resemble the mathematics. The aim is to change the way that users think about sequential data and advance @@ -123,7 +124,7 @@ In this section we give a very short introduction to signatures and rough path theory that should be sufficient to inform the discussion in the sequel. For a far more comprehensive and rigorous treatment, we refer the reader to the recent survey [@https://doi.org/10.48550/arXiv.2206.14674]. -In this section, we write $V$ for the vector space +In the sequel, we write $V$ for the vector space $\mathbb{R}^d$, where $d \geq 1$. A *path* in $V$ is a continuous function $X:[a, b] \to V$, where $a < b$ are @@ -131,8 +132,6 @@ real numbers. For the purposes of this discussion, we shall further impose the condition that all paths are of bounded variation. The value of a path $X$ at some parameter $t\in[a, b]$ is denoted $X_t$. - - The signature of $X$ is an element of the *(free) tensor algebra*. For $n \geq 0$, the $n$th tensor power of $V$ is defined recursively by @@ -153,9 +152,9 @@ the antipode. The members of $\mathrm{G}(V)$ are called *group-like* elements. For each $n \geq 0$, we write $\mathrm{T}^n(V)$ for the *truncated tensor algebra* of degree $n$, which is the space of all $\mathbf{x} = (x_0, x_1, -\dots)$ such that $x_j = \mathbf{0}$ whenever $j > n$. +\dots)$ such that $x_j = 0$ whenever $j > n$. Similarly, we write $\mathrm{T}^{>n}(V)$ for the subspace of elements -$\mathbf{x} = (x_0, x_1,\dots)$ where $x_j = \mathbf{0}$ whenever $j \leq n$, +$\mathbf{x} = (x_0, x_1,\dots)$ where $x_j = 0$ whenever $j \leq n$, which is an ideal in $\mathrm{T}((V))$ and $\mathrm{T}^n(V) = \mathrm{T}((V)) / \mathrm{T}^{>n}(V)$. The truncated tensor algebra is an algebra, when given the *truncated tensor @@ -191,7 +190,7 @@ The multiplication on $\mathrm{Sh}((V))$ is the *shuffle product*, which corresponds to point-wise multiplication of functions on the path. There are several *Lie algebras* associated to $\mathrm{T}((V))$. -Define the *Lie bracket* operation $[\mathbf{x}, \mathbf{y}] = +Define the *Lie bracket* $[\mathbf{x}, \mathbf{y}] = \mathbf{x} \otimes \mathbf{y} - \mathbf{y}\otimes \mathbf{x}$, for $\mathbf{x},\mathbf{y}\in \mathrm{T}((V))$. We define subspaces $L_m$ of $\mathrm{T}((V))$ for each $m\geq 0$ inductively as @@ -389,9 +388,8 @@ patients from intensive care unit data. In this challenge, a team utilising signatures to enhance predictive power placed first in the official phase of the challenge. Since then, signatures and other rough path based approaches have been used in -several other clinical contexts -[@https://doi.org/10.1038/s41598-024-51989-6; @doi:10.1109/MEDAI59581.2023.00008; -@tseriotou_etal_2024_sig]. +several other clinical contexts [@https://doi.org/10.1038/s41598-024-51989-6; +@doi:10.1109/MEDAI59581.2023.00008; @tseriotou_etal_2024_sig]. Clinical data is often irregularly sampled and often exhibits missing data, but it can also be very high-frequency and dense. Rough path based methods can handle these data in an elegant way, and retain the @@ -400,12 +398,12 @@ structure of long and short term dependencies within the data. ### Human action recognition The task of identifying a specific action performed by a person from a short video clip is very challenging. -Signatures derived from landmark data extracted from the video has been -used to train classification models that achieved state-of-the-art performance -compared with contemporary models [@https://doi.org/10.1007/978-3-030-98519-6_18]. -This work has been continued in numerous additional papers such as -[@doi:10.1109/tmm.2023.3318242;@liao2021a] -(see also preprint papers [@https://doi.org/10.48550/arXiv.2308.12840; +Signatures derived from landmark data extracted from the video has been used to +train classification models that achieved state-of-the-art performance compared +with contemporary models +[@https://doi.org/10.1007/978-3-030-98519-6_18; @doi:10.1109/tmm.2023.3318242; +@liao2021a]. +(See also preprint papers [@https://doi.org/10.48550/arXiv.2308.12840; @https://doi.org/10.48550/arXiv.2403.15212].) Also in the domain of computer vision, signatures have been used to produce lightweight models for image classification @@ -470,7 +468,7 @@ For most applications, floating point numbers will provide a good balance between performance and accuracy. When more precision is required, rational coefficients can be used instead. -These are backed by GMPLib rationals for fast, arbitrary precision rational +These are backed by GMP rationals for fast, arbitrary precision rational arithmetic [@Granlund12]. Polynomial coefficients can be used to derive formulae by performing calculations. @@ -572,8 +570,8 @@ The other main `StreamInterface` implementation is the `PiecewiseAbelianStream`, which is an important construction from CDE. A piecewise Abelian path, or log-linear path, is an example of a *smooth rough path*, which generalises piecewise linear approximations of an arbitrary stream. -Formally, an *Abelian path* $Y$ is a pair $([a, b), \mathbf{y})$ where $a < b$ and -$\mathbf{x}\in\mathcal{L}((V))$. +Formally, an *Abelian path* $Y$ is a pair $([a, b), \mathbf{y})$ where $a < b$ +and $\mathbf{y}\in\mathcal{L}((V))$. The log-signature over an arbitrary interval $[u, v) \subseteq [a, b)$ is given by ```{math} @@ -586,7 +584,7 @@ is a piecewise Abelian approximation for this path given by ```{math} \{([t_{j-1}, t_j), \mathrm{LogSig}(X)_{t_{j-1}, t_j}): j=1, \dots, N\}. ``` -This construction turns out to be vital for computing signature kernels in +This construction turns out to be vital for computing signature kernels [@https://doi.org/10.25080/gerudo-f2bc6f59-001] and for solving CDEs [@http://dx.doi.org/10.1007/978-3-540-71285-5; @https://doi.org/10.48550/arXiv.2402.18512]. From e0b0d0dbbdedf6eacf2d4399f88fe362e25cb92a Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Tue, 21 May 2024 13:07:40 +0100 Subject: [PATCH 08/32] Update roles on submission --- papers/sam_morley/myst.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/papers/sam_morley/myst.yml b/papers/sam_morley/myst.yml index e1cfbc540a..2c62682cfb 100644 --- a/papers/sam_morley/myst.yml +++ b/papers/sam_morley/myst.yml @@ -12,6 +12,10 @@ project: orcid: 0000-0001-5971-7418 affiliations: - University Of Oxford + roles: + - Conceptualization + - Writing - original draft + - Software # description: keywords: From d55ac642576ab744c3ed40c5d1ffd512a5624a85 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Wed, 22 May 2024 07:44:19 +0100 Subject: [PATCH 09/32] Added TL as an author --- papers/sam_morley/myst.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/papers/sam_morley/myst.yml b/papers/sam_morley/myst.yml index 2c62682cfb..1fa0b2648f 100644 --- a/papers/sam_morley/myst.yml +++ b/papers/sam_morley/myst.yml @@ -16,9 +16,21 @@ project: - Conceptualization - Writing - original draft - Software + corresponding: true + - name: Terry Lyons + email: terry.lyons@maths.ox.ac.uk + orcid: 0000-0002-9972-2809 + affiliations: + - University of Oxford + roles: + - Conceptualization + - Supervision + - Writing - review & editing # description: keywords: + - sequential data + - unparametrised paths - time series - rough paths - signatures From 6e5a85767ed715a4afcf0de8b30f0b01be856360 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Wed, 22 May 2024 07:44:30 +0100 Subject: [PATCH 10/32] update acknowledgements --- papers/sam_morley/roughpy.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 7e93e4f599..da73d845c0 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -23,9 +23,10 @@ acknowledgements: | part by The Alan Turing Institute under the EPSRC grant EP/N510129/1, the Data Centric Engineering Programme (under the Lloyd’s Register Foundation grant G0095), and the Defence and Security Programme (funded by the UK Government). - For the purpose of Open Access, the author has applied a CC-BY public - copyright licence to any Author Accepted Manuscript version arising from this - submission. + Terry Lyons was additionally supported by the Hong Kong Innovation and + Technology Commission (InnoHK project CIMDA). For the purpose of Open Access, + the author has applied a CC-BY public copyright licence to any Author Accepted + Manuscript version arising from this submission. --- ## Introduction @@ -180,7 +181,7 @@ reparametrisation. In some sense, the signature is a *unversal non-linearity* on paths. Continuous functions on the path can be approximated (uniformly) by linear -functionals ($\mathrm{G}(V)\to \mathbb{R}$) on the signature. +functionals ($\mathrm{G}TL(V)\to \mathbb{R}$) on the signature. This is a consequence of the Stone-Weierstrass theorem. The *dual* of $\mathrm{T}((V))$ is $\mathrm{Sh}((V)):=\mathrm{T}((V^{\ast})) \cong\mathrm{T}((V))$ From f2cbdf44e71fbc21d9c1c17149550847ab5fbc4b Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Wed, 22 May 2024 09:24:05 +0100 Subject: [PATCH 11/32] add dois for those that have them, ignore errors on the rest --- papers/sam_morley/myst.yml | 13 ++++++++----- papers/sam_morley/roughpy.bib | 15 ++++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/papers/sam_morley/myst.yml b/papers/sam_morley/myst.yml index 1fa0b2648f..43e0857dbc 100644 --- a/papers/sam_morley/myst.yml +++ b/papers/sam_morley/myst.yml @@ -54,11 +54,14 @@ project: - rule: doi-exists severity: ignore keys: - - Atr03 - - terradesert - - jupyter - - sklearn1 - - sklearn2 + - Lyons1998 + - esig + - dlpack + - pybind11 + - coropa_project + - Granlund12 + - NEURIPS2021_18a9042b + # A banner will be generated for you on publication, this is a placeholder banner: banner.png # The rest of the information shouldn't be modified diff --git a/papers/sam_morley/roughpy.bib b/papers/sam_morley/roughpy.bib index 923a508ecd..3e9b58c65b 100644 --- a/papers/sam_morley/roughpy.bib +++ b/papers/sam_morley/roughpy.bib @@ -17,6 +17,7 @@ @inproceedings{tseriotou_etal_2024_sig url = "https://aclanthology.org/2024.eacl-demo.24", pages = "223--237", abstract = "We present an open-source, pip installable toolkit, Sig-Networks, the first of its kind for longitudinal language modelling. A central focus is the incorporation of Signature-based Neural Network models, which have recently shown success in temporal tasks. We apply and extend published research providing a full suite of signature-based models. Their components can be used as PyTorch building blocks in future architectures. Sig-Networks enables task-agnostic dataset plug-in, seamless preprocessing for sequential data, parameter flexibility, automated tuning across a range of models. We examine signature networks under three different NLP tasks of varying temporal granularity: counselling conversations, rumour stance switch and mood changes in social media threads, showing SOTA performance in all three, and provide guidance for future tasks. We release the Toolkit as a PyTorch package with an introductory video, Git repositories for preprocessing and modelling including sample notebooks on the modeled NLP tasks.", + doi = "10.48550/arXiv.2312.03523", } @inproceedings{NEURIPS2020_4a5876b4, @@ -28,7 +29,8 @@ @inproceedings{NEURIPS2020_4a5876b4 title = {Neural Controlled Differential Equations for Irregular Time Series}, url = {https://proceedings.neurips.cc/paper_files/paper/2020/file/4a5876b450b45371f6cfe5047ac8cd45-Paper.pdf}, volume = {33}, - year = {2020} + year = {2020}, + doi = "10.48550/arXiv.1906.08215", } @article{Lyons1998, @@ -58,7 +60,8 @@ @inproceedings{liao2021a editor = {}, year = {2021}, organizer = {32nd British Machine Vision Conference (BMVC 2021)}, - series = {} + series = {}, + doi = "10.48550/arXiv.2110.13008", } @inproceedings{NEURIPS2021_18a9042b, @@ -70,7 +73,7 @@ @inproceedings{NEURIPS2021_18a9042b title = {Framing RNN as a kernel method: A neural ODE approach}, url = {https://proceedings.neurips.cc/paper_files/paper/2021/file/18a9042b3fc5b02fe3d57fea87d6992f-Paper.pdf}, volume = {34}, - year = {2021} + year = {2021}, } @article{JMLR_v20_16_314, @@ -81,7 +84,8 @@ @article{JMLR_v20_16_314 volume = {20}, number = {31}, pages = {1--45}, - url = {http://jmlr.org/papers/v20/16-314.html} + url = {http://jmlr.org/papers/v20/16-314.html}, + doi = "10.48550/arXiv.2102.03657", } @misc{pybind11, @@ -116,7 +120,8 @@ @inproceedings{NEURIPS2019_d2cdf047 title = {Deep Signature Transforms}, url = {https://proceedings.neurips.cc/paper_files/paper/2019/file/d2cdf047a6674cef251d56544a3cf029-Paper.pdf}, volume = {32}, - year = {2019} + year = {2019}, + doi = "10.48550/arXiv.1905.08494" } @misc{dlpack, From d33e15fbeb153ac90ded72fdb35dc4a856aaadde Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 25 Jul 2024 07:44:33 +0100 Subject: [PATCH 12/32] Fixed typo and added comment about installing roughpy. --- papers/sam_morley/roughpy.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index da73d845c0..d4e5bf818b 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -6,6 +6,13 @@ bibliography: numbering: heading_2: true heading_3: true +exports: + - format: pdf + template: arxiv_two_column + article_type: Article + - format: tex + template: arxiv_two_column + article_type: Article abstract: | Rough path theory is a branch of mathematics arising out of stochastic analysis. One of the main tools of rough path analysis is the signature, @@ -35,7 +42,7 @@ records, radio (and other electromagnetic spectra), sound (and speech), etc. Traditionally, these data are tricky to work with because of the exponential complexity and different scales of the underlying process. Until recently, with the development of transformers and large language models, -it has been difficult to capture the long-term pattern whist also capturing the +it has been difficult to capture the long-term pattern whilst also capturing the short-term fine detail. Rough path theory gives us tools to work with sequential, ordered data in a mathematically rigorous way, which should provide a means to overcome some of @@ -597,6 +604,11 @@ In this section we show a very simple example of how to use RoughPy to construct a stream and compute a signature. This example is similar to the first few steps of the tutorial found in the RoughPy documentation.[^roughpydocs] +RoughPy can be installed using `pip`, where prebuilt wheels are available for +Windows, Linux, and MacOs: +``` +pip install roughpy +``` We refer the reader to this documentation for much more detail. We will construct a stream in $\mathbb{R}^{26}$ by taking each letter in a word, "scipy" in this example, as the increments of a path: From 2b6beee08c00ba22324bad6771345e5c3fa2eeaf Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 25 Jul 2024 07:52:35 +0100 Subject: [PATCH 13/32] fixed notation for shuffle tensor and free tensor --- papers/sam_morley/roughpy.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index d4e5bf818b..e3b4a039c7 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -188,13 +188,13 @@ reparametrisation. In some sense, the signature is a *unversal non-linearity* on paths. Continuous functions on the path can be approximated (uniformly) by linear -functionals ($\mathrm{G}TL(V)\to \mathbb{R}$) on the signature. +functionals ($\mathrm{G}(V)\to \mathbb{R}$) on the signature. This is a consequence of the Stone-Weierstrass theorem. -The *dual* of $\mathrm{T}((V))$ is $\mathrm{Sh}((V)):=\mathrm{T}((V^{\ast})) +The *dual* of $\mathrm{T}((V))$ is $\mathrm{Sh}(V):=\mathrm{T}((V^{\ast})) \cong\mathrm{T}((V))$ (as a vector space) is the space of these linear functionals on $\mathrm{T}((V))$; we call this the *shuffle algebra*. -The multiplication on $\mathrm{Sh}((V))$ is the *shuffle product*, which +The multiplication on $\mathrm{Sh}(V)$ is the *shuffle product*, which corresponds to point-wise multiplication of functions on the path. There are several *Lie algebras* associated to $\mathrm{T}((V))$. @@ -207,10 +207,10 @@ follows: $L_0 = \{\mathbf{0}\}$, $L_1 = V$, and, for $m \geq 1$, L_{m+1} = \mathrm{span}\{[\mathbf{x}, \mathbf{y}] : \mathbf{x}\in V, \mathbf{y} \in L_m\} ``` -The space of formal Lie series $\mathcal{L}((V))$ over $V$ is the subspace of +The space of formal Lie series $\mathcal{L}(V)$ over $V$ is the subspace of $\mathrm{T}((V))$ containing sequences of the form $(\ell_0, \ell_1, \cdots)$, where $\ell_j\in L_j$ for each $j\geq 0$. -Note that $\mathcal{L}((V))\subseteq \mathrm{T}^{>0}(V)$. +Note that $\mathcal{L}(V)\subseteq \mathrm{T}^{>0}(V)$. For any $\mathbf{x} \in \mathrm{T}(V)$ we define ```{math} \exp(\mathbf{x}) = \sum_{n=0}^\infty \frac{\mathbf{x}^{\otimes n}}{n!} @@ -218,8 +218,8 @@ For any $\mathbf{x} \in \mathrm{T}(V)$ we define \log(\mathbf{1} + \mathbf{x}) = \sum_{n=1}^\infty \frac{(-1)^{n-1}}{n}\mathbf{x}^{\otimes n}. ``` -For any path $X$, we have $\log(\mathrm{S}(X)_{s, t})\in \mathcal{L}((V))$, and, -more generally we have $\exp(\mathcal{L}((V))) = \mathrm{G}(V)$. +For any path $X$, we have $\log(\mathrm{S}(X)_{s, t})\in \mathcal{L}(V)$, and, +more generally we have $\exp(\mathcal{L}(V)) = \mathrm{G}(V)$. We call the quantity $\mathrm{LogSig}(X)_{s, t} := \log(\mathrm{S}(X)_{s,t})$ the *log-signature* of $X$ over $[s, t)$. @@ -230,7 +230,7 @@ Our first task is to form a bridge between sequential data and paths. Consider a finite, ordered sequence $\{(t_1, \mathbf{x}_1,\dots, t_N,\mathbf{x}_N)\}$ of observations, where $t_j\in \mathbb{R}$, and $\mathbf{x}_j\in V$. -(More generally, we might consider $\mathbf{x}_j\in\mathcal{L}((V))$ instead. +(More generally, we might consider $\mathbf{x}_j\in\mathcal{L}(V)$ instead. That is, data that already contains higher-order information.) We can find numerous paths that interpolate these observations; a path $X:[t_0, t_N]\to V$ such that, for each $j$, $X_{t_j} = \mathbf{x}_j$. @@ -579,7 +579,7 @@ which is an important construction from CDE. A piecewise Abelian path, or log-linear path, is an example of a *smooth rough path*, which generalises piecewise linear approximations of an arbitrary stream. Formally, an *Abelian path* $Y$ is a pair $([a, b), \mathbf{y})$ where $a < b$ -and $\mathbf{y}\in\mathcal{L}((V))$. +and $\mathbf{y}\in\mathcal{L}(V)$. The log-signature over an arbitrary interval $[u, v) \subseteq [a, b)$ is given by ```{math} From 48b767319acc996bc5d3a494d04357d708d3d519 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 25 Jul 2024 08:00:13 +0100 Subject: [PATCH 14/32] fixed naming of the lie algebra --- papers/sam_morley/roughpy.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index e3b4a039c7..614e95f733 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -110,7 +110,7 @@ the understanding of path-like data analysis. On top of the streams, RoughPy also provides concrete implementations for elements of the various algebras associated with rough path analysis. -These include free tensor algebras, shuffle tensor algebras, and free Lie +These include free tensor algebras, shuffle tensor algebras, and Lie algebras [see @math-bgd-sec]. This allows the user to easily manipulate signatures, and other objects, in a more natural manner. @@ -190,10 +190,9 @@ In some sense, the signature is a *unversal non-linearity* on paths. Continuous functions on the path can be approximated (uniformly) by linear functionals ($\mathrm{G}(V)\to \mathbb{R}$) on the signature. This is a consequence of the Stone-Weierstrass theorem. -The *dual* of $\mathrm{T}((V))$ is $\mathrm{Sh}(V):=\mathrm{T}((V^{\ast})) -\cong\mathrm{T}((V))$ -(as a vector space) is the space of these linear functionals on -$\mathrm{T}((V))$; we call this the *shuffle algebra*. +The *dual* of $\mathrm{T}((V))$ is $\mathrm{Sh}(V)$ is the space of +these linear functionals on $\mathrm{T}((V))$; we call this the *shuffle +algebra*. The multiplication on $\mathrm{Sh}(V)$ is the *shuffle product*, which corresponds to point-wise multiplication of functions on the path. @@ -458,7 +457,7 @@ code based on mathematical concepts, we provide realisations of several algebra types. The algebras provided in RoughPy are `FreeTensor`, `ShuffleTensor`, and `Lie`, which define elements of a particular free tensor algebra, shuffle tensor -algebra, and free Lie algebra respectively. +algebra, and Lie algebra respectively. Each of these algebras is initialized with a width, depth, and scalar coefficient type, encapsulated in a `Context` object. @@ -706,7 +705,7 @@ It is designed to abstract away the form and source of data so that analysis can be performed by querying path-like objects. This approach is much closer to the mathematics. It also allows users to interact with the various algebras associated with rough -paths (free tensor algebra, shuffle tensor algebra, free Lie algebra) in a +paths (free tensor algebra, shuffle tensor algebra, Lie algebra) in a natural way. RoughPy is under active development, and a long list of improvements and extensions are planned. From ad3d3dbff9e7d0811d07a5df48da7f1912b3fc97 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:06:49 +0100 Subject: [PATCH 15/32] fixed typo --- papers/sam_morley/roughpy.md | 87 +++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 614e95f733..0ad543f29f 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -54,7 +54,7 @@ analyses and explore different ways to understand sequential data. Rough paths arise in the study of *controlled differential equations* (CDEs), which generalise ordinary differential equations (ODEs) and stochastic differential equations -[@Lyons1998;@http://dx.doi.org/10.1007/978-3-540-71285-5]. +[@Lyons1998;@10.1007/978-3-540-71285-5]. These are equations of the form $\mathrm{d}Y_t = f(Y_t, \mathrm{d}X_t)$, subject to an initial condition $Y_0 = y_0$, that model a non-linear system driven by a input path $X$. @@ -90,8 +90,8 @@ of applications of rough path-based methods. We give a short overview of these methods in @rp-in-ds-sec. There are several Python packages for computing signatures of sequential data, -including `esig` [@esig], `iisignature` [@doi.org/10.1145/3371237], and -`signatory` [@https://doi.org/10.48550/arXiv.2001.00706]. +including `esig` [@esig], `iisignature` [@10.1145/3371237], and +`signatory` [@10.48550/arXiv.2001.00706]. These packages provide functions for computing signatures from raw, structured data presented in an $n\times d$ array, where $d$ is the dimension of the stream and $n$ is the number of samples. @@ -111,7 +111,7 @@ the understanding of path-like data analysis. On top of the streams, RoughPy also provides concrete implementations for elements of the various algebras associated with rough path analysis. These include free tensor algebras, shuffle tensor algebras, and Lie -algebras [see @math-bgd-sec]. +algebras ([see Section %s](#math-bgd-sec)). This allows the user to easily manipulate signatures, and other objects, in a more natural manner. This allows us to quickly develop methods by following the mathematics. @@ -125,13 +125,15 @@ to motivate the development of RoughPy. Finally, in @roughpy-sec we give a more detailed overview of the RoughPy library, the types and functions it contains, and give an example of how it can be used. +RoughPy is open source (BSD 3-Clause) and available on GitHub +[https://github.com/datasig-ac-uk/roughpy](https://github.com/datasig-ac-uk/roughpy). (math-bgd-sec)= ### Mathematical background In this section we give a very short introduction to signatures and rough path theory that should be sufficient to inform the discussion in the sequel. For a far more comprehensive and rigorous treatment, we refer the reader to the -recent survey [@https://doi.org/10.48550/arXiv.2206.14674]. +recent survey [@10.48550/arXiv.2206.14674]. In the sequel, we write $V$ for the vector space $\mathbb{R}^d$, where $d \geq 1$. @@ -182,19 +184,22 @@ The signature respects concatenation of paths, meaning $\mathrm{S}(X)_{s, t} = \mathrm{S}(X)_{s, u} \otimes \mathrm{S}(X)_{u, t}$ for any $s < u < t$. Two paths have the same signature if and only if they differ by a -*tree-like path* [@http://dx.doi.org/10.4007/annals.2010.171.109]. +*tree-like path* [@10.4007/annals.2010.171.109]. The signature is translation invariant, and it is invariant under reparametrisation. -In some sense, the signature is a *unversal non-linearity* on paths. -Continuous functions on the path can be approximated (uniformly) by linear -functionals ($\mathrm{G}(V)\to \mathbb{R}$) on the signature. -This is a consequence of the Stone-Weierstrass theorem. -The *dual* of $\mathrm{T}((V))$ is $\mathrm{Sh}(V)$ is the space of -these linear functionals on $\mathrm{T}((V))$; we call this the *shuffle -algebra*. +The *dual* of $\mathrm{T}((V))$ is the +*shuffle algebra* $\mathrm{Sh}(V)$. +This is the space of linear functionals $\mathrm{T}((V))\to \mathbb{R}$ +and consists of sequences $(\lambda_0, \lambda_1, \dots)$ with +$\lambda_k\in (V^{\ast})^{\otimes k}$ and where $\lambda_k = 0$ for all $k$ +larger than some $N$. The multiplication on $\mathrm{Sh}(V)$ is the *shuffle product*, which corresponds to point-wise multiplication of functions on the path. +Continuous functions on the path can be approximated (uniformly) by shuffle +tensors acting on $\mathrm{G}(V)$ on the signature. +This is a consequence of the Stone-Weierstrass theorem. +This property is sometimes referred to as *universal non-lineararity*. There are several *Lie algebras* associated to $\mathrm{T}((V))$. Define the *Lie bracket* $[\mathbf{x}, \mathbf{y}] = @@ -204,7 +209,7 @@ We define subspaces $L_m$ of $\mathrm{T}((V))$ for each $m\geq 0$ inductively as follows: $L_0 = \{\mathbf{0}\}$, $L_1 = V$, and, for $m \geq 1$, ```{math} L_{m+1} = \mathrm{span}\{[\mathbf{x}, \mathbf{y}] : \mathbf{x}\in V, \mathbf{y} -\in L_m\} +\in L_m\}. ``` The space of formal Lie series $\mathcal{L}(V)$ over $V$ is the subspace of $\mathrm{T}((V))$ containing sequences of the form $(\ell_0, \ell_1, \cdots)$, @@ -217,10 +222,11 @@ For any $\mathbf{x} \in \mathrm{T}(V)$ we define \log(\mathbf{1} + \mathbf{x}) = \sum_{n=1}^\infty \frac{(-1)^{n-1}}{n}\mathbf{x}^{\otimes n}. ``` -For any path $X$, we have $\log(\mathrm{S}(X)_{s, t})\in \mathcal{L}(V)$, and, -more generally we have $\exp(\mathcal{L}(V)) = \mathrm{G}(V)$. -We call the quantity $\mathrm{LogSig}(X)_{s, t} := \log(\mathrm{S}(X)_{s,t})$ -the *log-signature* of $X$ over $[s, t)$. +For any path $X$, we have +$\mathrm{LogSig}(X)_{s, t} := \log(\mathrm{S}(X)_{s, t})\in \mathcal{L}(V)$, +and we call this the *log-signature* of $X$ over $[s, t)$. +This is an alternative representation of the path, but doesn't enjoy the same +unievrsal non-linearity of the signature. (rp-in-ds-sec)= ### Rough paths in data science @@ -240,7 +246,7 @@ Once we have a path, we need to be able to compute signatures. For practical purposes, we truncate all signatures (and log-signatures) to a particular degree $M$, which we typically call the *depth*. The dimension of the ambient space $d$ is usually called the *width*. -Using the linear interpolation, we can replace the iterated integrals with a +Using linear interpolation, we can replace the iterated integrals with a tensor exponential of the difference of successive terms: ```{math} \mathrm{Sig}^M([t_j, t_{j+1})) = \exp_M(\mathbf{x}_{j+1} - \mathbf{x}_j) := @@ -303,12 +309,12 @@ Even better, it turns out that, in certain cases, the signature kernel can be realised as the solution to a partial differential equation (PDE) of Goursat type. This means the full signature kernel can be computed from raw data without -needing to compute full signatures [@https://doi.org/10.1137/20M1366794]. +needing to compute full signatures [@10.1137/20M1366794]. In fact, in recent preprint, it has been shown that there are higher order solvers for signature kernels by rewriting the kernel solution of a system of PDEs of Goursat type -[@https://doi.org/10.48550/arXiv.2404.02926]. +[@10.48550/arXiv.2404.02926]. A critical part of their method involves the adjoint of both left and right free tensor multiplication, which are not available in any current package for computing signatures. @@ -330,7 +336,7 @@ network [@NEURIPS2020_4a5876b4]. Neural CDEs initially showed some promising results on several benchmarks but now lag behind current state-of-the-art approaches to time series modelling. The latest iteration of neural CDEs are the recently introduced Log-neural -controlled differential equations [@https://doi.org/10.48550/arXiv.2402.18512], +controlled differential equations [@10.48550/arXiv.2402.18512], which make use of the *Log-ODE* method for solving rough differential equations in order to boost the performance of neural CDEs. @@ -356,7 +362,7 @@ radio telescopes [@doi:10.48550/arXiv.2402.14892]. Their result show that their framework is effective at detecting even faint RFI within the test data. This work is based on a general novelty detection framework -[@https://doi.org/10.48550/arXiv.2006.03487]. +[@10.48550/arXiv.2006.03487]. Signatures kernels have also been used for a similar problem of detecting malware by inspecting the streaming tree of processes on a computer system @@ -367,7 +373,7 @@ data. ### Tracking mood via natural language processing One application of rough paths in natural language processing has been in the -domain of mental health [@http://dx.doi.org/10.18653/v1/2023.findings-acl.310; +domain of mental health [@10.18653/v1/2023.findings-acl.310; @tseriotou_etal_2024_sig]. In this work, the authors present a model for identifying changes in a person's mood based on their online textual content. @@ -379,7 +385,7 @@ datasets. ### Predicting battery cell degradation Another recent application of signatures is to predict the degradation of -lithium-ion cells [@http://doi.org/10.1016/j.apenergy.2023.121974]. +lithium-ion cells [@10.1016/j.apenergy.2023.121974]. They use signature features to train a model that can accurately predict the end of life of a cell using relatively low-frequency sampling compared to existing models. @@ -389,13 +395,13 @@ other models. ### Prediction of sepsis in intensive care data One of the first effective demonstrations of the utility of signatures and rough paths based methods in healthcare was in the 2019 PhysioNet challenge -[@https://doi.org/10.1097/CCM.0000000000004510]. +[@10.1097/CCM.0000000000004510]. In this contest, teams were invited to develop models to predict sepsis in patients from intensive care unit data. In this challenge, a team utilising signatures to enhance predictive power placed first in the official phase of the challenge. Since then, signatures and other rough path based approaches have been used in -several other clinical contexts [@https://doi.org/10.1038/s41598-024-51989-6; +several other clinical contexts [@10.1038/s41598-024-51989-6; @doi:10.1109/MEDAI59581.2023.00008; @tseriotou_etal_2024_sig]. Clinical data is often irregularly sampled and often exhibits missing data, but it can also be very high-frequency and dense. @@ -408,14 +414,14 @@ video clip is very challenging. Signatures derived from landmark data extracted from the video has been used to train classification models that achieved state-of-the-art performance compared with contemporary models -[@https://doi.org/10.1007/978-3-030-98519-6_18; @doi:10.1109/tmm.2023.3318242; +[@10.1007/978-3-030-98519-6_18; @doi:10.1109/tmm.2023.3318242; @liao2021a]. -(See also preprint papers [@https://doi.org/10.48550/arXiv.2308.12840; -@https://doi.org/10.48550/arXiv.2403.15212].) +(See also preprint papers [@10.48550/arXiv.2308.12840; +@10.48550/arXiv.2403.15212].) Also in the domain of computer vision, signatures have been used to produce lightweight models for image classification -[@https://doi.org/10.1109/CVPRW56347.2022.00409] and in handwriting recognition -tasks [@https://doi.org/10.1109/TPAMI.2017.2732978]. +[@10.1109/CVPRW56347.2022.00409] and in handwriting recognition +tasks [@10.1109/TPAMI.2017.2732978]. (roughpy-sec)= ## RoughPy @@ -436,7 +442,7 @@ The first two objectives are simple design and implementation problems. The final objective presents the most difficulty, especially interoperability between RoughPy and common machine learning libraries. There are array interchange formats for NumPy-like arrays, such as the Python -Array API standard [@https://doi.org/10.25080/gerudo-f2bc6f59-001] and the +Array API standard [@10.25080/gerudo-f2bc6f59-001] and the DLPack protocol [@dlpack]. These provide part of the picture, but in order for them to be fully supported, RoughPy must support a variety of compute backends such as CUDA (NVidia), @@ -452,7 +458,7 @@ In the remainder of this section, we discuss some of the core components of RoughPy, give an example of using RoughPy, and discuss the future of RoughPy. ### Free tensors, shuffle tensors, and Lie objects -In order to property support rough path based methods and allow users to write +In order to properly support rough path based methods and allow users to write code based on mathematical concepts, we provide realisations of several algebra types. The algebras provided in RoughPy are `FreeTensor`, `ShuffleTensor`, and `Lie`, @@ -592,9 +598,9 @@ is a piecewise Abelian approximation for this path given by \{([t_{j-1}, t_j), \mathrm{LogSig}(X)_{t_{j-1}, t_j}): j=1, \dots, N\}. ``` This construction turns out to be vital for computing signature kernels -[@https://doi.org/10.25080/gerudo-f2bc6f59-001] and for solving CDEs -[@http://dx.doi.org/10.1007/978-3-540-71285-5; -@https://doi.org/10.48550/arXiv.2402.18512]. +[@10.25080/gerudo-f2bc6f59-001] and for solving CDEs +[@10.1007/978-3-540-71285-5; +@10.48550/arXiv.2402.18512]. In particular, this construction can be used to compress data at some degree, which can the be used in computations at a higher degree. @@ -627,11 +633,10 @@ level (2), and coefficient type (`Rational`). ```python import roughpy as rp -ctx = rp.get_context(width=26, - depth=2, - coeffs=rp.Rational) +ctx = rp.get_context(width=26, depth=2, + coeffs=rp.Rational) stream = rp.LieIncrementStream.from_increments( - increments, ctx=ctx) + increments, ctx=ctx) ``` Now we can compute the signature of the stream over the whole domain of the stream $[0, 4]$ by omitting the interval argument: From bfde2635d390b29d0b23b1828e68e0a183f2cc66 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:08:38 +0100 Subject: [PATCH 16/32] added missing period at end of paragraph --- papers/sam_morley/roughpy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 0ad543f29f..1a068ee505 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -96,7 +96,7 @@ These packages provide functions for computing signatures from raw, structured data presented in an $n\times d$ array, where $d$ is the dimension of the stream and $n$ is the number of samples. This means the user is responsible for interpreting the data as a path and -arranging the computations that need to be done +arranging the computations that need to be done. RoughPy is a new package for working with sequential data and rough paths. The design philosophy for this package is to shift the emphasis from simply From df1f072dcab60b126fd88cb5e980c57e317c514b Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:10:16 +0100 Subject: [PATCH 17/32] fixed typo in 'one simple' --- papers/sam_morley/roughpy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 1a068ee505..dc1026a63c 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -58,7 +58,7 @@ differential equations These are equations of the form $\mathrm{d}Y_t = f(Y_t, \mathrm{d}X_t)$, subject to an initial condition $Y_0 = y_0$, that model a non-linear system driven by a input path $X$. -On simple CDE turns out to be critical to the theory: +One simple CDE turns out to be critical to the theory: ```{math} \mathrm{d}S_t = S_t \otimes \mathrm{d}X_t \qquad S_0 = \mathbf{1}. ``` From d6e41e9114e2d922adb1ed9090636753aa4a2647 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:12:41 +0100 Subject: [PATCH 18/32] fixed linebreak before period --- papers/sam_morley/roughpy.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index dc1026a63c..dc5fcb4826 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -321,8 +321,7 @@ for computing signatures. (ncde-sec)= #### Neural controlled differential equations -Neural CDEs are a method for modelling irregular time series -. +Neural CDEs are a method for modelling irregular time series. We consider CDEs of the form ```{math} \mathrm{d}Y_t = f_\theta(Y_t)\,\mathrm{d}X_t From e622a79a319fcccb07b3abe07710f917485d0dda Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:14:34 +0100 Subject: [PATCH 19/32] clarify the use of floats and defaults --- papers/sam_morley/roughpy.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index dc5fcb4826..0c9547131d 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -476,8 +476,9 @@ signature kernels). RoughPy algebras are designed around a flexible scalar ring system that allows users to perform calculations with different accuracy, or derive expressions by using polynomial coefficients. -For most applications, floating point numbers will provide a good balance -between performance and accuracy. +For most applications, single or double precision floating point numbers will +provide a good balance between performance and accuracy. +(Double precision floats are the default.) When more precision is required, rational coefficients can be used instead. These are backed by GMP rationals for fast, arbitrary precision rational From 4dcfc11b70a496f3cc12c5e2935e058aaa68dbf6 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:19:55 +0100 Subject: [PATCH 20/32] change the wording to remove 'in the sequel' --- papers/sam_morley/roughpy.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 0c9547131d..b409c42f77 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -134,7 +134,7 @@ In this section we give a very short introduction to signatures and rough path theory that should be sufficient to inform the discussion in the sequel. For a far more comprehensive and rigorous treatment, we refer the reader to the recent survey [@10.48550/arXiv.2206.14674]. -In the sequel, we write $V$ for the vector space +For the remainder of the paper, we write $V$ for the vector space $\mathbb{R}^d$, where $d \geq 1$. A *path* in $V$ is a continuous function $X:[a, b] \to V$, where $a < b$ are @@ -188,8 +188,7 @@ Two paths have the same signature if and only if they differ by a The signature is translation invariant, and it is invariant under reparametrisation. -The *dual* of $\mathrm{T}((V))$ is the -*shuffle algebra* $\mathrm{Sh}(V)$. +The *dual* of $\mathrm{T}((V))$ is the *shuffle algebra* $\mathrm{Sh}(V)$. This is the space of linear functionals $\mathrm{T}((V))\to \mathbb{R}$ and consists of sequences $(\lambda_0, \lambda_1, \dots)$ with $\lambda_k\in (V^{\ast})^{\otimes k}$ and where $\lambda_k = 0$ for all $k$ @@ -202,8 +201,9 @@ This is a consequence of the Stone-Weierstrass theorem. This property is sometimes referred to as *universal non-lineararity*. There are several *Lie algebras* associated to $\mathrm{T}((V))$. -Define the *Lie bracket* $[\mathbf{x}, \mathbf{y}] = -\mathbf{x} \otimes \mathbf{y} - \mathbf{y}\otimes \mathbf{x}$, for +Define a *Lie bracket* operation on $\mathrm{T}((V))$ by the formula +$[\mathbf{x}, \mathbf{y}] = \mathbf{x} \otimes \mathbf{y} - +\mathbf{y}\otimes \mathbf{x}$, for $\mathbf{x},\mathbf{y}\in \mathrm{T}((V))$. We define subspaces $L_m$ of $\mathrm{T}((V))$ for each $m\geq 0$ inductively as follows: $L_0 = \{\mathbf{0}\}$, $L_1 = V$, and, for $m \geq 1$, From 4216b5778a4c81b02bcd6a51b6062847ef4115d5 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:31:04 +0100 Subject: [PATCH 21/32] changed the wording from 'speed' to 'rate' --- papers/sam_morley/roughpy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index b409c42f77..d8ef0c52dc 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -73,7 +73,7 @@ can be used in place of the iterated integrals. A path equipped with this higher order data is called a *rough path*. The signature turns out to be a useful summary of sequential data. -It captures the order of events but not the necessarily the speed at which +It captures the order of events but not the necessarily the rate at which these events occur. The signature is robust to irregular sampling and provides a fixed-size view of the data, regardless of how many observations are used to compute it. From a7fffdf6b49f6221da65cf6443943e74c1f85f57 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 10:51:10 +0100 Subject: [PATCH 22/32] remove semicolon --- papers/sam_morley/roughpy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index d8ef0c52dc..20ce462527 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -642,7 +642,7 @@ Now we can compute the signature of the stream over the whole domain of the stream $[0, 4]$ by omitting the interval argument: ```python sig = stream.signature() -print(sig); +print(sig) # { 1() 1(3) 1(9) 1(16) 1(19) 1(25) 1/2(3,3) # 1(3,9) 1(3,16) 1(3,25) 1/2(9,9) 1(9,16) # 1(9,25) 1/2(16,16) 1(16,25) 1(19,3) 1(19,9) From 22c67e0260eade1ecf7099353218c05a4e3a8715 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Thu, 1 Aug 2024 11:08:28 +0100 Subject: [PATCH 23/32] added paragraph about applications on datasig --- papers/sam_morley/roughpy.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 20ce462527..dc0d37e15d 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -656,6 +656,13 @@ The final terms indicate the order in which each pair of letters appear in the word. For instance, the term `1(3,9)` indicates that a `c` appears before an `i`. +This is only the beginning of the story. +From here, we can use the signatures to compute the similarity between streams, +via the signature kernel for instance, or used as features in a variety of +machine learning problems. +More detailed examples of how to use signatures in data science are given on the +DataSig website [https://datasig.ac.uk/examples](https://datasig.ac.uk/examples). + :::{prf:remark} :nonumber: It turns out that most words in the English language can be distinguished From 65ad5e3e4ab4111f26b48bd4b3e2bcedc82a643b Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:09:20 +0100 Subject: [PATCH 24/32] Fixed case of "of" --- papers/sam_morley/myst.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/sam_morley/myst.yml b/papers/sam_morley/myst.yml index 43e0857dbc..5bf779a875 100644 --- a/papers/sam_morley/myst.yml +++ b/papers/sam_morley/myst.yml @@ -11,7 +11,7 @@ project: email: sam.morley@maths.ox.ac.uk orcid: 0000-0001-5971-7418 affiliations: - - University Of Oxford + - University of Oxford roles: - Conceptualization - Writing - original draft From 47ecd3469185a9e3021e2e57ef121ff1871b5f24 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:11:21 +0100 Subject: [PATCH 25/32] fix reference to later section --- papers/sam_morley/roughpy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index dc0d37e15d..6e469e1ae8 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -80,7 +80,7 @@ the data, regardless of how many observations are used to compute it. This means the signature can be a useful feature map to be used in machine learning for sequential data. There are numerous examples of using signatures of analysing sequential data -outlined in @applications-sec. +outlined in [Section %s](#applications-sec). Besides signatures, there are two other rough path-based methods that have found their way into data science in recent years. From 41b5d0a4323385910b16effb829f749a0fd06144 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:11:52 +0100 Subject: [PATCH 26/32] remove surplus comma --- papers/sam_morley/roughpy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 6e469e1ae8..3970afb593 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -21,7 +21,7 @@ abstract: | applications involving sequential data. RoughPy is our new Python package that aims change the way we think about sequential streamed data, by viewing it through the lens of rough paths. In RoughPy, data is wrapped in a stream - object, which can be composed and queried to obtain signatures that can be + object which can be composed and queried to obtain signatures that can be used in analysis. It also provides a platform for further exploration of the connections between rough path theory and data science. From 97fc6ce1003ebda84d7cbe7fea639e4234c9734e Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:19:01 +0100 Subject: [PATCH 27/32] Fix a few issues in mathematical introduction --- papers/sam_morley/roughpy.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 3970afb593..4700f593e1 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -163,10 +163,10 @@ The members of $\mathrm{G}(V)$ are called *group-like* elements. For each $n \geq 0$, we write $\mathrm{T}^n(V)$ for the *truncated tensor algebra* of degree $n$, which is the space of all $\mathbf{x} = (x_0, x_1, \dots)$ such that $x_j = 0$ whenever $j > n$. -Similarly, we write $\mathrm{T}^{>n}(V)$ for the subspace of elements +Similarly, we write $\mathrm{T}^{>n}((V))$ for the subspace of elements $\mathbf{x} = (x_0, x_1,\dots)$ where $x_j = 0$ whenever $j \leq n$, which is an ideal in $\mathrm{T}((V))$ and -$\mathrm{T}^n(V) = \mathrm{T}((V)) / \mathrm{T}^{>n}(V)$. +$\mathrm{T}^n(V) = \mathrm{T}((V)) / \mathrm{T}^{>n}((V))$. The truncated tensor algebra is an algebra, when given the *truncated tensor product*, obtained by truncating the full tensor product. @@ -183,6 +183,7 @@ where for each $m\geq 1$, $\mathrm{S}_m(X)_{s, t}$ is given by the iterated The signature respects concatenation of paths, meaning $\mathrm{S}(X)_{s, t} = \mathrm{S}(X)_{s, u} \otimes \mathrm{S}(X)_{u, t}$ for any $s < u < t$. +This property is usually called *Chen's relation*. Two paths have the same signature if and only if they differ by a *tree-like path* [@10.4007/annals.2010.171.109]. The signature is translation invariant, and it is invariant under @@ -193,7 +194,8 @@ This is the space of linear functionals $\mathrm{T}((V))\to \mathbb{R}$ and consists of sequences $(\lambda_0, \lambda_1, \dots)$ with $\lambda_k\in (V^{\ast})^{\otimes k}$ and where $\lambda_k = 0$ for all $k$ larger than some $N$. -The multiplication on $\mathrm{Sh}(V)$ is the *shuffle product*, which +(Here $V^{\ast}$ denotes the dual space of $V$. In our notation $V^{\ast} \cong +V$.) The multiplication on $\mathrm{Sh}(V)$ is the *shuffle product*, which corresponds to point-wise multiplication of functions on the path. Continuous functions on the path can be approximated (uniformly) by shuffle tensors acting on $\mathrm{G}(V)$ on the signature. @@ -201,7 +203,7 @@ This is a consequence of the Stone-Weierstrass theorem. This property is sometimes referred to as *universal non-lineararity*. There are several *Lie algebras* associated to $\mathrm{T}((V))$. -Define a *Lie bracket* operation on $\mathrm{T}((V))$ by the formula +Define a *Lie bracket* on $\mathrm{T}((V))$ by the formula $[\mathbf{x}, \mathbf{y}] = \mathbf{x} \otimes \mathbf{y} - \mathbf{y}\otimes \mathbf{x}$, for $\mathbf{x},\mathbf{y}\in \mathrm{T}((V))$. From ddfac4a018840fb596661720616df60520368c3c Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:27:14 +0100 Subject: [PATCH 28/32] Fixed issues in section 3 --- papers/sam_morley/roughpy.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 4700f593e1..b4186375b5 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -238,7 +238,8 @@ Consider a finite, ordered sequence $\{(t_1, \mathbf{x}_1,\dots, t_N,\mathbf{x}_N)\}$ of observations, where $t_j\in \mathbb{R}$, and $\mathbf{x}_j\in V$. (More generally, we might consider $\mathbf{x}_j\in\mathcal{L}(V)$ instead. -That is, data that already contains higher-order information.) +That is, data that already contains higher-order information. In our language, +it is a genuine rough path.) We can find numerous paths that interpolate these observations; a path $X:[t_0, t_N]\to V$ such that, for each $j$, $X_{t_j} = \mathbf{x}_j$. The simplest interpolation is to take the path that is linear between adjacent @@ -248,8 +249,8 @@ Once we have a path, we need to be able to compute signatures. For practical purposes, we truncate all signatures (and log-signatures) to a particular degree $M$, which we typically call the *depth*. The dimension of the ambient space $d$ is usually called the *width*. -Using linear interpolation, we can replace the iterated integrals with a -tensor exponential of the difference of successive terms: +Using linear interpolation, we can compute the iterated integrals explicitly +using a free tensor exponential of the difference of successive terms: ```{math} \mathrm{Sig}^M([t_j, t_{j+1})) = \exp_M(\mathbf{x}_{j+1} - \mathbf{x}_j) := \sum_{j=0}^M \frac{1}{j!}(\mathbf{x}_{j+1} - \mathbf{x}_j)^{\otimes j}. @@ -265,14 +266,17 @@ Most of the early applications of rough paths in data science, the (truncated) signature was used as a feature map [@NEURIPS2019_d2cdf047]. This provides a summary of the path that is independent of the parameterisation and the number of observations. -Unfortunately, the signature is a high-dimensional summary. +Unfortunately, the signature grows geometrically with truncation depth. If $d > 1$, then the dimension of $\mathrm{T}^M(V)$ is ```{math} \sum_{m=0}^M d^m = \frac{d^{M+1} - 1}{d - 1} ``` This generally is a reflection of the complexity of the data, where data with a higher complexity generally needs a higher truncation level and thus a larger -signature. +signature. It is worth noting that this still represents a significant +compression of stream information in many cases. The truncation depth one needs +depends on the stream and the (relative) length of intervals over which you need +to query the stream. For some applications, it might be possible to replace the signature with the log-signature. From 20d0d2ba9a31daf52af7029fc8cc736494766376 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:33:14 +0100 Subject: [PATCH 29/32] fix wording and reformat pars --- papers/sam_morley/roughpy.md | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index b4186375b5..99a7d0bfc9 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -263,30 +263,25 @@ the these terms, using the multiplicative property of the signature. #### The signature transform Most of the early applications of rough paths in data science, the (truncated) -signature was used as a feature map [@NEURIPS2019_d2cdf047]. -This provides a summary of the path that is independent of the parameterisation -and the number of observations. -Unfortunately, the signature grows geometrically with truncation depth. -If $d > 1$, then the dimension of $\mathrm{T}^M(V)$ is +signature was used as a feature map [@NEURIPS2019_d2cdf047]. This provides a +summary of the path that is independent of the parameterisation and the number +of observations. Unfortunately, the signature grows geometrically with +truncation depth. If $d > 1$, then the dimension of $\mathrm{T}^M(V)$ is ```{math} \sum_{m=0}^M d^m = \frac{d^{M+1} - 1}{d - 1} ``` -This generally is a reflection of the complexity of the data, where data with a -higher complexity generally needs a higher truncation level and thus a larger -signature. It is worth noting that this still represents a significant -compression of stream information in many cases. The truncation depth one needs -depends on the stream and the (relative) length of intervals over which you need -to query the stream. +The size of the signature is a reflection of the complexity of the data, where +data with a higher complexity generally needs a higher truncation level and thus +a larger signature. It is worth noting that this still represents a significant +compression of stream information in many cases. For some applications, it might be possible to replace the signature with the -log-signature. -The log-signature is smaller than the signature, but we lose the universal -non-linearity property of the signature. -Alternatively, we might turn to other techniques that don't require a full -calculation of the signature (such as those mentioned below). -As the connection between rough paths and data science becomes more -mathematically mature, we will likely find new ways to use the signature -without requiring its full size. +log-signature. The log-signature is smaller than the signature, but we lose the +universal non-linearity property of the signature. Alternatively, we might turn +to other techniques that don't require a full calculation of the signature (such +as the signature kernel below). As the connection between rough paths and data +science becomes more mathematically mature, we will likely find new ways to use +the signature without requiring its full size. (sigker-sec)= #### Signature kernels @@ -323,7 +318,7 @@ solution of a system of PDEs of Goursat type [@10.48550/arXiv.2404.02926]. A critical part of their method involves the adjoint of both left and right free tensor multiplication, which are not available in any current package -for computing signatures. +for computing signatures. These functions are provided by RoughPy. (ncde-sec)= #### Neural controlled differential equations From f44cf593666d40308c9f184d44f1d7aac5fffa8a Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:36:52 +0100 Subject: [PATCH 30/32] fix more wording --- papers/sam_morley/roughpy.md | 85 ++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 47 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 99a7d0bfc9..86f1522ff1 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -289,36 +289,32 @@ Kernel methods are useful tools for learning with sequential data. Mathematically, a *kernel* on a set $W$ is a positive-definite function $k:W\times W\to \mathbb{R}$. Kernels are often quite easy to evaluate because of the kernel trick, which involves embedding the data in a inner product space, -with a feature map, in which the -kernel can be evaluated by simply taking an inner product. -Informally, kernels measure the similarity between two points. +with a feature map, in which the kernel can be evaluated by simply taking an +inner product. Informally, kernels measure the similarity between two points. They are used in a variety of machine learning tasks such as classification. The *signature kernel* is a kernel induced on the space of paths by combining the signature with an inner product defined on the tensor algebra -[@JMLR_v20_16_314]. -The theory surrounding the signature kernel has been expanded several times -since their introduction [@NEURIPS2021_18a9042b;@doi:10.1214/23-AAP1973]. -Typically, the kernel on $\mathrm{T}((V))$ will itself by derived from an inner -product on $V$, extended to the tensor algebra. +[@JMLR_v20_16_314]. The theory surrounding the signature kernel has been +expanded several times since their introduction +[@NEURIPS2021_18a9042b;@doi:10.1214/23-AAP1973]. Typically, the inner product on +$\mathrm{T}((V))$ will itself by derived from an inner product on $V$, extended +to the tensor algebra. Signatures are infinite objects, so we can't simply evaluate inner products on -the tensor algebra. -Fortunately, we can approximate the signature kernel by taking inner products of -truncated signatures. -Even better, it turns out that, in certain cases, the signature kernel -can be realised as the solution to a partial differential equation (PDE) of -Goursat type. -This means the full signature kernel can be computed from raw data without -needing to compute full signatures [@10.1137/20M1366794]. - -In fact, in recent preprint, it has been shown that there are -higher order solvers for signature kernels by rewriting the kernel -solution of a system of PDEs of Goursat type -[@10.48550/arXiv.2404.02926]. -A critical part of their method involves the adjoint of both left and right -free tensor multiplication, which are not available in any current package -for computing signatures. These functions are provided by RoughPy. +the tensor algebra. Fortunately, we can approximate the signature kernel by +taking inner products of truncated signatures. Even better, it turns out that, +in certain cases, the signature kernel can be realised as the solution to a +partial differential equation (PDE) of Goursat type. This means the full +signature kernel can be computed from raw data without needing to compute full +signatures [@10.1137/20M1366794]. + +In fact, in recent preprint, it has been shown that there are higher order +solvers for signature kernels by rewriting the kernel solution of a system of +PDEs of Goursat type [@10.48550/arXiv.2404.02926]. A critical part of their +method involves the adjoint of both left and right free tensor multiplication, +which are not available in any current package for computing signatures. These +functions are provided by RoughPy. (ncde-sec)= #### Neural controlled differential equations @@ -342,34 +338,29 @@ in order to boost the performance of neural CDEs. (applications-sec)= ## Current applications of rough paths -In this section we enumerate several applications where rough paths -have been used to develop or improve methods. -This list presented here is certainly not exhaustive. -In addition to the literature cited below, there are numerous worked examples in -the form of Jupyter notebooks available on the DataSig website -(). +In this section we enumerate several applications where rough paths have been +used to develop or improve methods. This list presented here is certainly not +exhaustive. In addition to the literature cited below, there are numerous +additional references and worked examples, in the form of Jupyter notebooks, +available on the DataSig website (). ### Detecting interference in radio astronomy data Radio frequency interference (RFI) is a substantial problem in the field of -radio astronomy. -Even small amounts of RFI can obscure the faint signals generated by distant -stellar objects and events. -The problem of identifying RFI in a signal falls into a class of -semi-supervised learning tasks called *novelty* (or *anomaly*) *detection*. -Rough path methods have been applied to develop a novelty detection framework -based on rough path methods to detect RFI in radio astronomy data from several -radio telescopes [@doi:10.48550/arXiv.2402.14892]. -Their result show that their framework is effective at detecting even faint RFI -within the test data. -This work is based on a general novelty detection framework -[@10.48550/arXiv.2006.03487]. +radio astronomy. Even small amounts of RFI can obscure the faint signals +generated by distant stellar objects and events. The problem of identifying RFI +in a signal falls into a class of semi-supervised learning tasks called +*novelty* (or *anomaly*) *detection*. Rough path methods have been applied to +develop a novelty detection framework based on rough path methods to detect RFI +in radio astronomy data from several radio telescopes +[@doi:10.48550/arXiv.2402.14892]. Their result show that their framework is +effective at detecting even faint RFI within the test data. This work is based +on a general novelty detection framework [@10.48550/arXiv.2006.03487]. Signatures kernels have also been used for a similar problem of detecting -malware by inspecting the streaming tree of processes on a computer system -@doi:10.1109/CSR51186.2021.9527933. -Their method uses a support vector machine classifier to identify processes that -are malicious compared to "normal" behaviour learned via training on labelled -data. +malware by inspecting the streaming tree of processes on a computer system +@doi:10.1109/CSR51186.2021.9527933. Their method uses a support vector machine +classifier to identify processes that are malicious compared to "normal" +behaviour learned via training on a corpus of normality. ### Tracking mood via natural language processing One application of rough paths in natural language processing has been in the From 7dd660738b5b389e1be16ea1a8d6ed6a3df10e74 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:42:56 +0100 Subject: [PATCH 31/32] fix remaining issues --- papers/sam_morley/roughpy.md | 261 ++++++++++++++++------------------- 1 file changed, 116 insertions(+), 145 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 86f1522ff1..772f4177da 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -365,39 +365,34 @@ behaviour learned via training on a corpus of normality. ### Tracking mood via natural language processing One application of rough paths in natural language processing has been in the domain of mental health [@10.18653/v1/2023.findings-acl.310; -@tseriotou_etal_2024_sig]. -In this work, the authors present a model for identifying changes in a person's -mood based on their online textual content. +@tseriotou_etal_2024_sig]. In this work, the authors present a model for +identifying changes in a person's mood based on their online textual content. Many mental health conditions have symptoms that manifest in the (textual) expression, so this could be a powerful tool for mental health professionals to -identify changes in patients and intervene before the state develops. -Their model achieves state-of-the-art performance vs existing models on two -datasets. +identify changes in patients and intervene before the state develops. Their +model achieves state-of-the-art performance vs existing models on two datasets. ### Predicting battery cell degradation Another recent application of signatures is to predict the degradation of -lithium-ion cells [@10.1016/j.apenergy.2023.121974]. -They use signature features to train a model that can accurately predict the end -of life of a cell using relatively low-frequency sampling compared to existing +lithium-ion cells [@10.1016/j.apenergy.2023.121974]. They use signature features +to train a model that can accurately predict the end of life of a cell using +relatively low-frequency sampling compared to existing models. They also +observed that the performance at higher frequency was comparable to other models. -They also observed that the performance at higher frequency was comparable to -other models. ### Prediction of sepsis in intensive care data One of the first effective demonstrations of the utility of signatures and rough paths based methods in healthcare was in the 2019 PhysioNet challenge -[@10.1097/CCM.0000000000004510]. -In this contest, teams were invited to develop models to predict sepsis in -patients from intensive care unit data. -In this challenge, a team utilising signatures to enhance predictive power -placed first in the official phase of the challenge. -Since then, signatures and other rough path based approaches have been used in -several other clinical contexts [@10.1038/s41598-024-51989-6; -@doi:10.1109/MEDAI59581.2023.00008; @tseriotou_etal_2024_sig]. -Clinical data is often irregularly sampled and often exhibits missing data, but -it can also be very high-frequency and dense. -Rough path based methods can handle these data in an elegant way, and retain the -structure of long and short term dependencies within the data. +[@10.1097/CCM.0000000000004510]. In this contest, teams were invited to develop +models to predict sepsis in patients from intensive care unit data. In this +challenge, a team utilising signatures to enhance predictive power placed first +in the official phase of the challenge. Since then, signatures and other rough +path based approaches have been used in several other clinical contexts +[@10.1038/s41598-024-51989-6; @doi:10.1109/MEDAI59581.2023.00008; +@tseriotou_etal_2024_sig]. Clinical data is often irregularly sampled and often +exhibits a high degree of missingness, but it can also be very high-frequency +and dense. Rough path based methods can handle these data in an elegant way, and +retain the structure of long and short term dependencies within the data. ### Human action recognition The task of identifying a specific action performed by a person from a short @@ -417,10 +412,9 @@ tasks [@10.1109/TPAMI.2017.2732978]. (roughpy-sec)= ## RoughPy RoughPy is a new library that aims to support the development of connections -between rough path theory and data science. -It represents a shift in philosophy from simple computations of signatures for -sequential data, to a representation of these data as a rough path. -The design objectives for RoughPy are as follows: +between rough path theory and data science. It represents a shift in philosophy +from simple computations of signatures for sequential data, to a representation +of these data as a rough path. The design objectives for RoughPy are as follows: 1. provide a class that presents a rough path view of some source of data as a rough path, exposing methods for querying the data over intervals to get a signature or log-signature; @@ -439,170 +433,148 @@ These provide part of the picture, but in order for them to be fully supported, RoughPy must support a variety of compute backends such as CUDA (NVidia), ROCm/HIP (AMD), and Metal (Apple). -RoughPy is a substantial library with numerous components, mostly written in -C++ with a Python interface defined using Pybind11 [@pybind11]. -The original design of the library closely followed the C++ template libraries -libRDE and libalgebra [@coropa_project], although it has seen many iterations -since. +RoughPy is a substantial library with numerous components, mostly written in C++ +with a Python interface defined using Pybind11 [@pybind11]. The original design +of the library closely followed the C++ template libraries libRDE and libalgebra +[@coropa_project], although it has seen many iterations since. In the remainder of this section, we discuss some of the core components of RoughPy, give an example of using RoughPy, and discuss the future of RoughPy. ### Free tensors, shuffle tensors, and Lie objects In order to properly support rough path based methods and allow users to write -code based on mathematical concepts, we provide realisations of several -algebra types. -The algebras provided in RoughPy are `FreeTensor`, `ShuffleTensor`, and `Lie`, -which define elements of a particular free tensor algebra, shuffle tensor -algebra, and Lie algebra respectively. -Each of these algebras is initialized with a width, depth, and scalar -coefficient type, encapsulated in a `Context` object. +code based on mathematical concepts, we provide realisations of several algebra +types. The algebras provided in RoughPy are `FreeTensor`, `ShuffleTensor`, and +`Lie`, which define elements of a particular free tensor algebra, shuffle tensor +algebra, and Lie algebra respectively. Each of these algebras is initialized +with a width, depth, and scalar coefficient type, encapsulated in a `Context` +object. In addition to the algebra classes, RoughPy provides a number of supporting -functions, including half-shuffle products for `FreeTensor`/`ShuffleTensor` -objects, and adjoint operators for left free tensor multiplication. -These are operations that are frequently used in the theory of rough paths, and -will likely be necessary in developing new applications later (as in the -signature kernels). +functions, including antipodes and half-shuffle products for +`FreeTensor`/`ShuffleTensor` objects, and adjoint operators for left free tensor +multiplication. These are operations that are frequently used in the theory of +rough paths, and will likely be necessary in developing new applications later +(as in the signature kernels). RoughPy algebras are designed around a flexible scalar ring system that allows users to perform calculations with different accuracy, or derive expressions by -using polynomial coefficients. -For most applications, single or double precision floating point numbers will -provide a good balance between performance and accuracy. -(Double precision floats are the default.) -When more precision is required, rational coefficients can be used -instead. -These are backed by GMP rationals for fast, arbitrary precision rational -arithmetic [@Granlund12]. +using polynomial coefficients. For most applications, single or double precision +floating point numbers will provide a good balance between performance and +accuracy. (Double precision floats are the default.) When more precision is +required, rational coefficients can be used instead. These are backed by GMP +rationals for fast, arbitrary precision rational arithmetic [@Granlund12]. Polynomial coefficients can be used to derive formulae by performing -calculations. -This is a powerful technique for understanding the terms that appear in the -result, particularly whilst testing and debugging. - +calculations. This is a powerful technique for understanding the terms that +appear in the result, particularly whilst testing and debugging. ### Intervals -RoughPy is very careful in the way it handles intervals. -All intervals in RoughPy are half-open, meaning that they include one end point -but not the other; they are either *clopen* $[a, b) := \{t: a\leq t < b\}$ or -*opencl* $(a, b] := \{t : a < t \leq b\}$. -Besides the type (clopen or opencl), all intervals must provide methods for -retrieving the infimum ($a$ in the above notation) and the supremum ($b$ above) -of the interval as double precision floats. -This is enforced by means of an abstract base class `Interval`. -The main concrete interval types are `RealInterval`, an interval with arbitrary -real endpoints, and `DyadicInterval`, as described below. -For brevity, in the sequel we shall only consider clopen intervals. +RoughPy is very careful in the way it handles intervals. All intervals in +RoughPy are half-open, meaning that they include one end point but not the +other; they are either *clopen* $[a, b) := \{t: a\leq t < b\}$ or *opencl* $(a, +b] := \{t : a < t \leq b\}$. Besides the type (clopen or opencl), all intervals +must provide methods for retrieving the infimum ($a$ in the above notation) and +the supremum ($b$ above) of the interval as double precision floats. This is +enforced by means of an abstract base class `Interval`. The main concrete +interval types are `RealInterval`, an interval with arbitrary real endpoints, +and `DyadicInterval`, as described below. For brevity, we shall only consider +clopen intervals. A *dyadic interval* is an interval $D_k^n := [k/2^n, (k+1)/2^n)$, where $k$, $n$ -are integers. -The number $n$ is often described as the *resolution* of the interval. -The family of dyadic intervals of a fixed resolution $n$ partition the real line -so that every real number $t$ belongs to a unique dyadic interval $D_n^k$. -Moreover, the family of all dyadic intervals have the property that two +are integers. The number $n$ is often described as the *resolution* of the +interval. The family of dyadic intervals of a fixed resolution $n$ partition the +real line so that every real number $t$ belongs to a unique dyadic interval +$D_n^k$. Moreover, the family of all dyadic intervals have the property that two dyadic intervals are either disjoint or one contains the other (including the possibility that they are equal). -In many cases, RoughPy will granularise an interval into a dyadic intervals. -The *dyadic granularisation* of $[a, b)$ with resolution $n$ is -$[k_1/2^n, k_2/2^n)$ where $k_1 = \max\{k: k/2^n \leq a\}$ and -$k_2 = \max\{k: k/2^n \leq b\}$. -In effect, the dyadic granularisation is the result of "rounding" each end -point to the included end of the unique dyadic interval that contain it. +In many cases, RoughPy will granularise an interval into a dyadic intervals. The +*dyadic granularisation* of $[a, b)$ with resolution $n$ is $[k_1/2^n, k_2/2^n)$ +where $k_1 = \max\{k: k/2^n \leq a\}$ and $k_2 = \max\{k: k/2^n \leq b\}$. In +effect, the dyadic granularisation is the result of "rounding" each end point to +the included end of the unique dyadic interval that contain it. ### Streams -Streams are central to RoughPy. -A RoughPy `Stream` is a rough path view of some underlying data. -It provides two key methods to query the object over intervals to retrieve -either a signature or log-signature. -Importantly, once constructed, the underlying data is inaccessible except by -querying via these methods. +Streams are central to RoughPy. A RoughPy `Stream` is a rough path view of some +underlying data. It provides two key methods to query the object over intervals +to retrieve either a signature or log-signature. Importantly, once constructed, +the underlying data is inaccessible except by querying via these methods. `Stream`s are designed to be composed in various ways, such as by concatenation, -in order to build up more complex streams. -A `Stream` is actually a (type-erasing) wrapper around a more minimal -`StreamInterface` abstract class. +in order to build up more complex streams. A `Stream` is actually a +(type-erasing) wrapper around a more minimal `StreamInterface` abstract class. We construct streams by a factory function associated with each different `StreamInterface`, which might perform some compression of the underlying data. For example, a basic `StreamInterface` is the `LieIncrementStream`, which can be constructed using the associated `from_increments` factory function (a static -method of the class), which accepts an $n \times d$ array of *increment data*. -These data will typically be the differences between successive values of the -data (but could also include higher-order Lie terms). -This is similar to the way that libraries such as `esig`, `iisignature`, and -`signatory` consume data. +method of the class), which accepts an $n \times d$ array of *increment data*. +These data will typically be the differences between successive values of the +data (but could also include higher-order Lie terms). This is similar to the way +that libraries such as `esig`, `iisignature`, and `signatory` consume data. RoughPy streams cache the result of log-signature queries over dyadic intervals -so they can be reused in later calculations. -To compute the log-signature over any interval $I$, we granularise at a fixed -stream resolution $n$ to obtain the interval $\tilde I = [k_1/2^n, k_2/2^n)$, -and then compute +so they can be reused in later calculations. To compute the log-signature over +any interval $I$, we granularise at a fixed stream resolution $n$ to obtain the +interval $\tilde I = [k_1/2^n, k_2/2^n)$, and then compute :::{math} \mathrm{LogSig}(\tilde I) = \log\biggl(\prod_{k=k_1}^{k_2-1} \exp(\mathrm{LogSig}(D_k^n))\biggr). ::: -The $\mathrm{LogSig}(D_k^n)$ terms on the right-hand-side are either retrieved -from the cache, or computed from the underlying source. -This is essentially the Campbell-Baker-Hausdorff formula applied to the -log-signatures at the finest level. -In practice, we can actually reduce the number of terms in the product, by -merging complementary dyadic intervals that appear in the granularisation. -We further optimise by using a fused multiply-exponential ($A\exp(B)$) -operation. +The $\mathrm{LogSig}(D_k^n)$ terms on the right-hand-side are either retrieved +from the cache, or computed from the underlying source. This is essentially the +Campbell-Baker-Hausdorff formula applied to the log-signatures at the finest +level. In practice, we can actually reduce the number of terms in the product, +by merging complementary dyadic intervals that appear in the granularisation. We +further optimise by using a fused multiply-exponential ($A\exp(B)$) operation. Signatures are always computed by first computing the log-signature and then -exponentiating. -Directly computing the signature as a product of exponentials of (cached) -log-signatures might accumulate enough numerical errors to drift slightly from a -group-like tensor. -That is, the result might not actually be a true signature. -Taking the logarithm and then exponentiating back to obtain the signature has -the effect of correcting this numerical drift from a true signature. +exponentiating. Directly computing the signature as a product of exponentials of +(cached) log-signatures might accumulate enough numerical errors to drift +slightly from a group-like tensor. That is, the result might not actually be a +true signature. Taking the logarithm and then exponentiating back to obtain the +signature has the effect of correcting this numerical drift from a true +signature. Aside from the basic `LieIncrementStream`, there are several other -implementations of the `StreamInterface` currently available in RoughPy. -The `BrownianStream` approximates Brownian motion by generating normal -distributed increments over dyadic intervals of arbitrary resolution on demand, -forming a reasonable approximation of true Brownian motion. -The `ExternalDataStream` is an interface for loading data from various external -sources, such as from a database or specialised data format. -Currently, only sound files are supported but we plan to extend support for -other sources as the need arises. -This will certainly include "online" data sources such as computer peripheral -devices such as microphones. +implementations of the `StreamInterface` currently available in RoughPy. The +`BrownianStream` approximates Brownian motion by generating normal distributed +increments over dyadic intervals of arbitrary resolution on demand, forming a +reasonable approximation of true Brownian motion. The `ExternalDataStream` is an +interface for loading data from various external sources, such as from a +database or specialised data format. Currently, only sound files are supported +but we plan to extend support for other sources as the need arises. This will +certainly include "online" data sources such as computer peripheral devices +(e.g. microphones). The other main `StreamInterface` implementation is the `PiecewiseAbelianStream`, -which is an important construction from CDE. -A piecewise Abelian path, or log-linear path, is an example of a *smooth rough -path*, which generalises piecewise linear approximations of an arbitrary stream. -Formally, an *Abelian path* $Y$ is a pair $([a, b), \mathbf{y})$ where $a < b$ -and $\mathbf{y}\in\mathcal{L}(V)$. -The log-signature over an arbitrary interval $[u, v) \subseteq [a, b)$ is given -by +which is an important construction from CDE. A piecewise Abelian path, or +log-linear path, is an example of a *smooth rough path*, which generalises +piecewise linear approximations of an arbitrary stream. Formally, an *Abelian +path* $Y$ is a pair $([a, b), \mathbf{y})$ where $a < b$ and +$\mathbf{y}\in\mathcal{L}(V)$. The log-signature over an arbitrary interval $[u, +v) \subseteq [a, b)$ is given by ```{math} \mathrm{LogSig}(Y)_{u, v} = \frac{v - u}{b - a}\mathbf{y}. ``` A *piecewise Abelian path* is the concatenation of finitely many Abelian paths -with adjacent intervals. -For any rough path $X$ and partition $\{a = t_0 < t_1 < \dots < t_N = b\}$ there -is a piecewise Abelian approximation for this path given by +with adjacent intervals. For any rough path $X$ and partition $\{a = t_0 < t_1 < +\dots < t_N = b\}$ there is a piecewise Abelian approximation for this path +given by ```{math} \{([t_{j-1}, t_j), \mathrm{LogSig}(X)_{t_{j-1}, t_j}): j=1, \dots, N\}. ``` -This construction turns out to be vital for computing signature kernels +This construction turns out to be vital for computing signature kernels [@10.25080/gerudo-f2bc6f59-001] and for solving CDEs -[@10.1007/978-3-540-71285-5; -@10.48550/arXiv.2402.18512]. -In particular, this construction can be used to compress data at some degree, -which can the be used in computations at a higher degree. +[@10.1007/978-3-540-71285-5; @10.48550/arXiv.2402.18512]. In particular, this +construction can be used to compress data at some degree, which can the be used +in computations at a higher degree. ### Example In this section we show a very simple example of how to use RoughPy to construct -a stream and compute a signature. -This example is similar to the first few steps of the tutorial found in the -RoughPy documentation.[^roughpydocs] -RoughPy can be installed using `pip`, where prebuilt wheels are available for -Windows, Linux, and MacOs: +a stream and compute a signature. This example is similar to the first few steps +of the tutorial found in the RoughPy documentation.[^roughpydocs] RoughPy can be +installed using `pip`, where prebuilt wheels are available for Windows, Linux, +and MacOs: ``` pip install roughpy ``` @@ -618,10 +590,9 @@ for i, c in enumerate(text): increments[i, ord(c) - 97] = 1 ``` Now we import RoughPy and construct a `Stream` using the factory mentioned -above. -One other critical ingredient is the algebra `Context`, which is used to set up -a consistent set of algebra objects with the desired width (26), truncation -level (2), and coefficient type (`Rational`). +above. One other critical ingredient is the algebra `Context`, which is used to +set up a consistent set of algebra objects with the desired width (26), +truncation level (2), and coefficient type (`Rational`). ```python import roughpy as rp From e9f57ca130e3467119ff37fecb13d86e57af1342 Mon Sep 17 00:00:00 2001 From: Sam Morley Date: Sat, 3 Aug 2024 21:43:45 +0100 Subject: [PATCH 32/32] Remove export format --- papers/sam_morley/roughpy.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/papers/sam_morley/roughpy.md b/papers/sam_morley/roughpy.md index 772f4177da..e279eac19b 100644 --- a/papers/sam_morley/roughpy.md +++ b/papers/sam_morley/roughpy.md @@ -6,13 +6,6 @@ bibliography: numbering: heading_2: true heading_3: true -exports: - - format: pdf - template: arxiv_two_column - article_type: Article - - format: tex - template: arxiv_two_column - article_type: Article abstract: | Rough path theory is a branch of mathematics arising out of stochastic analysis. One of the main tools of rough path analysis is the signature,