From f53539becc4dc7fb8a509c5ed8c0708d57771fe9 Mon Sep 17 00:00:00 2001 From: daniel Date: Fri, 7 Nov 2025 16:24:34 +0100 Subject: [PATCH] wip: Annals of Statistics Accepted Submission --- .gitattributes | 2 + .gitignore | 3 + AOS-accepted/images/TorustangentSpace.pdf | Bin 0 -> 757903 bytes AOS-accepted/images/TorustangentSpace.tex | 125 + AOS-accepted/images/embeddImage.pdf | Bin 0 -> 275579 bytes AOS-accepted/images/embeddImage.tex | 118 + AOS-accepted/images/fen2tensor.pdf | Bin 0 -> 51713 bytes AOS-accepted/images/fen2tensor.tex | 78 + AOS-accepted/images/reduction.pdf | Bin 0 -> 49958 bytes AOS-accepted/images/reduction.tex | 60 + AOS-accepted/imsart-number.bst | 2331 ------------------- AOS-accepted/main.tex | 1160 +-------- AOS-accepted/plots/psqt.pdf | Bin 0 -> 30989 bytes AOS-accepted/plots/psqt.tex | 43 + AOS-accepted/plots/sim-ising-perft-m2.pdf | Bin 0 -> 61187 bytes AOS-accepted/plots/sim-ising-perft-m2.tex | 95 + AOS-accepted/plots/sim-ising.pdf | Bin 0 -> 62720 bytes AOS-accepted/plots/sim-ising.tex | 139 ++ AOS-accepted/plots/sim-normal-2x3.pdf | Bin 0 -> 75538 bytes AOS-accepted/plots/sim-normal-2x3.tex | 149 ++ AOS-accepted/plots/sim_efficiency.pdf | Bin 0 -> 24649 bytes AOS-accepted/plots/tsir_eeg_2d_bad_perf.pdf | Bin 0 -> 28585 bytes AOS-accepted/plots/tsir_regularized.pdf | Bin 0 -> 28362 bytes AOS-accepted/references.bib | 7 + AOS-accepted/supplement.tex | 1196 ++++++++++ 25 files changed, 2063 insertions(+), 3443 deletions(-) create mode 100644 AOS-accepted/images/TorustangentSpace.pdf create mode 100644 AOS-accepted/images/TorustangentSpace.tex create mode 100644 AOS-accepted/images/embeddImage.pdf create mode 100644 AOS-accepted/images/embeddImage.tex create mode 100644 AOS-accepted/images/fen2tensor.pdf create mode 100644 AOS-accepted/images/fen2tensor.tex create mode 100644 AOS-accepted/images/reduction.pdf create mode 100644 AOS-accepted/images/reduction.tex delete mode 100644 AOS-accepted/imsart-number.bst create mode 100644 AOS-accepted/plots/psqt.pdf create mode 100644 AOS-accepted/plots/psqt.tex create mode 100644 AOS-accepted/plots/sim-ising-perft-m2.pdf create mode 100644 AOS-accepted/plots/sim-ising-perft-m2.tex create mode 100644 AOS-accepted/plots/sim-ising.pdf create mode 100644 AOS-accepted/plots/sim-ising.tex create mode 100644 AOS-accepted/plots/sim-normal-2x3.pdf create mode 100644 AOS-accepted/plots/sim-normal-2x3.tex create mode 100644 AOS-accepted/plots/sim_efficiency.pdf create mode 100644 AOS-accepted/plots/tsir_eeg_2d_bad_perf.pdf create mode 100644 AOS-accepted/plots/tsir_regularized.pdf create mode 100644 AOS-accepted/supplement.tex diff --git a/.gitattributes b/.gitattributes index 25baab1..0940206 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,4 @@ *.rds filter=lfs diff=lfs merge=lfs -text *.Rds filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index c6a1db2..e8ae634 100644 --- a/.gitignore +++ b/.gitignore @@ -117,6 +117,9 @@ dataAnalysis/Classification of EEG/ *.csv *.csv.log +!**/AOS-accepted/images/*.pdf +!**/AOS-accepted/plots/*.pdf + # Include subfolders for images and plots !**/LaTeX/plots/ **/LaTeX/plots/* diff --git a/AOS-accepted/images/TorustangentSpace.pdf b/AOS-accepted/images/TorustangentSpace.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c4eb1f6e9da03a3a6f8dce770856e6d89b36f60e GIT binary patch literal 757903 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

Zg&X=kN9pp_R)zlWNVZj-pNuTj3xB- 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 z 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, + scale = 1, + declare function = { % Note: NO spaces in function argument list! + X(\u,\v) = (2 + cos(\u)) * cos(\v); + Y(\u,\v) = (2 + cos(\u)) * sin(\v); + Z(\u,\v) = sin(\u); + tx(\u,\v,\x,\y) = - sin(\u) * cos(\u) * \x - (2 + cos(\u)) * sin(\v) * \y; + ty(\u,\v,\x,\y) = - sin(\u) * cos(\u) * \x + (2 + cos(\u)) * cos(\v) * \y; + tz(\u,\v,\x,\y) = + cos(\u) * \x; + } +] + \begin{axis}[ + axis equal image, + hide axis, + view = {120}{30}, + scale = 2 + ] + \addplot3[ + surf, + shader = faceted interp, + samples = 20, + samples y = 40, + domain = 0:360, + domain y = 0:360, + z buffer = sort, + colormap name = grayscale, + thin + ] + ({X(\x, \y)}, {Y(\x, \y)}, {Z(\x, \y)}); + + % at = (1.433013, 2.482051, 0.5) // \u, \v = (30, 60) + % into = (-0.4330127, -0.4330127, 0.8660254) + % and = (-2.482051, 1.433013, 0) + + % X <- c(1.433013, 2.482051, 0.5) + % dx <- c(-0.4330127, -0.4330127, 0.8660254) + % dy <- c(-2.482051, 1.433013, 0) + + \addplot3[ + mesh, + shader = interp, + patch type = line, + variable = t, + domain = -44:210.5, + samples = 64, + samples y = 1, + colormap name = redscale + ] + ({X(\t, \t + 30)}, {Y(\t, \t + 30)}, {Z(\t, \t + 30)}); + + \addplot3[ + mesh, + shader = interp, + patch type = line, + variable = t, + domain = -50:119, + samples = 64, + samples y = 1, + colormap name = bluescale + ] + ({X(\t, -0.3 * \t + 69)}, {Y(\t, -0.3 * \t + 69)}, {Z(\t, -0.3 * \t + 69)}); + + \coordinate (x) at ({X(30, 60)}, {Y(30, 60)}, {Z(30, 60)}); + + \draw[dashed, fill = gray, opacity = 0.4] ( + {X(30, 60) + tx(30, 60, 0.4 + 0.8, 0.4 - 0.24)}, + {Y(30, 60) + ty(30, 60, 0.4 + 0.8, 0.4 - 0.24)}, + {Z(30, 60) + tz(30, 60, 0.4 + 0.8, 0.4 - 0.24)} + ) -- ( + {X(30, 60) + tx(30, 60, -0.4 + 0.8, -0.4 - 0.24)}, + {Y(30, 60) + ty(30, 60, -0.4 + 0.8, -0.4 - 0.24)}, + {Z(30, 60) + tz(30, 60, -0.4 + 0.8, -0.4 - 0.24)} + ) node[anchor = west, opacity = 1, outer sep=0.5em] {$T_{\mat{x}}\manifold{A}$} -- ( + {X(30, 60) + tx(30, 60, -0.4 - 0.8, -0.4 + 0.24)}, + {Y(30, 60) + ty(30, 60, -0.4 - 0.8, -0.4 + 0.24)}, + {Z(30, 60) + tz(30, 60, -0.4 - 0.8, -0.4 + 0.24)} + ) -- ( + {X(30, 60) + tx(30, 60, 0.4 - 0.8, 0.4 + 0.24)}, + {Y(30, 60) + ty(30, 60, 0.4 - 0.8, 0.4 + 0.24)}, + {Z(30, 60) + tz(30, 60, 0.4 - 0.8, 0.4 + 0.24)} + ) -- cycle; + + \draw[->, black!50!red] (x) -- ( + {X(30, 60) + tx(30, 60, 0.4, 0.4)}, + {Y(30, 60) + ty(30, 60, 0.4, 0.4)}, + {Z(30, 60) + tz(30, 60, 0.4, 0.4)} + ) node[pos = 0.7, anchor = north west, inner sep = 0pt] {$\t{\nabla\gamma_1(0)}$}; + + \draw[->, black!50!blue] (x) -- ( + {X(30, 60) + tx(30, 60, 0.8, -0.24)}, % -0.24 = 0.8 * -0.3 + {Y(30, 60) + ty(30, 60, 0.8, -0.24)}, + {Z(30, 60) + tz(30, 60, 0.8, -0.24)} + ) node[pos = 0.7, anchor = south west, inner sep = 0pt] {$\t{\nabla\gamma_2(0)}$}; + + \node[anchor = north] at (x) {$\mat{x}$}; + \node[circle, inner sep={1pt}, outer sep={0pt}, fill=black] at (x) {}; + + \end{axis} +\end{tikzpicture} +\end{document} diff --git a/AOS-accepted/images/embeddImage.pdf b/AOS-accepted/images/embeddImage.pdf new file mode 100644 index 0000000000000000000000000000000000000000..befdac0f51d1507169547952c5f4c7010dd98e27 GIT binary patch literal 275579 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

K9GCvGZj#Vav>d_8`h)Xy{x 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≦cP{%$jelf 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 literal 0 HcmV?d00001 diff --git a/AOS-accepted/images/embeddImage.tex b/AOS-accepted/images/embeddImage.tex new file mode 100644 index 0000000..6ef33ae --- /dev/null +++ b/AOS-accepted/images/embeddImage.tex @@ -0,0 +1,118 @@ +\documentclass{standalone} + +\usepackage{pgfplots} % TikZ (TeX ist kein Zeichenprogramm) +\usetikzlibrary{calc, perspective, pgfplots.colormaps} % PGF-Plot / TikZ config + +\pgfplotsset{ + compat = newest, + colormap = {grayscale}{color=(lightgray) color=(white) color=(lightgray)}, + colormap = {blackscale}{color=(black!70) color=(black!50) color=(black!70)}, +} + +% Define the (component) embedding into the torus +\tikzset{declare function = { % Note: NO spaces in function argument list! + Z(\u,\v) = 0.4 * \u * \u * cos(\v * 120); + bx(\t) = -0.5 + 0.3 * cos(\t) + 0.05 * sin(3 * \t); + by(\t) = 0.2 + 0.3 * sin(\t); +}} + +% Further packages and macros +\usepackage{amssymb, bm} + +\renewcommand{\t}[1]{{#1}^{T}} +\newcommand{\mat}[1]{\boldsymbol{#1}} +\newcommand{\manifold}[1]{\mathfrak{#1}} + + + +\begin{document} +\begin{tikzpicture}[>=latex] + + \begin{axis}[ + axis equal image, + hide axis, + view = {120}{30}, + scale = 1, + clip = false + ] + \coordinate (O) at (0, 0, 0); + + \draw[->] (-0.1, 0, 0) -- (0.6, 0, 0) node[pos = 1.1] {}; + \draw[->] (0, -0.1, 0) -- (0, 1.2, 0) node[pos = 1.1] {}; + \draw[->] (0, 0, -0.1) -- (0, 0, 1.0) node[pos = 1.1] {}; + + \addplot3[ + surf, + shader = faceted interp, + samples = 16, + samples y = 16, + domain = -1:0.4, + domain y = -0.5:1, + z buffer = sort, + colormap name = grayscale, + thin + ] + ({\x}, {\y}, {Z(\x, \y)}); + + \addplot3[ + samples = 64, + samples y = 0, + domain = 0:360, + color = black!40!gray, + fill = black, + fill opacity = 0.1, + colormap name = blackscale, + thick + ] + ({bx(\x)}, {by(\x)}, {Z(bx(\x), by(\x))}); + + \coordinate (coordU) at ({bx(150)}, {by(150)}, {Z(bx(150), by(150))}); + + \node[anchor = south west] (U) at (coordU) {$U$}; + + \node[ + circle, fill=black, inner sep=0.75pt, label={$\mat{\theta}_0$} + ] (theta0) at (-0.5, 0.2, {Z(-0.5, 0.2)}) {}; + + \node at (0, 0.5, 1.2) {$\Theta\subseteq\mathbb{R}^p$}; + + \node (UU) at ({bx(0)}, {by(0)}, {Z(bx(0), by(0))}) {}; + + \end{axis} + + \begin{scope}[shift = {(11cm, 2cm)}, scale = 2.5] + + \coordinate (O) at (-1.1, -0.3); + + \draw[step=0.1, lightgray!80, thin] (O) grid +(1.2, 1.2); + + \draw[->] ($(O) - (0.05, 0)$) -- +(1.4, 0) node[pos=1.1] {}; + \draw[->] ($(O) - (0, 0.05)$) -- +(0, 1.4) node[pos=1.1] {}; + + \draw[domain=0:360, smooth, variable=\x, fill=black, fill opacity = 0.1, thick] plot ({bx(\x)}, {by(\x)}); + + \node[ + circle, fill=black, inner sep=0.75pt, label={$\mat{s}_0$} + ] (s0) at (-0.5, 0.2) {}; + + \coordinate (coordPhiU) at ({bx(90)}, {by(90)}); + + \node[anchor = south east, outer sep = 0pt] (phiU) at (coordPhiU) {$\varphi(U)$}; + + \node at (-0.5, 1.28) {$\varphi(U)\subseteq\mathbb{R}^d$}; + + \node (phiUU) at ({bx(270)}, {by(270)}) {}; + + \end{scope} + + + \draw[->, out = 20, in = 160] (U.north east) to node[above, pos = 0.5] {$\varphi$} (phiU.north west); + \draw[->, out = 200, in = 340] (phiU.south west) to node[above, pos = 0.5] {$\varphi^{-1}$} (U.south east); + + \node (R) at (6.1, 0) {$\mathbb{R}$}; + + \draw[->, out = 270, in = 180] (UU) to node[below left, pos = 0.6] {$M$} (R); + \draw[->, out = 270, in = 0] (phiUU) to node[below right, pos = 0.4] {$M_{\varphi}$} (R); + +\end{tikzpicture} +\end{document} diff --git a/AOS-accepted/images/fen2tensor.pdf b/AOS-accepted/images/fen2tensor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b2e8b3abfcd6762d18fdc4a0f2c3901d5d7388c2 GIT binary patch literal 51713 zcma%>Ly#{_4B*GMjW@P!zOilFwr!jLv2EM7ZTpS)+pXQb>}C7VmG0z_O1e}1OEsB- zs5l)HJsS+!{PM^;3_B4ck-d=>3@V^sc6eLQiL8O8}ByIrJAX>b4 zWMZ%NL%EMMvby4+QpzA^Pq1Batu9Se;5cEn28pU zQ{Fc5hN&Ao;u^$Jg0 z!~kTxYSEN4pa$4_PY}W(C#qbtAd)1=x*FL#aKL(d8THQV?S-#z44)6K|EZi^O5!%y z2o6pA!t%tPP7dFvo)-kCjaE~%JFRg)PF&F#{cio9+u_>l-uoSm~ z1Hb$0j@TN_rX-q5Q>{EZ84l&b*aE9<%n3>=NXQZQuqBKo{o>obZ&vnBG7j7uFddl2 zT&Pm+E0xe@8SAW{N*~-*Ij2iKhZ!o`D%C{9M72#d6Tb8;#2~t&>vSrw%(iB*eQa%srfTT2=k5sCgxUQGw6`0u?ed8 zj|n(i!h+M++{OyU+!;KFoY}~kVg5X!5 zCQAVBqJCKl$sD?@njusUE^kqR3UU>+~Cnx77oY!`B#$zoNFq8g(R${pJW<6rPe|gp4JXVC4%;pGxW*-xnpgkX7fDs}dVQ3E&_`rm^h=Gu!2^ z*xCeXaT3&XU(!5UX+&Y?f?En>i@IQNWR-hsR^Jo+V!HPgVf6HJ3}rWRWtB&$vRsiZd|tG#NqV$)&|fP)yP z3(v?wArQ(VR-KRV$OyTXF|pN4yO^JSI#_^i%xvF$iuih$Hp#W<_obU{Kq-#aC^M5G z*tPsTv_=PFX^hUfHYRc0MgxH3@PA(*C#efWB88;ZD6&!L>I@+#WV>*^C=(^0-z;fy z6aq!qx~J=7s8Ki2R5eF#wKesI?Iu3KG#Obp;dh@_;Q>f=>{wo;RX5J{oLe^=5{ z$SI61=q1FZIgx8Ec6MABAq$LHlUpP2d4{k>OhT!cDH!5KFZS{Y!#H*$hc zh{Pe@Q)%L1hJ??$@VgqcWe!g^PB+rA;yzg_9({&RD(B{l77c7moryJqz}!HNmnKM8 zI%q&5v%zzz)n*#!WA|fq<7L09Uc?Z&r0zXG&HZd6INU7_z%y(y)N>+hiHbJVH4M%P zy+kX)Q4!n-+LTUr=7#-;61>3AXzO-Zh3-^T?@B2H+law5jBM-X95{#q#oBpup6K(9 zW;Rc{?{dTQ-z^vsfe}SHEe9vPa}?e>=Lc8aTAnBetE4526*_T^stp_?)B49IF>&M5;@hOX3@ziWrqiV!M^rxgLqlM_}cV+ak#sk56&A!vx^R|x*U96G_z zJ>rr9gevfV$QxKWYKW65gbs}sOxn$c3{OS_{zez39CLRBx-v0asl`B-cN2NhqT7${ zs`I?=DyhsVSSvaLaaYi1g4?var2RuV5*9-UYI4ES7`BPjS+$69>~Ri+c^YzIfbu&2 zLyEHtiMb}sgtW3Svz;cq_Qx=gSEP(J^}vO+SY{9!%*BYlAC<_E`C_r5SDBqni`UPA z7t(r@$P!;rbxuU$zc4x6W2x+R=9ld^BYF$7+H@59%y?3vSm{MEm3Pa3Wl;X3%3Wco zxe)ieJh!BSaD&i>bWz%HX7DjFc*K&05@IUza6pP|VX$EhJJ-Om&%MYivw^OQVT}xx z{)d9d5ilfzs*20qQ?K|ytpX?H6oodA*mh&HV}2L{d@_&48~QB1tbj@SU)@y(i2W&@ zD$e1i$0>yeDVB&vh_CuPL`NNHwQvumVs_XY%F-c6!N~L@I|(7$HshgddWexK$VN^O z809G!9~@z5Y&6Ld`?b8Zq@`j5VyjNMX@IG8l`*(vP;Zc`$Zx0Np>%y^XlV?#HY%)B zH;XCoZx%JeCeYL_)?Y2WeoE z<(@+SC7x^4lk1TU`tKC6*nV1^?%ZUeVw01MV5&CC>B)FHECEBfsI=)!5*{=g!x)xI zhlYb*TuOU~oop~8 zd`i!WJC=L?@4@B1N^=iP?cFR6s!ZvU8Iacg2| zqi6PllgX%bPKxccu>mblHGi{0h@IwN#deZHm#kuX*oZv#t~>yWy%2=s(pHx!%ikm8={GP0AO-Vv_w||^1`TzQDrTKchKONxFZQS0z-rR8Y z`gQI#$tHW1rC&5BvG0?sq}eY zn#u?BBUB^9Q#xTde6J$x^L%hFl+scY!w{-$vHU!I;o9-Eb@!jITIrhlXXR$UNTbC* zKYP2oQ1#mNrcyh7JICi-Hv!&SosXGKOog2^)3fc&@EzQqp28IlJh^-50vOA~pK^@; z^Se}N^Gv84nyk?*Bv+l+YAza{_nRS$+fQ@$YdHecE&n<3WYqxh7Zhb^SPOoU? z#bV)2W>nSlLl^_RDi337XY#)(;6Leq5(E?H|AP`tL`+O9%>M^0n2DH~m^uINl7)!z z|7eJqnHkyG{y&i;rpef#Olb8Kf6MKs!FJ1Stku@7I?i^hH977k&KB2xZn}%5Y3?@s zTjlL8N7+?Z^=#WjG>Y0qnEX||^zhY<-bLm)W*Z3ITEyB@*_~TaTEv+`L|e6gkCKE2 z4m&dJ2cvSTgBv&Nx5n@T z*T4jfvEkb|(9j4ZLj$J^C`M+6?#2M?r;yUr-0YX*yRJR5YUp>eBa@r!R~1CzM>!kj zUVUSDcXkxjz{m<>h{*oV$kGO;0Ik9O-ldVX%>h^eM;Un8CWkhb4hWDYC-=)ZDD{TO z(G0}mO`)w^)`y!*H*=E%ES?7>CasJaP+1jS5qqGItrbw&lbl$AFSxinJ-s?V8}~~1 zR|7NzF^0}Y<^oulojt%miu2d?z~=JU%u4uI06wy7bA23l^QYxmfbj0OoVB^7`QgjI zD%FXpxq%g@y`iz0NxjLV{ZsT8 zh?`t|^fyttrJl95mBrN!qW=4r3VzAIC$F)hqbjy=>6g*K%KTAa=ht>apoc}G!cvNA zeBq0*>2Z#kiO1L*Rhq{chy|CYe|}5Gg#fCIJvv5pWipkizfmvMe;qw8x2 z#KFP!;rnly!4DJYwG9wNp?}Da*fkKufj=rFO@Ppcz%Z~u!Y865Fc#X6Y)%Xi#KHW>47vB6CSlwKm zm|L9R&*Hz_9eyygHGlB+l$8;cjWb$Iy^Zq>s+y-=(z&O%6D1XIunF}rFl5Y5zvp%# z>8ZZhn+DqNf#+op=N1SBNa5+bwZGP=C}ImFj^NzMwYH2>~~Ny*Hqv4wcEO| z9S$BTGf&3yx>Lk^d6F|tgfAnbCJG&l##*oC|2gV*Ng68a`@%%X3>xNtrfLg}yWgk{ z6!QpZ|D3dmF`Y|sb00F-0HRqex3TX2E;_$|U%?Q|YD2Y}!wWD)65R!N8)&lM5eM<< z$bq7_y;lJct)MYMeYMN-igHf}KZ7}EHWVA+W!I)9fk4#$&ToWDFY0t0dUGCb zLUgOTh)?~NyPZZk0AH$8DZ098vFEX~#pevoaN_!=ua<4&x7G=gYzeDw^3{=)yr>8fcaVh9tUq9S9s&h4eoG?EB;QkWIM03%ed2iTQ zDy`P?aISgH`pjZuQr+1s+k|jTH{0WSX*# zV?oFFt89hgGJ+N5ktp_>%RCc>^{}Fs?sh$UP}r(s;~F4~%V_fj(#w8hi17Q-NlO2(!RhVV7i~AP zb*i6I0;u>><~ek|585*xe6r#_NU5;wz%5W90!H{byHmDx7V>1;TC`)4{^nEB?r@{+ zg|mPVhf9qXc#uifvdDH%G!t9cDIDc>JigK~sshb1l52^MNAigh+Jxh99k@zt@dY{Y82}Hl85= zVs$lLiXqqmWBfdhnN{6U$H0sy`59_YNY*_^`L%!8Q_ILx?ZUPZD1G>p6lGPY53>Oc zA16Wp*4P3JC1%BnOi7`7*i3N1(G6R)wt|HHIy=dNG?A@UsdYBl=Dh^&p*o#l}Gdm~8Wc7-{ z_n=O9*^QMS{^9wxckwzzR;Vq*?vnWHA3)wD)QMLgcXo`G~T$Hm@m30I-c&3+~gn;@WwSuIjRjR)dNHT-h=U>_Qt4_ z(B*ynIh(5|(P1qVTQ^=$wys(e0OFp|VE5BV(XcAOS?CDvL_7p+u`%N6z=f;b3{1s2 zp>kS*sM%FiSans9{V41G`TQ(K*YFfv)`V5FVtrow1h+|$@r{*z$dK}>Y}6L&#WnL7 z><85TYt;bRw$JtGSVZqMZJg!-w3o|#Ha-EU1+i2}E+!*`)%)ExbjTP-$+QDyP^qe0 z7T{3B8;ukhiP^4)X)tOEXU5NyO-K#`&Z6xs;E!(d7Wt3o z<{|eA{9mrlhtCLuneH*dFAjMTbqgNo3>p+8XQ>_gu32|O)3(x-2!TOLj)BgC*P%c} zk~8`bcOL>w+#K8Co?AWC!DGaF&H`!){~e|OK?muw`%AUw_`Wg`z(4V2ApFO`#!42U zdNbF`jwDw5S+%<=d)ZI?~5-WJJj|BP*+#nSmb{-`LL>DxUI*Cr2 zUBx-(pZ$f=qdQZ#sBUK9c{OW}j|&8`|IBRh)Q1=oT|8L) z!3^h118CpDreYEH@VmW^|LYzT^eM3pD@eiJl5|Mv>#PtZi3#rV$DduK z!i)W@QmX26nF}n-M8c#^lC(r4{=tvyEuubqQ@|mhtN^lDq$RgoUV@F&e1nMPg?Ee~ zq#R**;U!dST!g{C%U8{I0eiGe~+6|MG1ZBJE z5bO6w5Ido3$9^+EXcCd0?UV(s@WQqo3W-7exddN9S_&jBT9LrD;(v3KQ;Jx%hsQkS z;-aA)7i%amSmaec>o?LnnTBtc`$kY$E7)ml*87?z`07bi$E7gHw#)OCxMqU z%z<6RD{s(-U$uTw8%N!6sYx-}9xMho<3q%}7UD>j5e5aXIyWT;8NnCNgB ze$bCZKYiWtfgJx~#YIs^DEx92P<#AS`uGbmWQa6jZkNDL#13~l)hehmcPl03`Z>DQYT5~e1ajh=86k_(snWD(>R_u#( zB^$UJN+4ZhfpLGZuO6{YK+cq4qh)29iQhPt-#2`tiAs4lTBG?U4vn!*95oaG&(Wfwi<88R`HT|W! zeM6k|+8laDOcL4lfNF`ee8W60CULJyB_dW-QC3P4AvOy8F$}9lZqF3XV^wNfT}SV6 zla9~XtMvgR_IWkJ^b+6O(${a7Lb;txunJB!)ZGT0Vuvdn)I_S@vGU>|puH<$RpKQI z5;#rtAEG^+;!%lEGIU!H&H%I5{iY`b!3X>{3RjN$KEG`P>)ESweTCwC`^|SW%+jID zaS3#ox3Wx&5Gy|g$4tC{g+6}0YSsi*x2^fTb;abd)+E3fK*~gvBidrP89X8B(DtRakHKDv8yvRwt;TNR81aIVJfvW zF(e81Go*@^6arpQzV+TdU;V?J{WIPL=@hL|m1^Qf8#%Vbux1}QS_nroUSb(P#@NAL z_iUEykvjep7A9vZZewwLM1tCjWs{LLy--3D<7KL?nO!X$taio(b;WnzI)AVaW%8P& z6(o^v2WFb9$1I%gy=_wKNw=x|b0-QKy*A}pV32J~VU~=m(+fNSnN_Y6Kd)j{qJ{C^ zyg4{^%|BOfNS-gM$AVVt8qfe+XXuJh}wk-Rt(D=89`q zxL8+SS2xYPL(P^4oA`_|uWI2HUMF)GRx#&LYQ_RqcbXJ$l9z=nOnxVhpHnqLS8L zF_&CSo3%U~K6!(M1rzT=U2bgC2kHZ0Ag21kX&#w&CF_C20ntSGbK^Ark4(SmyjfeN%PGQ+kzGA*U{su0gHBq+>CV{SnI71aCs|hFrt8?u^ z0|rIMq@e}d_whWS8GO5oN*u4~!L|PTtQI?Y!&$G+Kc#3=uR`#J(weUND3wpBv4E_8 zT)XB2#!mmqqYUI8jXljNZFy$5h5qq_csUeNMkW=1QI&$h?V(0ZKc}^3+_w)Ey5>*| zJT)7E#D+fZf*1BhQO$_QHLMuQR4;7JM=`Y9NQl-D?$uJeai`rP$UKBmx6+E4Zwq~L zStApQV2M97sWXO@Q^#ghPrO8wXuc($Vdh6$|9#wwJn!Avw+z zZKfk#J+nBN93Q~HqHn7h`yS{~z+)TpJn64j7+oQH{>3Sjpzox-!Xj+ZSt0qn2Jf%o z?Huo(?5nM-H0}Rq-7N?&K2iVS-});X%Y=Mb(o?)|sMYe11(UX~tA!z(@XDA9NI{&G z20<}@uLiT(_xQh;E>foH_0tIk&HA?x8 z-Zv>m9CoA@Lb~B9h!rW$0UT7D@wA>+H{<Aay z9otTvx79l{*aGvtOF5AY@8sxq_#|Kn!G99_<4|<|kmJ)^8mC~*zoXCWm>6^JL5od?A3|+ApU3HD|J&U;)@SS> zmPB|h_v6?6%0dNmq>x2_yJDL9K6r%5ZFa@Y>kx{*@Y@c5XaEDWR8{l+wB9u^Y=%AG{*62h4|2 zh|JC+W$9jo8jgHzUQe5MYE4GdsQ~_99-^Wg<>2a6Z#g7gkJyl{ixw5f&&~cw`4f8| zo@DpYEL4)w5h)Y0RRl%i!t3#RwU{Q`b9HM|XeV$@Ttx5oYNx2r?!^akewZ{`e0ydd zSDSuUpq%`a$6mY7-R*!q3OI!7kx7jZn@$v>vw1fQ4|jYD>G2r_+4cnZ&_+iuJCS<) zF*^Zgb2-hd3)xk6NWQ$Ttj{GW<%_0|%y&vmJ2JY{ePK6Y?$G~cIpNEdJULX1Nez^b zONGO-1{l`l;wt$0=$dVG9o?-=f2|%YAA)o2D-}<4{Ifblk$p|jvo{Igb$H129;Wi7 zO9FTP;Dux@DFrykV8brvlh?x&mEO7#uZ;igWXxR}Z;_+hn!8Bphh#DwkXq7j5sOr~ zcOQDx5_p_TH*`rK}nA8+?~|C45>j6Y^D_V3nfQRO8EX6G{wL z`-o2%dDX_NJQNB^))wA)wGdi#thPb673ozv=3KA{sP%|Xcl?bQ!eK~{HA0JGxp%Rn zgpSpNlo@ru6k}k-!W_+Q=v9dURNBb|N7?M5mE#kLF^028z2umS^#QTy_R~a0;h8F_ z${XrrJ51M<;RZ-gm#&FLb)IQx#T%6ZljZ`MU4CbCszp;T~g;}_@?rdRDH zM>Bz6VT5-dbV3F9^D`ALY8zFPYeY9DKEwC%=~fX+$bAy985bpAwv$eddAN|lP%0?EWoMmAz3gZ3Z zi(>@x)i`Fe*;7A0mr;5oC?TdfsVs}_Mt=c)uwg+ZH8gX>dPWJaMXIH26Ri3W-aIzM9^y2&?vbDeuzRyO06d%eSIt^c-Gi`=rh75ioX@5)~3B+62XF z;apz&Rs)EB>maz=vtHfRK9d?m==U719V|S=cyW8VdPCZrxg{q`8ks_Y!Sg=|9S?+a z3*~L5X_=(D3%I*Mhl+~gKZmg87K9WZeAmcL5n5qE#QN?CDo})D3jQ#7PlzkS-K<3r z7g%@OE8UY1T%A$!Wr;>bod3P}JG`eDMz8E^!3_;!6*9V*IUEi~3A$cSHoFpl`$h!Yi+`Pvff2JYsn}1d} zHAy3sc<>C7qt>v(c-QD7Lw3@8`?cT3YY{0%U7$@ZhzNv^MzN8&ksJ!Npc z0~2f(ajn{{Dm8?Ua=%FHoN<4tmz@9oX%6OTJ(KRIKh28KUZ^zE4Izx|<67xz39910 zYSnk}5)KruWHQl#sgBgAjw$8DRC%~xDvinTv96GWoy*Z@Id57eO4fii*u&3*dFSZn zeQA$uq=SaGwCxsA^VHLnIoUg&i{S`YX%6?=e*I>gg62xV6QrB2EvWrbrlvx;z103# zXi`;$ThEPH%O|M{SfhTn`ZM#2z#Yv**F9?X$%}Qb%>i!=5^U86r&W1ixSws=9Y7jC-`f}63r5LYW8U2cXk%JR2E3Q7h7)G z9(^;z%6~ToUg>2a@hreR$Fc(NH%N4q=SQ*}@cAfCaH=2hUk6p1<9Ys*rjRI3prLEu zQ2!>X-?1j(^oEXR5nEzDDGEW#k8K}#`CsBY_BpVq)Yerson3u1H)yxY1bkULq3lWYCJ z$xeYo>gNYNc@5zJZhfneUB4tIed;(hzazbdj%RglnfN>QIDvKrn`snef(EszGRu+8 z`nvhcTSQKUY<<1evR)^CHVRRRa>OhVkbOiO<}7MuY|aO(XY$tEG258ogE+=Voe}*Q zRv#|uxhyX?mn`xp16lFmY*!7b`U(~i5gF6-93l<_JnM;yw1 z7n&^r5NQqGm3crFInZxqm8!3DEIEuvw&3VPcWVt5)Sf7XQ9Nprz?oJyNJz6?{`6B$r($WYoDxEb(==Ji{ z`{|#a5mM|zJotPk?&(Ox=+vv`?H<-IXe-KDmBY|RhTK9#TckOsG&d_(#na_+jjNL8 z>kV`rfruUfj8`;idG!)F&q8Q0^i`?b?;N_01k__&?Gg_n5R%LoH3r(DC#5#d9eJtfVLZ4 zuibyykbdVHC@b?s*%IQ}*D0(vI-^E5 zuiln}vwqW(bL-~Q42wIL3J4#p{+!s#R;QWx5n%j9u3yR+%WXHa;@D7=E}cQt?3vuY z-JbYjZl(+fu&4b!F|BQ)Cq>X!CZvk5jfAYL$LvtpuK$cBk z=k_U1!!h^TpZRRs;mIF`sgh0HuWZtlhJ*`W0jzQP6nZM1RT3NBO1`#Z=r= z3-%N^`OlRW*cbb5%{9(>h^1*?8L5k7told)FviS;G)5|5YP$&a@m2TPu6hIX&aM*2;;K8X?}^EMRzjLhk&{ci_wQr6UD zqy7iz`|e~KG}-hTs1vEW^V#NgBs8XLUx)|8eV0_>b9gElGk&g&hV24}O=ugZ{+7awNGi`vvRwT=-k$N zX&4GFaHqhcF#C5pvzzRyPKmika8veUHL9v%dUpvuc!(>_*&>T1H(nktFDK+(BZu@G zN`!BIH*-H@X1?)NobaN?W?wclB3^n}XLlIybrnC|8viYyKWQhit41Eso>T_0gjW5> z3`_`zaztUE*R8EK7#2epJs9zMiFMDf2$U9|e*iFaTH%oMQ~FxCT{D8W`ka49#l($` zs)ZksQx(VT6(Db!wnVBN^a7N#)sbp@0T=j{Fkj_r^Fx-9pN5r;_bX)~CW|L_q(st=RF8k5n1zK0 z1)lw`Xt05LS}N2mCk=nte4)Yx1_5O4lX-L@EY4GB2RXr-A6FD~dX(Pm2g6!+Px;k? zc}k)th);O#@7-*)0}5i>hNt1v?K5LyRfd8(yr(oH`ZHD}k!~I;by0gJAJ|>X_h#2{ z(KE*$*=@wd>fleyUs*vTEVqBy^)zzOnm-mc+6s}MtjyeeK?toKZnBl%6PTWKeIC>E zvd@S~OcMm6EyF}N=HRVNnpN?17n-I2rWy&%2Xo5x{IfvaXlpf~V|WFZA+I$ekyXCD z22^@CWl_{r3$wV4V(IA3y!@*7ub}c$uSd~qMeuBQoWxG|POt`x#WftZNEFkwc zy;8_1#8Jy@xm4rG+fNS+qgha-KA@m@-ih*)6Nool$hC+9;F3Z><)X5gM{bB*8_F`; z!$s&+f3Ys5zDI-}b4XW&mbrKt<^{0Tjt$`UXb{`fG1F4_hk6Yq5IN_7J>REdan+DT zIT2L~wxV5-p#J4#zakcQBmD=m#3D&0DYtN(Z2NVYNZRZW1uq{( zyQZ_S0L$%HU1%?-z5piWk#*B(5RSQNn>}K@SvR>Sbs~d4+7F5;(`9}EWN9*xV-rUp zQLTGBLvL6P;(Gt`93`PtJGd)RQEx%3Y^=q8_nIc0(IeZ3pht6{2AMDyE3ClraD6w=$KG;}bBM1&a+A48$XpCG7kwRQf`V>nV~Wmh zfh*r3Z@^nHLh6lKj~9q8HM=O^O?K-UlX-~HcuSmWT8KR&pXYRCA%fBmz~|K?yKdJ#(nEZn1Fy0 z_T%W@w>jfdnM9m1A>^%;qOOdHgND(nTT~!O%>To(TbATCEMNODZ=EIB$_2Z(_fncM zxM8QBp|)0iRA<2horn;m+-Cr@Us3BG z&Eff-Z^p*x1wJ%N96FNCedu*g95CSr?iExt)S zB^=RD-K1Z>y=VN&R(hawOMeTipQ*b;wOx0y+q+_01dcG_hnD;cl;@**wb!6P#>vne z9d$ubi&@x8&p_jdUAA<_gC%p>pY?IDDGkekiWIyn;pT^}C2-OT56?GC;}_ZYF$*{4 zKJkhn=7Y9EB2dI=T;K0KWNBZ*D_)C==$y{&I-*`BGEp9L)Z-qTPrq-Kp&UAOLv|R( zI(uUYeuRNyym`)MN^eG--btvSFO^Crn2y=MJGR@BCq+P-1)t@A1D3fQ z=IzqY=ycEgBibmZB(7tX=PvN6wQ3L~Xfo8pnle{HcqcIbB;GKNH3$Rsg=sXjZJQMb4IWYEpU?zhOpajTy)r z_OgARW=T%dq8jn22>5|(dDo!96#x+-?!>KL7u4++O|DWeEYIgc2|Zu?TgMHItEuLr zyYsZFsJAW`EKWqGu^dT-8R#!gt6(#-Ak|L3-T0oITpZ^XV8>F@%Dv<&eJn}IjoA25 z@B&Ap@Or=2O>tV6d7J%~i>sZ7DE~Vrj0UOr@fxDLAiX47&XN^l*Ll7?cDa{6<~Eum zLQRjvvVk#LaD`13reIJ{Ywh@%=vJ;sF=qAen`VrV_G_x*l5FJ;Kmk2HUCY zsuDt0;bEXYHSg|Tn{AImR#g0E6~;c0racljKoFQ}@AkE10J0t~PdmB2Y;4$EUk=u{ z22uF0!!O$_e4I1_TiVvOOt?SO=YyhnJlPwm^~bK1eL-qkN?NAiL`fFOYJeiy>7*Ar zKV|!xc0s9Y*UL3^!>oCj>>3Y9d{dTHMju!As4Ja3cyyJj;9WD?aHeR~yD2G`;-&`2 zM1qUC$_#$nW?Z-;0UnGET#lOWndD#3Cu+B^Ez}kI181~RhR%&?)eYD z(E{65vjpuYyXE6izO`=E*Dk4?Wx=mQ_*aaHPW{Y9Pv1e(1qy9rb%i@PBTT}A@%$2m(thAb#)95(jLXxx~QmIO#pc&&4w6&eBF zLWU$b|1yXMR0WVp&|vT)nB#oh%Zm=Gk7&M-m?$nW!KDz^Ap1_L`@Hm=nKo1pjIgp2 z0>@u6>lJ9jvy3CM@ZO@VD9BnrYY9!qzvS&#mYE~=3rb$BF7Je(BIZv}8Y+iz$3#sH zCP)&HjNT2$woEZid;N09gVh}sO(UU@=N}xvh4sA1n*|Z9qVSn%tD=Vkmxh9oCw1mM zEBhmz9I`vbFiSb?mXYBy!wl~{}8{ucT$s`FB9`3 z#c#aCOW&o^H}_Ir0UyjPaCB8Rb9A?9I^=j8-d7F9ACvT!Mim8mldm*FUF+97O*^G7 zG=x#ZDREN=mgwa8aE1t6dC*cdP6AhnI2Et?X_;Ymyn)H!6ln&e5<}$pj_>a7Xrl;B zg-BFX0rDLkvk;?Vo$WlInIrp3ZJ4zXjV?l7iJNaJIMdoiR6*Y6 z8z$FCO76-^nT03#{wPi5k_Lngf^d<@9OsPp!kzT={_+u(baZz6fj2?hTRSY2G~)UR zlk6%MiE;ivS08)*A=G%h3hHR3?1lj%*(nAYy~ zzmoJ2A%Cv(6EFYLmy;03S-LNlNL4s%0NSJMokgm(gtnMtHG9pQB!*wgv|d8K#Y4ht zvuQ`L)h~>fiyKC@gqBdrOjTU88CJAX$k`2v5yy~uU15<>bsmosBxMl0u_>^La59mm zb!_-eYSSp{iL(#0thl!3wHvlaFa@z9|IL!;$-s>j$?6W5HGZl3;@&#PsZ1tYmdpgb zXe$Cwq&xr)Hc~KxsLDBA_Yc%VTsAZA8FEvUn4O^5>Q66*3PB2VMV*HD4;D?RnR zIY7HWZM)i&;aXd^h2k#=*0A0Ja53*ZED$zJV*IlN9!+z!YS7bbZXcg)<|FM=vzHgC zk0VN+fC=M9j_XHhPG0rB%n|d%!UCO|bTg}&swUrl8w;Kt=P7X@E(QsHZMV%=%Ut9W zFwhxWQkF{ZMBb$e0>bFoMRw6op@(@SdhXM9XG7h6z2QWKHQb(E zKC@l&PtKPUPTotb-#gzWRn*Zp0)DoV4@wbgpCDHqxiBdzrlwt>r9OmC7;g|^n<=_H z0QPd;zXh4&ldP@qu z#>?8fht$-C4;W22~ctcnLgsgNoe20}xe3=VH ztYO|_92y|7T#>NQrIlQd^%EAw19kbxx-4fjk64 zFGhAVvTu-8)>Aso!_B}*`SEz~!Rvp^z5awr*5*Sn-FzO=h9x{B!)33z7TYfz2N zccO2X>0m(sU+QNoAD_6+udsCD59w&fg$u)!U(bq2iU^_)rlm*xZP}d2sZQB>Lk;_U zUhe+nm%Z&*se?3!6H>3A_f$T3f3JQ*&%x3wTxeccQjF+|CL16bxUO{qXHEyCn4Yu} zJL3flgj;n6j$Hk{k~HswY>or#3jWmff&=n?_w~UXb-Lj0w~(Zfr3leT1Rf(3hrC2O z@jSYzTa9wV6--}3hvd-UF~wvYB~jOhHK(w>?G2*B-Ls26NaXJeYv-Dc6FP2#>h?@w zf@4hy^Uss=yKBfBUHl$egjr|S-u9#|j$6N-itLUhUEW8bhWR;8!!n!Lw&6kk|dfWRD&M!FIG5u%x3}at#2buF%g&0zHV6NrA$43sM^R8Vw!A~{&G&9cShOGe^WWAAA zu<-^&NyuKu>p0w`L*%ijH0xF0oA~Xl&ILNvC5yE4LIJpMV5y<6j!q2aae@@dS-oh{ zr}o zS|bj(To>6}&ghS0?8R8`I_(PDOgUx9-*s2_`D*%6`u=$AxemE4Qs;-j?%f;t*G(+1 z;@Uf2SU8a27zGd2Ao>i%N+N{Hx3#=7g|P{d@}O4N=@dgMFAIDKJy4>de8pJSDd)j~ z(hgUbDY)Cw$V?}{BNfq)}HEB*bxe0_MY=Qh2oc)iv-kIka0*B^X))&(87<3 zym920;rEtnR8c=2YIQ%3T#tgtki1!wc%;mqFi5k89QArhdfu(qmANz)@j8qZ7}0=t zoAhzr@J;@!Q~n)VlbBWg_`HvScv|n-_XK>%3WrG@E1G8TA6MIwhjUCH17T7;MKLa= zW!XA&DiC*8iITK;=FNFn+uheoMRN4``-iE~_yg-+anC73Y0^3D$^f$eaScuk{!Y?u zy8VMYT09636a{W(^fCd|c8bpaPrR%uaY}hUMq~R5X-97?gC29^fsKwVtFlUWW|A&O z$Oofuqpc2fa;nPL410vqSRr5`kkyj8ro*<3993ReljKzxq5y~Uzyg6iox)yXNw z69h`}8HT5{V16cauf*suYvu>+>xEKgnQmin0&afID$0?he3ZHA@dv_@!BAgm^rm*f z%Ke4VhN|Dfl^1RaooyS42uFyFZOt8vnwK3iwBSqcnNak=E_Q3?%vi!;f#FtV|H8 zn1b{k*_?6~gr?GufL)0JuUXrYtdJFR)5{3tBOt%{gOy56+*q^vOYFe2cMkecvYK4w z%=`QGzN+5J;;6h*3jWA@P%rDh!e6-F`G!8GSP{3mee!|{k8Mrp)*R&sN5N{5x<~}w z=4VkWG<$eyt0my^iIWaRxoF7@FjUh;Ft|jsAwbY^3$) z5$>^?@*BTdlFPRD3{aE2l9C!%0#6NZzH8Lcg=$T8@9DAQTi!N`7?wq$PaJxJF?0a` zDU^hc>VV`Cp3=QdXzSm42UU<9sO0@94FRMp4TES4lvxz_9^LP6{!i^Y9>%xag?)1@ zR(HYCcf>?RYTL@AA8_;WGG9xeGDZWod4UWBr9hQXI1H}9#~@eXaRItri!O+TjuUoL zxu~Wn|8$!;re?x>E{{pEtpiJ#Clf@GAQ@X%kh>K+)=V|KirA^rLahY&Qt(30)0713Uy7S(9i|{JE-|{X z9cG1ohiZLJA*P>OR$;r&ze|Q_m!_QBw&i5<8lw*Z8s3NP(-bl+wz|K^65C1~+R%@t z8$m!^B>;U$2`Q>^^U3N7I~EZeq^(8Xt~JKVp=`Wuo{PMoQd!NMDT5*-o$45HM_%^x zgcZ_QnOrjh=}T2A@J}YWsu&EI!%yh;Td&)kec4`C@@y z)QZ4YAiMH_^?$xXWA@Yak(pg~bshK8^+_kY98#R!*xnvDkElLCbN$ zSiB~~sO3?|?Y7(Qv-mS+K!M>1(byk}7N~Ky*dgY38@h>ph$hpqG?TSum;Vt%YGmL8 za85gYwNx5en4wU`mO|hmD(&{~ z+_OZ=u)wSlTX%$Q_(X^$<^5BL>$^sP?bxX<1?fXdw`zt6Vm87oN&WY5dA%FouVK&8 z$un8&)V6`FTReD2&m;@gBY*tH+p?rzdxZ#4=hH2m+#N&(xnpm)CB96Y0fw3YOS45A zzH00V8Nu)O4&|>3gVTe72w`*sfM`NYZ9~6TeNuy_;g}{#N?-Lq5wdzFlp+}% zu$Y4=ESWQH?QLKwPQZxZ|K_lp_t>b;UV6sSf7`{*oIgOTwxJe#83Wj!2vs_e;0Zs# zTfFB|UZ1YpwY0wZQ)ErIf?@tvIe9Y3Y#S})+ZLYCNOpZI+_Xj+r=1A{h?t4isX#Ss zJyO#BIwYo=AvMCbC-F4R_(fsjQDL*t9eec=**5Y0J3kaKM{-d5+Ka75Vx(MQ$~b~| zA-!#`&`i2@J-IR{Nf_a75yN{Ym|82LcgP|4vW6oMBmaeocf z(GmEpd<%nGg1Lb@#U1@zBtLvhy=DWEY?n8y`0Bt{{$hSo?Z}?ZCP?0K|2fV5v2`n` zot?aC9awkQ1)(`+h*KwJl<2<8<)iGTd>+sj!xzaC+i9Plm=HTh?mrgKb}WkN&+PU3 zvdTm)AZ!iWC*$dtyM>oh%f4S9of!tVI+*LpgE0k#)3L5{45iX7i{b z!wl?8NmEhuHZZK+H~&RZB~Ky)oHCWhg`gTvGYoOdjP(&!n-^aUzYyAlp(PFH1-e}`4&0s~dMJWBMb@z%y*40WD@H?; zNyX|7*fx8jx+ihk4j3ERWhqE#edS$wQ? z7|N?fvuaXFNk4V3)n?LFVOs|J@5kNi?8bb!Svt>1DQW*z$zYDaW}(9ADSj_0z(sk_ zE_-_a;T2!c@xly0l9uJ1uRNj+Toz$g4c5HwyJ>ZsFIJZg$0KRj7pQzdH5~2vKUvz;2F|=XHMX^q-uhL4hD1$ zd@@rrMf0152(6VhQYJd;-r0RjMf0-VNQFK5o1K}Q8dwOM>7z!g)5gFd)YVTDcZ5L} zXc%2PlbG`Ys<2$1tKQQDG(pnEB@J~Mp^M>O>=Ll*tHxMMm2Qz>iL zJ6@bvA4`!Rk|e}m%gQ_rzNFe zu2gR48G%EDW~5uxZA_IW`IYCIyT0H zhgN7wipx2O`viBB%_IAFw49n;4v>;_A!{Szq=JoA+m9F2Q(iqh>_lcKA^r23Li7*7 z9CfAjiJbPz(9I04T#`tpI+xhUE2f03pmB$^du<+xP&Pw32bP|itBW99g)YV9q`6W+!cRjn#yJ!_YlzD}DEP~-hSX(wO5Iqi1m#-A$LRcBjf?+~*0 zuDm}Cx{o3Vg@)PQj~T;C@S1Q&3_@|Nj0$1UKnMxMA0)OI{2$!mX_ok`ik6oA z6hBpT`U~z|it~O0xC@gn4>m#R3tZ%3Fe|hF2n3!N-ocnJfPeLElU1{;SX;E>sWlsT zNt-`=)SD@@ty)?5u)GN(AX^AD8~(SgC|Tl?K&gAMmsC#xFU4c-|9WKln^w#wnr>we zt_MJICMhpnDz$FsZj{ACQkzhG_a`zyQ!71xo1?1w_#@KiNi`iHEdMbUBt+%#$1$Gu z7C8omj#GGUzh#cdC?F0}@vV*LjItt=d_kNZL?xDk+2V;gu>l9AhXx=~r226q9^vna zD4duza`WAhv3*dDfl`aTUC5Xv=8pNHwO`Yx30pcZ~Aw5*d{h+VDp(%430=OKpd!MID z`vu0U5IMe29P=R zqK8VN>Q|PPA*e8s{uV)K(z3rDEbA_%m+V3RD$!++9%b%mFZtL6bBY>>D1+b)6ZOHs zg3yr-{%}rKwoF@Q7=qED9jOuowL!p98`wN>*55Lls#*nWB|_bmU-xf*mq$o`+T^!% zd*xL+O0P3*EK>H26tdq#xtLpJ4n3Bj5_}!Ot!?4^frk~aW=#54yYobph1L;feK&AsSivRqV6pOYwylUL@ zU#n4yrv6EWtl1}^W6&E63fJ>Ns&pjA5h42Yz5#&8!sUdUd8JJiAF3X~^o=Mz_G0F! z?7V-Q&DaFpN0pL?2hkIKTG4D7ee^8#(yDd|3HpJv+tVi zb1APvuXdKCey!*R4z|zMg!DO?Q0|8Ry5xK!6CHp9_ip)vkjz&Ru1ly<`Ilzu%idg0 z=?Wo0YsIc`5-e3ceOl!+H20`GP0TLmBsl@v+|I~O`jwB298p>LDr9L^f5;V`P43?D zw{u)_M8gWCzp4HZUFtR3>t-fp8(FK_|SK#F@ z&0-W+Q2E9dO(yaCwePfVJ>SUr3-%fClicXA4?;fs|6!v~SxSWz_JRzID*8o%#-T`; zv(J4-n8WKkR>{Mn>6hFU7?gT%CStSI-Y@t0g}owkh{p9@P2#DBOsq$q1z1CEnj+*g zHF6(yaDmajHxa`oz7P`LdwNuDAsxY*F7!(Kb_(&W*2HmYGh$4oOA|JcYZv3qz)^Pj zYZVQ{;V2tW(2=Q%;Kua^k!y!FqH3M6_C{7-ZW7rCav4_el4#bm&fNaWL0*Qaa1br< zYEV5ES{`c}+0T6a`O54z*iIdg^pLb#a=V2uW)vPG%&}C3iS2HB-@P6SCL19FEgcLx z)K8^tZu%mcwDU_f7PKJG^0c6s;M4^>-J%+2W6K`f&1@r&qiQT?cubl*NBGm4VY#>U z;+hU+Wq2=jp?OgsMf;Y#2FrA)l8eTh1clbBmTrFtqv599y)}0BmZu=YPMvJcY}PM) z5$K6OO&!a{NBUt!bCAhd`3n>>eRmD2wT5a8GQ#beBpHWH@t;Rrn z_;iTTd?4`@#`jgGeJLbgkHvjWLVAL#iK>M>EIPWyH+VXm3N(uRlk}A+`z;H`YE{q< z#T_9z?6vhX(YUIL&1OKmLamiDRKR1&g<>lY529@{Ys{324JX$1| zt-XBqlDQoga6Y6by14g@T~Bckb$hb$r2{?{rNVn-6BF>u&OU1DnXyw$&F=b|1PQ&xeavvsgZG}N!B^-fK`xFVf>_S*-udfBz9M<$(DDvcsQQg9L!nF z=svt}*vCVE*iui3%}CbJf?sO~{fEHTjtvwCV}Af4)3`Dozy%@Rt+gt#4~n9b9bh@` z4Gne9w!sgiCb3!baeNO%KB-Pe&Z$@mtn7%Q@9BB&_1Y#Z>PwN{8Jjr@l>>w|NiRiS&-0;p>6WK4g${&1jmd^aGPbILERGP%8m0sm zED&d_PJ0h7KU&1ipoTKd1zbreo*JVAA!G9xc503Tj4)KuaO&Z(iChe?iC#7Q2_w-K zi@M{m$L7s*??Vsh07z$*%BkWnj=|v}>W<(mi);lI`mb_rd1tinw)yNq&mQ zadwih5u&D~XtxmXhqlqpReObH8q zdqmfk5jx7$FS2G~SP+68DyfSVCaz;XS`t3Us7ZY zsyoo`Q)otQGot5tkE*CMs!8hK+63oHNfTm&tZUI;YwfMP1gb{`Q=XhNQw}>wmy$|P zLYP913bsJB;ugf6+5GtUP5s6UYE3kVzh`Ya*R~l0tIqMw@QUGNOZ1wVMhM?Q8DXEy z(|C2~qtoG>!T{zPPg4n>S5Ks2eAXVa_TH~Rd+YcpWCMiF!rC{0;W-VhWs!-33p_@E z(n&-=;?c>hBYO(ewJQIpPl^&0uePjOa# z_n;gcY0Up14S3`zeAP=LGV_@UKn&`3>zLSq+dFvpm8`1RAvbZJRrLr32+;X{@D|Rw zF4z=oMNs$N2Jzx`%zMaK>J{SY=RN>b>VI+b;|WF&cfSn0S5#d~QHE3Oq;xP-ACr7^ z1o|ltta8XILrl&a1|Fu|h2`NIk!z|8aas5W+4O~=764w4LtLIP7~HRhnS;mUCFyou zy(v==Zw;svnLBE;Q+sZ`Ur zm8`rAh~0kL5G~i~Gm8Nx7e}-le6@k5VLesC9O#fp%kk5a;G4KRm}aq2U4wis3qECw zQMP|f2ro-MP-NQZXvR=#gsOW6BzNpsV z%#9yO5H_+INrZ+xLBOKO+eCPD-7gOn-hVR4}Y(FXzah*t@!h-U!|w>E-zH|;NiBS<7n{kP%4m(&)zUv>q8gSR_V*!- zbtiM>2Hk_)oQuB$rzRYoT}o6& z73#2kcxX}jonw*aDt@4pJ4|G_J6;J_wef8*Y(;m!rBy^Pb8Kga?fFmgIQc7m)Ngws z1hH!0pVd?@P@)oT*sVM`^5YUfY6V|Kvx^aI_mBe0qL^)9x&lDba9>z`<}+Qa%G5P{ zV92bz_cTV4a8_W}^V!$%Hz;TX6GHXI?LEa^(Xqih2;+FYrAFa(P$-m)1JpC>%v zsnledIAftQ_-Spp5=%zkJQX1LFPQ6I6qQDso@pjqkvcPPK#V1%UU=ELp-!q84_K0AWkcKciNsO7ta#>WN^Ni&PpIPK1DluLdecajo~{=PWa7o00;F%!W(1;NrJ*D;^n$O z6Ru#n;o`Ys3|q3R%>mIxFTx8J40?1GgYh@bh{N?`KM$ws_F$0bDS<=?PGvb)x{<~H z(Mt_URj-`89Y0dJ(Xs#?o}p4P_Iz1vy&LY~&Uly``X2?!r-lAbi6N`{n%2r?;p{e^uwAjQJtxU>YdW=k&(3_bJI*RVrDNh{*f}$eGh!c}p8VoMeErt1^LupuQ~BbJh+t+@V%90# zEwA%SF1u;64K^rz1%`hI1}p&br|!qwa$r*9p_E+{&65YYr3wV(9Dn8I{xg1WvPk<+ z2S@MSlbcfgQ{|eKy8`Fvobvc`*Po4=*>`C6U9t$j4D9l*F1|jnG5#>Uo1y&b0#I;oaTEXw}=8?3$MzttQ zhmbLJ4OMtaHmIOfv=->syy&7BY(caGU80-6_m8DHAZd7V#M{uXio$U#b@LuD=<1KM zPP*%Z>k(GS5V~KBS^LozmW$`&@Z{3VJdsYA?+EXJN!tMf_VC=&2M%1@5TxLtP`5eR zbstk{E{uGDo(yevlsRQTnq1^ChJdN&J9Z(5 zabIwz_lKJ>WJ%i=$rhoumy+Imh*gp)-!jp%yv~Ce;c)tLa|Im;_$#Q?OW(?48z!^( z4_Yef;_uNCPO^NY8uk`Zluf0WUc;*Msi5#RqPaFf6;RJ4LgLzO~WGEK|`4;kaf$6_l|59;= zs2(wiPKYIuo?+At{0Qu`7I7H4me?y9M0)DVYbQ8HOQwBA8j!R3%W@95A7h|OuWwsw zX*@2lFbU@RIm^U_$F8JZctijH^R$fg{{v6U#>n=+4O&Kg4mO7Wz4-syvNih06weR6$z{dV8pes|A)diw5I*bb6_X`+*ajCl=* zTtR!i;{b+tb79t5T{llpwIK_cWf7$mFgb%(;DLJOVc}u->o>w%IrbAD*&)-!E%Yf` zF@Xd6phxb_v;X}TM=Ku~QrIh0DBDtoEQTu5wi;x5696|O2a0Qh0=k9B<(IVqs6%%D z_yZuu3!3zcQ6wH1)O#fYN&AC@45%%Nt{?flweMbS)tem2pN!D z90Sz7fti>-9Hwc(TpRVR@4F6K4%6h@o{Ts;=$Zgr?fyYM{9~Wl$b*>Ds2X!vZK&W6 z1D$z!Ci>rWpCK_p)E8&GhN*paO+4QD1yVmIN6-Lc9DEYGthhhj411*FIyk-htH476 z7G^4=w-UfdDxH`GWE{wVbyfh80bKV1`7_qkP*AiETV4=*;D_tDpg*;CKcMV*;LBeE zm8v2#@wvcOhEC|yfKwnnYGlh5UgDw1gq3T~jw5k^TYaZ+l!_1AVB8D*LU~p9JPJ2T zAK}QL)-UTVDkfU>N`_90!trPKQHI$Yh7vQ_XY9{z-e#P~2y&M!3jPH`*a})pDff)0b6ps`dWh!v z3CPP;KU#H>Qe{aN6qksUXV#@y88R`?+QolIAq^FGgWOI6g3^5|ww6j{-BwQt%MjHGzeWYXSFpsM(H)oWCr|!;Z zTu3`%FUn z(#mi&b!O&dYtt-NRl;TDuBLY7xh(sUymoHRoI=dXV>i}^`f`>of8kY$L_^R}k>RO#2_ zv8iIDWVJ|i=?rJ=?a|d~Z2qaP5jm1A)`+b8QNq=pDF-1hiG`K@#{EjPx0AR_f`fH} ziuv26LF)`6ChDsaaRZd;QaBH`1pCnbi}!NpoNswrE51MltBs3Hz}~QKXOMF1yPOOL z@0%1{M@$Ndmo2pmrRQ&ldO}Jq!RJmU^(ehui*eCF>uFW$-P)~8f@K+Vh{V**MTVB7 z8N~nUwsZd7G$A8ON9eD05>v@#Dek`_2&3Ac;_$<06rj>xNE{GKSctNa{ zhlEzRB?T?z{C2&pfj;{EGm_g1p+VW!%NE94jci`Rd0##3aZOYBtGMjg#~r7sY77?> zt>~Ai{R|IYkBOi1({^4cyV;=0sDlP3EGinJOIoHgx(i#*Vtt;I%3w$8x{Y$?F&X}* z?k@K;K^5l;AC^vAaqG|d*00W%mJHk%Zno>B9`5aWGA;R%@r!YZ8i!pYIL@38@6V*I zNg16YZ`o!3`FSN-TcGo4>LV;`cUAefiK<4or_sC5vh!h~$Bsoy-)-MSm*G!=<7Tni zUd}RGO}tJnR?FkmNz&_=^3n4j2q4Q)`TvkOjQ?Ze{J$Z?h|j>p#>n(PW)3qG!~YXH z|K|}*HXTOsraFi;+SiR;)n(DNJSJPNE*q`?f#^0(Q>`{G8>4Tt(>WauM7`{Os;0F# zUMHI#gs%}oqQsU~N5$8+X3)hTiwySvl7&%B{Gp+t0YEuP)fpKHz>IvzoV2hEe8`Ms z{WBX7_$St30sf=T8R-EGCIAFmU2kDeOHE|~B!w#d$N(!C?*#862rLA!QRR16VLR(oyPyZH=#oz1zS!qXMW&gmL9O_#@$HU2?!Y3yv zfrNw4Q$hefSw#UX9{f_b*f|`3hgeyi>wneUm;uWE2&jJk2!j3!{#0-L1Ihm$5uo&suOH*JHl?Ig_qH(j zD~_*j&TdSs1L7N58DHxI$v3yGwtdh^?QL#P{`{rA`Jp4qe*V4V>l=N>IYIwPWN<}h zc41&mWO4l%wM6u;@S*;2)tP?hIVCW#GP~$bNn2Y^ad^bA^y=$U1j~5dHzzJ_ALPe{O+lX?oAAA z!{kr!ztuhHzpp*%7615Y1O~R+<~H-Y!UE7B5y1l(n;L-F(>Hkh@j1fe;9y7FWdGW{ z^YwhQ{l4L2VEwnr!CIOvOh*un;@05guW;m9RsP@1oK>Zd7HD9djLVKyVFo;ArbV9a z;SQzI38#>;ya%@Zjh^*{b}Q1=IF?Yp-1KNd$R*uT4+_!>`j?6gPo;6c8n~s7K>3kY z*5r_O*gh9YJw2%SvRvcYX^yIdX1Wsr1R&9i6qjcKLc6gVTJH651q-EoQ*-YDth>KT z(OecN+IGf$uMI6As2Qm3kUr9(RTe7pw>B(qg@_jU{xVsrl-ugH*Q54C^4p zlj2)EfJMGdOKe4C@sC=$wLh+_SYpWi+X>M#-M~JPC^$zdnlIZ}-O`4Pu`aH5o!Ojc zK+O=!RbPUBoK7@%WNM5sLbeO}(OlIbOg-yk(s4Qy`x^sS-2G-eS5mi=^4xbFw1aR$ zGqs_zmxgEe!h)>#hkbCP4J!hVgmTXak^8}A@SMNi2wfJ#0U4}`wsnj|0!}*EI6nb3 z6A5IbfC3;VvS1D6R#G{!t@AwMVi#kP$0hHgBxGs<(daYNa~EuwadN1rZ)-MOv++!e z7`PGFICEu_h=R(Fa{O$USmP;!_f6OnU%04O@2>5_J$QAm7uq+!X+lLzk>y-jp_)l` z_YB`XT*z6Hf2ee1p7H{s95_rok-%@=i*>+4J?i@!WffSPUdD`c464r6NjG%mrWEcp zk|u*z%loRsEapA{c#@V&xgVHu6MkE7JHr@GXq)rc84MHGbZg6oo8X}#B=DuXxK*+Qi!#W zNpKo%!>jSNoPxzzgw^{Zs`Gku_2H+lz?w^=B^jO2(KWPU}qwu}nXX!C4 zXS9o)&*6dExNXb}?G*V}5B(ypB!bCC{Zb1-G828-uy{9jw6`7jU*=ifbv{B#r@12{ zkp*Q1EG%1xYw#vcD0(sji5Cup(zXAjokH|G+HJs+|*P7sd2o2KZR(=y*5q)5;EsyRxDT3*g zCtcV?S$qS#N-Sa~jHbDrw!SN^92K*!H4hWZ!;YFlNv-snSxMEfFBNkZK5X8*c?*)b z{VkV2AU^~+6RL*_NkhqQ`N5k~F0A=syDwg^odR(mJg^pPZwLC2Ftt6UiNNN9OiBdU za^8G4TzE7vjh8pgBXQ;i=r(SAiONH4tJ8h=PtYjQkBwEkvQ~$An6FlK+gykr*ZV|Y zGac5?opbm?l;Oh}>^lmJ{bg6O?P;Fw3{8f+?K>X02DUQiZike=(X%%Kn}qHgl7VZs zTvZlDrdjNWZwKP6cG0k8@#sB#0=VraMJZyCz;P{Rj!QG_T4EMb<2g<*?@vZ)jIxwk zZ}KX_wCE$^sk@xf5t}xt@j21u>#yad>Gac?BN9oMr1|wQ%^5>R_TN74sB<| znLF4y>#3mB9$$=2Jre&-0otPBYYDr;$`KVzphGxr zM^1t=7O2l+9jt~*uOry<$UmM5ZYpcMCHzTI`YHhEa zbqy%ueg`W%tZ?}O`vuW$IO>JIlPd%K?7ZUWrCuAuyEa|y`PEGAtK}hYs(+)1A6j(D zxNGV-&yrRv)|gZRfSJ|bzHyu>mqbGp(cGtM+Toj#>m0GuPv{ZV$X_y7QZp7^T@Orv z`UqJ}GTA|p+!lp?{d{DMHxmYI_da)>iD^$~=}Zc2YO6s4Y@d6oH?~Vn zP@zORdaI7Fv)TQmWgV(eqx<4$5ntRvB z?IqzaKu@2Ht9(69G$ax2(5paO`ON#S!5xaVeFe8- z_UFFjip9->5J?$)q)Ume?wHcB5?lG{sMGU!C4NwdA1+Q6!;pl>@ntGW?(q_e!u#DBx^K) zwhgBkh^GSav(u+OnyWVHJ|Q{in1A6?0YVwK?+mY%XYTPu6tO01-`__{+!DiSyDd3g z?>F)%d!~%(kq-H<(6WQ?F^}rUAKY0Zw0*5B>^X{aPMep6zME_mf*Qb2pSq)k>i79J z1!>FNpaE>l&BlP4I$R=#_m9`$tWTjgCzArpCJ!Cj0<-%Pa8gA{hx7>wTOeBJtuavDl3D8CnDm&9=$0IbB0LbOCEDg(58UNOZhi+>g z+~=5YNQh=trKOBex~1~I;s!tC{^{$MNfPmCharpWcAuk^D{$u{D>+DeW;nP)M$iAD z+LGA8ZRWkbhIJya0#JUd$F@;hS3T5PrlDUp`KpcJ6Qo1=vj;#?AYxDGp=jr7_eD_< z{APb5Jyutf>He$)x<$UtB*|6oRNp~u-g7~r6G~cg-H|YBGTerxQ(ZLyDmWJU)y-lM z96ZO`?(DYk>E~8aIlyg3=C|Tn4$Bpk+5oPr&Hp5XR?hc$h+NrG5>#73w#J)dm<31- z3XyA{;r4C^3+x{a3G?DFpP{1Hw7K1KaHCHd*h&lo$-L)lnW-=PL-tvmWy2V|_=NVF zD#NnY@BW~xteGFYM)q1^BW0oTvwWSizm<=>-_B`*7Za7U=v?(6?q7ThcQTA>z%;Z< zC3RTk+JD1BS12%_hD1^_8k?d+yc9guxCzuph1{{5fb-`9gP)FtXTKL?d5#rvG3BW~Y+GX5B zgAixb`(bhS>FW}zjfb5Ln_mPH*9UB4zj(|60vuVmZZ0$4iO%M~-2@Cdn%V+Eo~ebK zD!9kVL z>xUp*9-?4i1N%j)PKkQjf*r82s#RvTT2N`pgx_&}L{qH_S1rwHn;(c{A>qQ)gB)@B zN>tKVc+G0Bmpu|7Y(yQ1g;xrno<^(Z_SSP(VX{y?NTG&UN2qn3PN`pswa90nutgQp zp%Ng*Y|IwYYp_2M#}fk|o1H_n3@Bx&gE0d>Mnem;W}e(B8jd3lWhDqhznT&FyYVuo zaEc}IDHpzPpoex_O_AC-lsmIrSq1bA(~ZirO&F3Wx8at5JJ)knOPy&2&-2qy`s@{^ zjVZl)3DZnmCm^E;U?M04#IR^e#LJY zVpRZ~0StngIv-FOnP@pEbkDPj)^d?mYpad=@18GZ5=W#%JBJ5pvM zJ=w+JQFcD+e#Z8kxCx+duUUXGn-urGA-tDpR zZ#flhBuf_KA`HvH$7U@;NDypYV!xp_BtTt%dFSTXI)pw|90=TgNQu@No(e&T+cjvR z5xwziCTKw2V*NvT-%O@FCMu}@VQ6~Y8GNoudV{_;XQ<>|mwlA#l@!}ipm;O~e`Wn( zd}hn+=;$|s;3U|vwEE0GxI=3oJ6J#4S+?xGU7jN|&qS~M{XmRJYD^=*icEs>d6Km~ zc=(pJ0$a|;$?pX1N6Da(oLuW?T#?)xa0!4a$3yO2k5{p^5^^Ec9 zzW10K3>q0~XWS!+LB*?|LxVy4fFiIzcyez&qSd=&ao+7B&xQ<0d0awFKuM*XwkeV} zEU2sHS3kgUV0K!+yLm-_inU!y47oIbECQF83ru_^_lqAqGfq$SCSz3k)oRH?^E`2A z7iTCjT&=0uU`;~9vKs`G(5Ky-18C;8mLEsennrF^L1cuv&$Y9(D)uN-R4W+1_4XLH zC1IU@psR?7J_t=tqa#`AgE8soU%Ri&RZpP{y*$z?F8ruqPL2&$2H;_HujY3zwJxIO z*By<<_>7_h1{sq~;8p5ya1QDwxq~^$IX;2dRV(_kckl=K(1?CCx)bj!pid9PBM!D( z-R41dNg|j~bHiTd3r`+Ws$R7eC^NMuD?XEwXJ~M7O#d5$2h%Y|DHKajRl;`er~p#f z+)pyhjZZ*Lh-e||`s8M58RyKy;9{ahPb1uI1*xa6lopkJRq@XxWPkvNBP7|aeV+CqWrDsHAxn7wv zR4b)$T~3SkM5t4giBfWHfI9F*xj5V-i62@&(=m7INcMJH#$6}2k?<%y*-TO4IF@A= zV@!qG%7Yd`G*Vx?2h%0@$n|lR#@IzbQLCI9z1Q7@Aks$N;2QN%+Ah2bP-OK0iUHKJ z4<94g5Es~s@mF?%w+yUI^fqE^fGmVuIF48P@X3j$Fjs`V#nCl$Naj6CoDDktEyZRA z!_P^fTPS;zOVuDFWKb{@q6c#Aq`B0jw`F#I3YSI*w4$-~?dah#i6P0ueR>>Vq@*}~ z6hTIu``;)TkJZ!~>+1~8v?L>yPt^X$i0-g2lM^2-Et7{$>Q(rCu$|cPZfM3!YdN9i z(M?(i=p&3xq%e2X{TGs1r=!gY<`rn^pgunh1WM7F{ID zq}am{4dhDCk2W0;*Z!1XZ_(*Su0&GRe=ny$N_K?pns|Cd5w(Z^ssEVxAHQ9f)>#v% zTo)iNb9DNfu?>~FfJ?`YD@F(gy`>4856)0_eW$~2EZg1pzDj?jR5uA_8LE`VXuPD4 zWv9p=Hxjpp!+=X)(l5PFCwV&-)FE}Pr9P=aGu_oU!?iAor+`$G(;w6{xtWZA*XJACZ&fNvi6D^B)vu9dC@uj$h0O(OnhBoXC!?N^bBDLGZW_;m`WwOG;f@wD?N_ z#}Af5#&0#&?W%+CL=`MCYFBm0)X-i19dm6OK7w{p1AZaq*2hA^!xP$T2))1-1*D+0 z+<2i4?Q?tMqJ9~^pYYnOvBctMhIl`Og)1%<(TjN3sZoLu>seYvFeIKT3jPYih0aNg z8lZ@2htGX@)q+bJeH?Wx52OPHzkxaUG(~AwXN+0#z>f( zaYO(E=Ag@nRsSE?)y{DkdA5_T=X5s2X#m%!@<#F#RAlSJRV2;7x0}bF8tT>I4$Xu?ap!Z&wMheX_ICjwSha* zOle!#bFDw?bG_IKZ4O&Ll0%f^tvzM)v}&;n))__ia293Z_dk-m)N9ruBWRm3*qZ`8 zt7K9w9;SEtDH0o2X2KGlvh8qfmevsSIaW=GG#=Tlf171<`jQ|cq!4K}Dw$j-N+2~> zt3iWNB(i~e>?OkJN1_;^*rtTcT(}h`NnaJ~%G11jZ4*h{3}QRH%3$qqx_a1t*Fk~U zpaW#G7p=qWqURBRPXgJ;-yk0uNNajrFmhqT(J2`wro~n{%B_xlY{sd2&~mgU6QFd6 zs>txaoV1u1&`8EzIyRHIfo$$B+~i+n15&uf4X$vK4lZ6!pV&yLXrCecIZ0jm0s{#d zd6d(I$?-U9jnr}K-YYjX0;kT+-PSU^-=Q!-x1`88OqeQ!Id3k>w43tbAAzEXFN1hR zOc()VY}g2WPIv5M*Bt`BDIN2s$0rpU%BxZL2zx~n^|QlGMGm5dbTyUTC$mv)p&?*K z7{l~+wP*!21#eXVuX6z22l=ox0XEKwmYc)}_>k`gNXvbq<|yyxvA23k7X5f2Umt*( zj?hRrOu$~()s!!6#+1ySc&8{k@-_V7H-%n=oTpSIYI=p!F?IXnCOD_}+xO%AUZKDE zrJvyC?yP3quq|vE-~aJ5;2=$o2h0$yOkq8mzC&={6blSViEFqrB9!7wiwN!pbX!}$ z4V+|22?r6BhNP>q z*TKWXh{rD0U}LLTSWwUf!a-=JE({GIlc?W%AV~aK7%@l{_hZ^-um72~ zcmx{!fO3kb`*VfP!WD&LL^4{{xZ=8?-a;<)e^O9RLzfP5b8brI;P)PmkB{a=Qo>$$ zooCBZl~~xj?ZU?L2%dR5dY3`g!TDH$r$C6sh=Bla%Bfe#!#?#)*PoNo#_paUoM@{p zrk{MKTHdJf^M~=0qz;HhZ_BW6p6PX;TIYpR&5+fc3`dy%9sd1@w^H2N7maqJ2j=x- zY{$!J;sVy2G-I*=NTp9zL{<{er;v#jsuV+zwCeXjKR z)T09XspLD|jnRR2%L3`{)5uWDe`Q_emn`v$H&L=c`91@J*vjM$3_6+lD86aTNKds0VBEH8lM&w@#uT;rDGI+_M^c<3YxQukQB>P&qVTkKCq2L;)k;ALS z98*vEfudAy(+734*0O2?q_i8ntePA>>Xu4fDDN>|BL zG{t(j!C1v1>4b#%U?1FlBc=PIys0te&v{Gm5yK{}&VI(j0>3~jfV9o0cVo~PkwIZ$ z3Wss^uum5vIN_8o8=kC1)Y=kd`>w)JdCn|3%V^5qw?vHFt7vT{pn!BGKR;*)+jeoz2|+b~WT!DaWd9&0*tk!Tps?TQ zRxiEIvtq%5V=gtFY9Joa__(`G)N|>1~JzjuZsvAOb-BV$P#-B6%EgtFB5K6|~VPWcv>Ra>+P7$M# z5f9QZo{UxI{n90UFbJO48a*@Q>K*(lZ%hKvj={Y^Et$h50N;Ar0=$i7p%y8AASSuM znH2svbwBKV7H>dVD%3)!yvbD^NZTyGgUHYM)+}mil<2^j4s=oCagsmkiR#L+WHjUR zl0Cx#0zn~qBi9$ZP;or(i)+3^pL%6}Ur0Q8)z)BZznn>l_QJT}99*UrA+b^A+Tir2 z24$@lXa{bk;qng_c4wNUQxJx}#h8gVvV`F3>GIWM1y=mz(QnsV%V+1D6rYm0!Kd^I`X9A?~5!f?-? zCsJyAL-rZF#?R_}-_gfepcCOMj=lb7tX9ZRe<8RiKFC3O?~yg9(t&0)Nub^eg>J^M zjLdahqwsp zZo@X$2Mo_Gg8v*O3LsF7U&w2^)|N`E^W4oLo#u^KN^n5ncvk0?-ua%n$WKSr1nG>F z2Z#|)yFwlPX+3G>MBkyha@eMDg5zQiWTFzXo1BguPfT+ntuK=90Sw#k`#*Y--gI22 z3p<5T{aH*(i;|Z+rg%iR$!86E4~@Ar==zQ%A0gBK@Bj;1M^l#yvKnkL~=S8`gr!lMqn7ON(;=2JY^FphX3da=lAp=py!^`zL>qs1dM zug{B=p7oJrbG<9On-F6s*=1bZ_W|jcE_!#aT&mZ7VQn6&16E_a%WL2!HJ;Cw{Yx3r z1)YlkFvh(iw%UoTkMs8>;(Vu@Rrt-}Scs?ud;6d2512|Q{23~PW@AELtZ;YGzd3%a!Z);yZbxk_XU_rZbRZzTH$W2&P>EC_jPz=LbNR&v}crYY)*B5bpdCd87BjU<_Fm?|+>T1BlhnYr47#B zJ=Zcz+2{%lr_&0gR3?zmXTcCsk|SNsdV`?-sF6z{kIj56;wj6QAQuvqP~ju7 zn_Vci^^2fcg=2V!)zi+k_Me#;zKE1+U5QEhy{@BEQIu^5`H!C+Bq*`i$nj1VwA~4u zfQkKUaB8{-l53M~VAn4STp4yQIb{WwEIm+zBpG z{aFlb5C5J8o02cONWw=LiqBvZ7Kw716*%I*e%$P|9oqbFT%KFP>NtAiKK?tPtn)K> zlQ}AZ3mM#lb7iKq6gbjQ&B%x`xq3PsD6i$Sp-a~%Jau@jtX;*rW^b$<57{ojdq5^z z_v-8KOB;+|3EJd#vq<4izarfJmRg#D>G9OEMxx>vD8l+5(R;1Pn(8%gZZWcyrg8Ra zM_=HXjF%RL|D}(Vh$r4~)x9IM{zJuK)L|u3p1g&}Za7~HbbH|LiaesM3R$Ku9P1?4 zC#w%ahI?!8ty=Mbu9SeA)DHTH*6_n^gKf;sKK4UNp?1%u;Jj{OIf!oK&4zNDxj1V7 zQ^7^__nSLEr24+jW52&Px0n0e+QbEsyVV74AG4(ZKW9o% ze3;K3;&J~6Ad2y6pFxD`#HA$NUvn_a{ROIs1Y9PQAeR!f5;xiHNh3XdFM93&Ny)g%iW@$l$69i3L8G zSW0~@m0&FDocD%v_&*BK$sN~k^=>BjA9q;!r{ z)z;*d9tON6_VXNfgqLg)6{3Md}1fW^GVr78~CQ}BtpM_;f*N~D22A)x&G8itW{cujDR zWBSo0?L_{AY;R^J5I{3WIM_|zW#({J>9ileg#E1sG?6YQJK7i#_H3}%;Z@(9KAtZ3 zx&cjc2^cB;0{vr8ybg3y38z1B7@#4{kyv4AbUHx6>AseDq7La9JG>TSe97>@zVAiB z+Q)IBH$z0_AZ;gYiYrk<*IT;~eM*G>Bx;T3O8Fs^9*w_@PYkm&xS8>iLC;LXhL`+y z2$FUXk)Z68=|W6+0{N`AHCUjuA~S5QI9%#HPKBMB>cqn3!*vLStA~>7@pPU=*}v{@ zOyj#YhRx%A+k`e#4L%G1sZrcSp7c5J_1!A4d~LgH{Bx#4;aahN4eWShe?}~wZnV#3 z_EYbCQ%k_&^`R8NRCPh)4cT}6*Q;FZJ?p#(Gk95Z)rs*}guera-B|m0315?WPw^&p zWVhN+weXzE$ji%>f%e-gG4VpI`XSZ&B!=TB!>t%i zI+jW-HK!$ReO>LG4rxK@3G}Jsa}o@LcX7*HEzd$%2>bGFzXvWQkA4c1pfftak5#r6 zM>Diw94aM&&;uk{$p2|7vKV`45pGJ*Ph1oW3@^z zb%=+l(MqKa(sCOtwZER{xhF-4fvAIde$Xxt^>)`=_wCnh16{<`KvI`P)bB$fg>pl$ z@T=OgQ)_@Ci}MIFrY8-A3HIly8jQ|*oZIqi4k0BF-5GBwJat3YEUPw%otiJm*%rO! z1!?V-^PG|5xuPiI&QZ$3;f}~(u${kP9FFY9G@CI;aHjAvX?PsQttc`_6zd7Hv`9_Y z-vK9m_gs5oLAgl_HeFj4w8!Ndrp5SE=(Slf#b9-fiheT?K(QA}e7gLy>)w8p-J!N}4JZ z(|N}lHk8=iXHEwcMC%Y68`o zn{tU-N*WwcxTEqygK~E+qET{2A?#ilQ$4BzZ?t*xn1a|*sa~}0s|2LYPk)uI%JO=Hkpk&iOrBHWF_*i*()MA-U zML{=4cL9u_mBCU4op$%EjD+lTk7b!&?vI9TtM{)*K|KI>1f{yE+`yqQ>|y2peQ->3ntKA z@){Q=Gqx_PpGxu$t;Y~l65+&1yh-fQeLb0i#iSyA0wqLNN2M9qatx7&5QuEYwlKOyv~PPGZ6Rh8>03&GZt0 z4?e`n_mVzJ!5u}ihf|kio`jr<2)r~=W0dRYV;iQ;w+;Z9EXTO>JdresBDR!8jIpZCMK4b&iaJ3RAb=@?ZTA6O*UDhX#$IlukT>HO zuA8;(G@;+@yYK$j{of^N)4Jeb>Zi1=T2bdlW#urnwp{PP^Zn<3=&;NxSnR6?OAT&l z&XD*PWVT_V_N*rg0|B|P($Ir+CCfeFWD(P#z*yZ?m*q2^Kx%OuZEmEw{L+*K$(e9d zA)`lmKp~xK-j;QLJc+`Vx@}a(r9f6{s7za8dX!Ls`-GlNEqR%mw(%RrsQL$)Y~HG|jNX z#EV1yv+@el{l>=}ssdD|j;s=+sj;!_hltgf5_m*$b)N;FSiXwj7=ePVa**mQ-7l%^ zIIM`X-CvIgj8b~he3pz(sA5OEe>iN9qF1&7bcg<&TydQb8;&Sh5aCTo8vZZE6fWsH z`+OOJItT)i_1=CS71&S%TjoW*C-^L!4e7n$Y<7A)n4&?6h-Rv;%%N4?#pj>&yz2zO za0?ZL#31hyOoamzvB~MH1$Hl9F*+|Qz7@YTjg2t#6_B>d)UJQEW3A@>jR!Jvzu4dr*X^^v@mIaGT zDnm+@67Y`~JGuT@$c&bm?mM}V|K;+)`lHKpLQIoC;agnKD;66b)3U*_y0t0M8vkCh zw+c__ONz?-Vxo+d_F*o|WrYS)Ap!&x_9z7(VhyzncqgM9Q@N_SWPlUCa_+XH&(=$f zEYHdLv(pFX_2P~J*VT^>!VB!CAcuKtRU`>=gn^R=jVu?$nkjE2+jaa7Ne*!CQC**b zQDV6BISLVneXmKOGLNo-F~Dkn(F;jR@`=75fl-(nvEu=f5pMO(Sws-0T2Qj9CyeA$ z9BkiI9q;YK_0eJhyD4z#_9i6^N%HO5P^-5eEyI^3s z>Vo(TR$;^$1ifRZGsJT}9N#Y#q?zbSgQk?~yX$4sUV}u1+@zqH$yhJ?K`yNDj}|8% z6;UwWQzcSaqcQwCY@gk!$bf4V%wbbsf6-v0eP##>e)Sa#M<8qKbngrgj7A_VB36U6 z5nTd&T+88v@!Q50=rD3MFaKVWU*526@bd~jPde;=pXXOllokj#z;l!_l)UJ3^5L8R z5_ZFOS^Q?CtDES=cnW$8Oisy;-8mqa4I{>L3wwF5$)04k3sL1Huos3nDyo*xFG#>J z$nw%^)k!V-ySNZctfKdV;u}2FfM0m#R^7&8EbrPm-gY8>@3?$E(LIS*n$gaeId&MVP;xK` zM;(`lyGBKzRu9gBJ^>4F)lz*@(Okk4Yi&>q*UYDpiuVv06{Npc;B;t85^1p`J67uP zRNuMK=@7ch_7*+Kmrvvwt7NA5SkIu@6wJ6hvM2V%P)N(@8650Z!`&ni-nMyhqY1&d zcM4Y@W3hn2r~UUDFJeQL&>8_euFdZ+`2z8q`-P=mRsD?r8P9p6dh=RVe}fjZ9_YBe z{(!X98I)=^*&s6#gifeaDt9ExZpqdcj^5;Yk=SS-7KL4=?59jLgmK6h3Fctw?O3Sw z7ayzk5d%|yd^N8fwc)DEp5}uRUZ2r--j2&3slm2zUZG)vmtOHn_DlPFj!;hv;5y&W zcK>xaPACVB$A(L%J4rC5)<&eZEDY+oIh6Pi<}Fmr7-8ZEW%Rks>fu4+@Z?uf%h#%z zNn}|dvSUo(3!wK<2ej_4BZeazBnb^do@Fvshh1+B2h;z=e;3Uc5F5F&T_np6a>j#A%u?@YqutCZS7}?)*dme+9^rnK1Dj~9VO;UQW zZfbjT!1bR?j?-leuM8+#fy1$cKzsGwn~T}l9R%5(bIHq6r#-_zE=S8j$a1BMBpHI% zPZ@g};V$;kf$xSFG>Qq> z=Q~?fAw8&TnI-0z0PgW^w%W`2%n-xrv0=FlBIQ$g6HLhHJ|Tz&0;-cmrwMzugVs7qk~A;E&HAAZ+jI>Ye@%HN5J1S^cQkY_ZDG z`C1+WTpZ^b;&%4YA=tj&#?c-G!1chzr4^v11wj9AX(3P?fdP8(=NL2+z=zZK0|0@Y z^J@caa|7Vf(%MoJ@Q-ectif7ZodN1Mn*L&goO1>C%afO5^Y3jeY(QJufFry-J|;dp zz8%{?p`5)h6$1wVa9t z09Ho&Z5rU+4*IPlSh>CRl^OxNf1`5*{zg^*M*UWGetaW4=sP$8_sd(s`=bt{K@A;# zPqC4v$1v^B@X@a?o$M{*3*7oW1E&AFkHY{6{U_q*!Npw>kVODUif&4ZDgz&e%|C?+ zZ65&OBuM|l7u(Kf{ZkZ>l^5IlqxzgZiO5-Ae(o|Ff$Fd$bSw1dwiL|J_8a?VIgO*!XKK zF3Iuv-tcJu0KD$z)&{Wk1qAd*V6)r*BVF5Ent=s+df$5CYx>Um>ybeShabkWvfbR! zB$?(dVgSM;QDb}sOmVRuR*ZAW#C9-!-)evaY#xKNZg3FyEtS$ekNL0WzAR~dqOWmL z9f0FbMT5kFvTXp{Gl>C7h$(xbX!a3>iTp_mly{#paO4ytI z-GgPa2E_mbddogFxq4Slmx^RYPOA?!Z5kcCF)GI%&$1dvH+nr76<1ASt9lks1ie?Y zj{`hGeI0pFK#QFqdiE_nBiNLyCF&XNG-FDf3R}Ekwsv!ZilTKYvl1H}|Obub$iekX~_PPma zMikAZ+&38Gf5Y35osu9o8hk}%S@Hy8wuXr>n8yR{UCdBn{rhT8tA-8)*~tu=h#l9d zpR-p6f=Ut_JF(w~Pn$ob(T!i(Rj7@~I*H;H^{dP2T6eVaJ6BMfkPMq7I$(o}Gmm&zBs0XhP z1fX6ZO2XKtXrTu=2NbRKx$OQN`qSO?2j1Oa^pY51VKI=Dk$NC@RxJ_h(nrH_g17n? z5P1#WR3erV^zs=wz7J1XncJNC#=j5QZWn!b|TO}Y4UV3&gs0` z=`G&;%I#JiOBG)?NS<98{s3Ge6Ue4i@{U+0KXtz>1~6LRt!`tz<92ZBku=%#;JhIW zHdcwy>JvHrO^pd|B#2&jhFn3{*{pCQoc!O92~!F*wn^ftC&`6uhFGgH^YR9@$5+&5 zvwa^T^As)evlIgz=-l~Ly${otOd5cng7*51PF6K#?9Od*)*`DQsd76+dcN?Vu( zCH}pXSu}lsa6L679Zl$YoCZ{W6BG+=#OH}lPKx1=J0sp7qma6gF5}xoX{4mb-+XcL zrGT))DhDG~qlVEwFGHClxaW{DNE+I?tb5NE4AxfkOZOFUbmVOztJ9eSRxxP+S z7bj_!A^1I-h=An&Q3-0+Qc=YE9dmB|4EKqmG^bG#Kfasw#pU=f7Uof&ywNqRXUFj8(@3= z8Q0A{LBgGod-Z~4F!d2qVoe?k0GbO10?D)}MayQDIO3|)(0VCy3=(&gL%F%20LEt| z64yMwsO}upAG=m+;Jt)>);$T{eBL;#pW?l)BweD_CCpGtNiz|2QTyzUvWbq#dYFB3 z!5eIXJq+cLwT|3qe;7K>boo>4Zr#HnhfDH9@kH(k?0rB7!!(b)gphMN(r6NV@-30| zPqVRBH|^W4MS2JlJN(_y-LCEA(xgpt$EOA(MQwKt0H%x+z&#u>=)l(>)rsU!j0ReE z8f@mV&MQx(45^i?bWsUM z=UeM54q8Y8*nf^lfNVfMZE0@kfY8>U*|vsE!K=@Bx$ubA?@0u&)HJB zK#VypaD~!!k3z(I#@Ot6H8VX1CL|jLR>!4Xdzn+tK6a}XI&hR!GPCZU}v+4NpZG=fthQ|7-9 zm^ARQNNC$oW9Y+uQ2vz{TPdtSui>GEG;nZCVX z(1;7(=cOxs7c782op+U}!i_p4+9am!0~4@;2*c5RQW)Nd`)S1^37%7;_~8DEWE0|41o7#$O^XK`h=Ra0glOa@Axm^4054kI;J0q(A*s zMjL@(A6VYW))LWD%J+}$eJ#@&o_9rsI@t$aAmw5I?m?5i=M&Dsa%ON zwFaTU^KbI$p-iPdOj2_tpX8Aq(Rbi9HdXvxXwi6)HCoy2od?m3QxxUtEjE1+Dh+Rs z+tqDeWW-cHDJXUTV8k@7duP{|UABe>-CaDvma7;S~i&6$-CA2+rUF zz82jB4Ts%7sQeEHz<3e*Hp(^mRlNX#_XYaWYj}3E=kFAeUH?ofFl&E1YUOc6`HaeB z%sY~urLEI7b9wNUs5)@|l*olbOEEO6faIJ^lZ__0u*pl1{aaNtr%5z6Tzuxh;V#iD zkWlSjOlpL#D{%$eDc*I*O@^Na_+lL}Ld4rJ{_@#G9WhroN}aNP&$-#C5S@>er$?7> zcnPuTiawQ#djx~r!e-e|c3T$SZA%haT$S>&=^Oz2D=@UeuN+aC1QNs|%~z%}tXdPI zyzfGP6Lxd+Qzz3qmO7SK`Xv}jK4IVAB%1H5#`qnVIgfi+l2o`DCIoK}8AkoJ4Em9xPp@W~#zd5e#?h;LcnFd2!0AU+ zjWxp3n5)GC-3^hoGmK{qR+2OSs;x_q0r*{QBM+tU&M{z}1m`S+#TeCSdh5MTB9|KI zYn*;Id?r1wURn+{3UP6lipa0h9qXK_i-XQw)q`qA=cZmh#MQ#HI_8u;PrTYA=A6u+29!_=3Fuzsp( zP7fHR&GlN)qE!RgUYp5mt4I9Bm0J6%@_MgSV5slb_-zZES+oId=}1zkD+8Ykyeve? z98i`C`;{KznEc+I)VYewG~|Ix7Fx7_uGC8NBl@@T6VMQx4eV0@k|hE#IFs3eYT?`% zXqrIgBqq>zdtxzuF_rhDoOo&XT;M5pf||CzcQX$WWB`kL!=_;J9>}>*CF?>XA7OyA zr|RwUtQ^4=8)Jx+n^_y!oo7}E!AWk>Q!uUA{!G*8R0gzqRAW zcw!8J(MAU3wq##4KFVnNsMGE2L0K+g&5d=hFK%@?xe#Q7y-`>l$7@wrLSMl;69c3|!d0gt3xKzTxQh>~&P^O3fomF1yF`br@izODD3H6>OCo3=d%{A&zVn8j+7 zjhN!rDz-~eMV}m+W`XF)3PVpKH$-d+jiA)_(Untn0(W=+D)giW!)r8?V|sK*qABaj zB!;`1E?#)3y=+Dt>9iE|^_Kc3ACmH@_lg%

~uhQ8oi+uEu7bxgsM(8@NzV_`si0!k;A@Gy8 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

8l2%>KOe` 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 E0`FHIL;wH) literal 0 HcmV?d00001 diff --git a/AOS-accepted/images/reduction.tex b/AOS-accepted/images/reduction.tex new file mode 100644 index 0000000..4d0be77 --- /dev/null +++ b/AOS-accepted/images/reduction.tex @@ -0,0 +1,60 @@ +\documentclass{standalone} + +\usepackage[T1]{fontenc} +\usepackage{tikz} +\usepackage{amsmath,amssymb} + +% matrices +\newcommand*{\mat}[1]{\boldsymbol{#1}} +% tensors (special case for lower case caligraphic letters) +\newcommand*{\ten}[1]{ + \ifnum\pdfstrcmp{#1}{`}=1 % lowercase argument + \mathfrak{#1} + \else % uppercase argument + \mathcal{#1} + \fi +} +% matrix transpose +\renewcommand*{\t}[1]{{#1^{T}}} +% Expected Value +\newcommand{\E}{\operatorname{\mathbb{E}}} + + +\begin{document} +\begin{tikzpicture}[scale = 1.2, line width = 1pt] + + \def\rect#1#2#3{ + \draw (0, 0, 0) -- (#1, 0, 0) -- (#1, #2, 0) -- (0, #2, 0) -- cycle; + + \draw[ ] (#1, 0, -#3) -- (#1, #2, -#3) -- (0, #2, -#3); + \draw[dashed] (#1, 0, -#3) -- (0, 0, -#3) -- (0, #2, -#3); + + \draw[dashed] (0, 0, 0) -- (0, 0, -#3); + \draw[ ] (0, #2, 0) -- (0, #2, -#3); + \draw[ ] (#1, 0, 0) -- (#1, 0, -#3); + \draw[ ] (#1, #2, 0) -- (#1, #2, -#3); + } + + \begin{scope}[yshift = 1cm, line width = 1pt] + \rect{1.5}{1}{2} + \node[font = \boldmath] at (1, 0.5) {$\ten{R}(\ten{X})$}; + \end{scope} + \rect{3}{2}{4} + \node at (2, 0.5) {$\ten{X} - \E\ten{X}$}; + + \draw[lightgray, line width = 0.7pt] (-2.1, 2) arc (180:270:2); + \draw[fill = lightgray, fill opacity = 0.7] (-2.1, 1) rectangle +(2, 1) + node [pos = 0.5] {$\t{\mat{\beta}_1}$}; + + \draw[lightgray, line width = 0.7pt, domain = 0:1, smooth, variable = \t] + plot ({0}, {2.1 + 4 * cos(90 * \t)}, {-4 * sin(90 * \t)}); + \draw[fill = lightgray, fill opacity = 0.7] + (0, 2.1, 0) -- (0, 2.1, -2) -- (0, 6.1, -2) -- (0, 6.1, 0) -- cycle; + \node[opacity = 0.7, cm={0.66, 0.66, 0, 1, (0, 0)}] + at (0, 5.3, -1.1) {$\t{\mat{\beta}_3}$}; + + \draw[lightgray, line width = 0.7pt] (0, 5.1) arc (90:0:3); + \draw[fill = lightgray, fill opacity = 0.7] (0, 2.1) rectangle +(1.5, 3) + node [pos = 0.5] {$\t{\mat{\beta}_2}$}; +\end{tikzpicture} +\end{document} diff --git a/AOS-accepted/imsart-number.bst b/AOS-accepted/imsart-number.bst deleted file mode 100644 index 5f24030..0000000 --- a/AOS-accepted/imsart-number.bst +++ /dev/null @@ -1,2331 +0,0 @@ -%% This is file `imsart-number.bst' -%% -%% -%% You are free to use this style file as you see fit, provided -%% that you do not make changes to the file. -%% If you DO make changes, you are required to rename this file. -%% -%% It may be distributed under the terms of the LaTeX Project Public -%% License, as described in lppl.txt in the base LaTeX distribution. -%% Either version 1.0 or, at your option, any later version. -%% -%% TeX programming: Linas Stonys, VTeX, Lithuania, lstonys@vtex.lt -%% -%% This bibtex style produces structured bibliography (.bbl) file which could be -%% converted back into the database (.bib) format. -%% bibtex program must be invoked with the maximum allocation of memory (-w switch) -%% -%% This bibtex style could be used only with the imsart package -%% starting with version from 2009/08/13 - -%% 2010-02-01 - splited inits "A.D." -> "A. D." and "A.{\,}D." -> "A. D." -%% 2010-03-19 - fixed sorting. -%% 2011-01-07 - inserted options: sort, nameyear, alpha, number. -%% 2013-01-28 - added: arxiv, mrnumber. Changed tags. - -ENTRY - { address - author - arxiv - booktitle - bpt_note - bpt_ok - chapter - doi - edition - editor - howpublished - institution - isbn - journal - key - month - mrnumber - note - number - organization - pages - publisher - school - series - src - sortkey - title - type - volume - year - url - id - options - } - {} - { label extra.label sort.label short.list } - -INTEGERS { output.state before.all mid.sentence after.sentence - after.block between.elements } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := - #5 'between.elements := -} - -STRINGS { s t tmp1 tmp2 tmp3 tmp4 tmp5} -STRINGS { longest.label last.label list.string temp.str default.list} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { " " * write$ newline$} - { output.state after.block = - { add.period$ write$ - newline$ - % "\newblock " write$ - } - { output.state between.elements = - { ", " * write$ newline$} - { output.state before.all = - 'write$ - { add.period$ " " * write$ newline$} - if$ - } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - {output.nonnull} - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - {output.nonnull} - if$ -} - - - -FUNCTION {insert.comma} -{ output.state before.all = - 'skip$ - { between.elements 'output.state := } - if$ -} -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state :=} - if$ - } - if$ -} - - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -STRINGS { v l f j b ff} -INTEGERS { nameptr namesleft numnames bother} -INTEGERS {str.length count return save.num1 save.num2 save.num3 save.num4 int done} -FUNCTION {is.in.list}{ - 'f := - %%%% issisaugoju originalius "s" ir "t" - s 'j := - f 's := - t 'f := - list.string text.length$ 'str.length := - list.string 't := -% s text.length$ 'slen := - int 'save.num1 := - count 'save.num2 := - #1 'int := - #1 'count := - #0 'return := - - { count str.length = not - #0 str.length = not - and - } - { - count #1 + 'count := - t int #1 substring$ "," = - { - t #1 int substring$ s "," * = - { - #1 'return := - str.length 'count := - } - 'skip$ - if$ - - int #1 + 'int := - t int global.max$ substring$ 't := - #0 'int := - } - 'skip$ - if$ - int #1 + 'int := -% "count=" count int.to.str$ * " slen=" * str.length int.to.str$ * top$ - } - while$ - - save.num1 'int := - save.num2 'count := - - #0 return = - { s t = - {#1 'return :=} - 'skip$ - if$ - } - 'skip$ - if$ - %%%% grazinu originalius "s" ir "t" - j 's := - f 't := - - return -} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% formating bbl -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -FUNCTION {make.tag} -{ 't := - duplicate$ empty$ - { pop$ "" } - { bother #0 = - { t "volume" = - {"\textbf{" swap$ * "}" * } - 'skip$ - if$ - } - { "\b" t * "{" * swap$ * "}" * } - if$ - } - if$ -} - -INTEGERS {sk} -FUNCTION {is.num} -{ chr.to.int$ - duplicate$ "0" chr.to.int$ < not - swap$ "9" chr.to.int$ > not and -} - -FUNCTION {byear} -{ duplicate$ empty$ - { pop$ "" } - {'t := - t text.length$ 'sk := - #5 sk = - {t #1 #4 substring$ 's := - t #5 #1 substring$ 'longest.label := - longest.label is.num not - {"\byear{" s * "}" * longest.label * } - {"\byear{" t * "}" * } - if$ - } - {t "year" make.tag - "type=nameyear" is.in.list - {extra.label *} - 'skip$ - if$ - } - if$ - } - if$ -} - - - -FUNCTION {format.address} -{address empty$ - { "" } - {address "address" make.tag } - if$ -} - -FUNCTION {format.organization} -{organization empty$ - { "" } - {organization "publisher" make.tag} - if$ -} - -FUNCTION {format.org} -{organization empty$ - { "" } - {organization "organization" make.tag add.period$} - if$ -} - - - - -FUNCTION {format.pub.address} -{ publisher empty$ - { "" } - { publisher "publisher" make.tag - address empty$ - 'skip$ - {", " * format.address * add.period$} - if$ - } - if$ -} - -FUNCTION {mk.tag} -{ 'temp.str := - duplicate$ empty$ - { pop$ "" } - { - b "nothing" = - 'skip$ - {"\b" temp.str * "{" * swap$ * "}" * } - if$ - } - if$ -} - -FUNCTION {space.after.dot} -{'t := - "" 'l := - "" 's := - { t empty$ not } - { t #1 #1 substring$ 's := - l s * 'l := - s "." = - { t #2 #1 substring$ " " = - 'skip$ - { - l " " * 'l := - t #2 #4 substring$ "{\,}" = - { - t #5 global.max$ substring$ 't := - } - 'skip$ - if$ - } - if$ - } - 'skip$ - - if$ - t #2 global.max$ substring$ 't := - } - while$ - l -} - -FUNCTION {format.author.editor} -{ 'b := - - b "editor" = - b "beditor" = - b "editor2" = - or or - {editor space.after.dot 's :=} - {author space.after.dot 's :=} - if$ - - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { - s nameptr "{vv}" format.name$ "particle" mk.tag 'v := - s nameptr "{ll}" format.name$ "snm" mk.tag 'l := - s nameptr "{f.}" format.name$ "inits" mk.tag 'f := - s nameptr "{ff}" format.name$ "fnm" mk.tag 'ff := - s nameptr "{jj}" format.name$ "suffix" mk.tag 'j := - - j empty$ - {"" 'j :=} - {" " j * 'j :=} - if$ - - v empty$ - {"" 'v :=} - {v " " * 'v :=} - if$ - - l "\bsnm{others}" = - { "et~al." "etal" make.tag * } - { - b "editor2" = - {"\beditor{" * ff * f * - ff "" = f "" = and - 'skip$ - {"~" * } - if$ - v * l * j * "}" * "" 't := - } - 'skip$ - if$ - - b "author" = - b "editor" = - or - {"\b" * b * "{" * v * l * - ff "" = f "" = and - 'skip$ - {",~" * } - if$ - ff * f * j * "}" * "" 't :=} - 'skip$ - if$ - - } - if$ - - namesleft #0 > - { namesleft #1 > - { namesleft #2 = - { s numnames "{ll}" format.name$ "others" = - {" " * t * } - {" \AND " * t * } - if$ - } - {", " * t * } - if$ - } - {""} - if$ - } - 't - - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - - -FUNCTION {format.editors} -{ editor empty$ - {""} - { - bother #0 = - {author empty$ - {"editor"} - {"nothing"} - if$ - } - {"editor"} - if$ - format.author.editor - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - } - if$ -} - -FUNCTION {format.authors} -{ author empty$ - {""} - {"author" format.author.editor} - if$ -} - -FUNCTION {make.editors} -{ editor empty$ - { "" } - { "(" - - bother #0 = - {author empty$ - {"editor"} - {"nothing"} - if$ - } - {"editor2"} - if$ - format.author.editor - * - editor num.names$ #1 > - { ", eds.)" * } - { ", ed.)" * } - if$ - } - if$ -} - - - -FUNCTION {cite.author.editor} -{ 's := - - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #3 > - { pop$ " et~al." * } - { #3 = - { s #3 "{vv~}{ll}{ jj}{ f}" format.name$ "others" = - { " et~al." * } - { ", " * s #2 "{vv~}{ll}" format.name$ * - " and " * s #3 "{vv~}{ll}" format.name$ * - } - if$ - } - {s num.names$ #2 = - {s #2 "{vv~}{ll}{ jj}{ f}" format.name$ "others" = - { " et~al." * } - { " and " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - 'skip$ - if$ - } - if$ - } - if$ -} - - -FUNCTION {check.auth.edit.org} -{author empty$ - { - editor empty$ - { - organization empty$ - {""} - {organization} - if$ - } - {editor cite.author.editor} - if$ - } - {author cite.author.editor} - if$ -} - -FUNCTION {check.year} -{year empty$ - {""} - {year extra.label * - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem" - "type=nameyear" is.in.list - { - "[\protect\citeauthoryear{" * write$ - check.auth.edit.org write$ - "}{" write$ - check.year write$ - "}]" - } - 'skip$ - if$ - "type=alpha" is.in.list - { - "[" * write$ - label write$ - "]" - } - 'skip$ - if$ - - "{" * write$ - cite$ write$ - "}" write$ - newline$ - "" before.all 'output.state := -} - -INTEGERS { multiresult char.num k } - - -FUNCTION {string.to.integer} -{ 't := - t text.length$ 'k := - #1 'char.num := - { t char.num #1 substring$ 's := - s is.num - s "." = - or - char.num k = not - and - } - {char.num #1 + 'char.num :=} - while$ - char.num #1 - 'char.num := - t #1 char.num substring$ -} - -FUNCTION {check.mrnumber} -{mrnumber 't := - "" - { t empty$ not } - { t #1 #2 substring$ "\#" = - { t #1 #2 substring$ * - t #2 global.max$ substring$ 't := - } - { - t #1 #1 substring$ "#" = - { "\#" * - t #2 global.max$ substring$ 't := - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - if$ - } - while$ -} - - -FUNCTION {remove.braces} -{'t := - "" - { t empty$ not } - { t #1 #1 substring$ "{" = - t #1 #1 substring$ "}" = - or - { - t #2 global.max$ substring$ 't := - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.mrnumber} -{ mrnumber empty$ - { "" } - { bother #0 = - {check.mrnumber} - {"\bmrnumber{" check.mrnumber * "}" * } - if$ - } - if$ -} - -INTEGERS { found } -FUNCTION {cut.info} -{ 't := - #0 'found := - "" 's := - "" 'v := - { t empty$ not } - { - t #1 #5 substring$ "info:" = - { - t #6 global.max$ substring$ 't := - #1 'found := - "}" 'v := - } - 'skip$ - if$ - - t #1 #1 substring$ "/" = - #1 found = - and - { - t #2 global.max$ substring$ 't := - s "={" * 's := - #0 'found := - - } - 'skip$ - if$ - - t #1 #2 substring$ ", " = - v "}" = - and - { - t #2 global.max$ substring$ 't := - s "}," * 's := - } - 'skip$ - if$ - s t #1 #1 substring$ * 's := - t #2 global.max$ substring$ 't := - } - while$ -s v * -} - -FUNCTION {format.id} -{ id empty$ - { "" } - { bother #0 = - { "" } - {"\bid{" id cut.info * "}" * } - if$ - } - if$ -} - -FUNCTION {format.journal} -{ journal empty$ - { "" } - { bother #0 = - {journal "t" change.case$} - {"\bjournal{" journal * "}" * } - if$ - } - if$ -} -FUNCTION {title.sep} -{ type$ "article" = - type$ "incollection" = - type$ "inproceedings" = - type$ "booklet" = - type$ "unpublished" = - or or or or - 'add.period$ - 'skip$ - if$ - - type$ "inbook" = - type$ "manual" = - or - edition empty$ not - and - {"," *} - { - edition empty$ - series empty$ not - and - 'add.period$ - 'skip$ - if$ - } - if$ - - type$ "book" = - { - edition empty$ not - series empty$ not - and - {"," *} - { - edition empty$ - series empty$ not - and - 'add.period$ - 'skip$ - if$ - } - if$ - } - 'skip$ - if$ - -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { - title "title" make.tag - title.sep - } - if$ -} -FUNCTION {format.year} -{ year empty$ - {""} - { bother #0 = - {"(" year extra.label * * ")." *} - {"(" year byear * ")." *} - if$ - } - if$ -} - -FUNCTION {format.month} -{ month empty$ - {""} - { "\bmonth{" month * "}" *} - if$ -} -FUNCTION {format.type} -{ type empty$ - {""} - { "\btype{" type * "}" *} - if$ -} - -FUNCTION {formatpatent.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$} - - if$ - } - { month empty$ - { year byear} - {format.month " " * year byear *} - if$ - } - if$ -} -FUNCTION {format.btitle} -{ title "btitle" make.tag -} - - - -FUNCTION {format.note} -{ note empty$ - {""} - { note "note" make.tag} - if$ -} -FUNCTION {format.bptnote} -{bpt_note empty$ - {""} - {"\bptnote{" bpt_note * "}%" * } -if$ -} -FUNCTION {format.bptok} -{bpt_ok empty$ - {""} - {"\bptok{" bpt_ok * "}%" * } -if$ -} - -FUNCTION {add.note} -{ note empty$ - {""} - { note } - if$ -} -FUNCTION {format.chapter} -{chapter empty$ - {""} - {"\bchapter{" chapter * "}" * } -if$ -} - - -FUNCTION {chap.type} -{chapter empty$ - {""} - { type empty$ - { "Chapter "} - { type "Section" = - { "Section "} - { "Chapter "} - if$ - } - if$ - "\bchapter{" chapter * "}" * * - } -if$ -} - - -FUNCTION {chap.note} -{ format.note output - new.sentence -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} -FUNCTION {no.space.connect} -{ duplicate$ text.length$ #3 < - { "" } - { "" } - if$ - swap$ * * -} - - -%%%%%%%%%%%%%%%%%%%%%%%%%% patent names -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} -FUNCTION {format.series} -{ series empty$ - { "" } - { bother #0 = - {series} - {"\bseries{" series * "}" * } - if$ - } - if$ -} -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ } - { edition "t" change.case$ } - if$ - "edition" make.tag - " ed." * - } - if$ -} - - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} -FUNCTION {format.isbn} -{ isbn empty$ - { "" } - {"\bisbn{" isbn * "}" *} - if$ -} - -FUNCTION {format.school} -{ school empty$ - {""} - {"\bpublisher{" school * "}" * } - if$ -} - -FUNCTION {format.institution} -{ institution empty$ - {""} - { bother #0 = - {institution} - { "techreport" type$ = - {"\bpublisher{" } - {"\binstitute{" } - if$ - - institution * "}" * - } - if$ - } - if$ -} -FUNCTION {format.howpublished} -{ howpublished empty$ - {""} - { howpublished "howpublished" make.tag } - if$ -} - -FUNCTION {format.vol} -{ volume empty$ - number empty$ - and - {""} - { volume empty$ - {number} - {volume} - if$ - "volume" make.tag - } - if$ -} - -FUNCTION {note.presented} - {note #1 #9 substring$ "presented" = - note #1 #9 substring$ "Presented" = - or} - - -FUNCTION {format.url} -{ url empty$ - { "" } - {"\url{" url * "}" * } - if$ -} - -FUNCTION {format.arxiv} -{ arxiv empty$ - { "" } - {"\arxiv{" arxiv * "}" * } - if$ -} - -FUNCTION {format.doi} -{ doi empty$ - {""} - {"\bdoi{" doi * "}" * } - if$ -} - -FUNCTION {format.ppages} -{ pages empty$ - {""} - {pages "pages" make.tag - add.period$ - } - if$ -} - - -FUNCTION {format.booktitle} -{ booktitle empty$ - { "" } - { bother #0 = - {"In " booktitle *} - {"In \bbooktitle{" booktitle * "}" *} - if$ - type$ "incollection" = - { series empty$ - volume empty$ - and - 'skip$ - { editor empty$ series empty$ not and - {"." *} - {"," *} - if$ - } - if$ - } - 'skip$ - if$ - - type$ "inproceedings" = - { series empty$ - editor empty$ -% volume empty$ not - and - 'skip$ - {editor empty$ - {"." *} - 'skip$ - if$ - } - if$ - } - 'skip$ - if$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "\btype{Technical Report}" } - { "\btype{" type * "}" * } - if$ - - number empty$ - 'skip$ - { " No. \bnumber{" number * "}" * * } - if$ - -% type empty$ not -% number empty$ - institution empty$ not - {"," *} - 'skip$ - if$ - -} - -FUNCTION {format.number} -{number empty$ - {""} - {"\bnumber{" number * "}" * } - if$ -} -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - - -FUNCTION {bcomment.note} -{note empty$ -'skip$ - {note "note" make.tag output add.period$} - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - "\btype" type * "}" * - } - if$ -} - - -FUNCTION {element.type} -{ bother #0 = - {"\begin{botherref}" write$ newline$} - {"\begin{" write$ - "b" - "conference" type$ = - {"inproceedings"} - { - "proceedings" type$ = - {"book"} - 'type$ - if$ - } - if$ - * write$ - "}[" write$ - src empty$ - {"author" write$} - {src write$ } - if$ - "]" write$ newline$ - } - if$ -} -FUNCTION {end.element.type} -{write$ newline$ - bother #0 = - {"\end{botherref}" write$ newline$} - {"\end{" write$ - "b" - "conference" type$ = - {"inproceedings"} - { - "proceedings" type$ = - {"book"} - 'type$ - if$ - } - if$ - * write$ - "}" write$ newline$ - } - if$ - "\endbibitem" write$ newline$ -} -FUNCTION {same.end} -{ add.period$ - format.doi output - %new.sentence - format.mrnumber output - %new.sentence - %format.url output - new.sentence - format.arxiv output - new.sentence - format.id output - format.bptnote output - format.bptok output - } - -FUNCTION {settings}{} - -FUNCTION {article} -{ output.bibitem - #1 'bother := - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - format.journal output - format.vol output - format.ppages output - new.sentence - bcomment.note - same.end - end.element.type -} - - -FUNCTION {manual} -{ output.bibitem - #1 'bother := - element.type - author empty$ - { organization empty$ - 'skip$ - { format.organization output.nonnull} - if$ - } - { format.authors output.nonnull} - if$ - format.year output - new.sentence - format.title "title" output.check - - format.edition output - author empty$ - { organization empty$ - 'skip$ - { format.address output} - if$ - } - { format.organization output - address empty$ - 'skip$ - { insert.comma } - if$ - format.address output - } - if$ - % new.sentence - bcomment.note - same.end - end.element.type -} - - -FUNCTION {patent} -{ #1 'bother := - output.bibitem - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - format.number output - new.sentence - bcomment.note - same.end - end.element.type -} - -FUNCTION { other } { patent } - -FUNCTION {book} -{ output.bibitem - #1 'bother := - element.type - author empty$ - { format.editors output} - { format.authors output.nonnull} - if$ - format.year output - format.title output - series empty$ - { - format.vol output - edition empty$ - 'new.sentence - 'insert.comma - if$ - format.edition output - new.sentence - } - { - format.edition output - new.sentence - format.series output - format.vol output - new.sentence - } - if$ - format.pub.address output - bcomment.note - same.end - end.element.type -} - -FUNCTION {booklet} -{ #1 'bother := - output.bibitem - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - format.howpublished output - address empty$ - 'new.sentence - 'insert.comma - if$ - format.address output - bcomment.note - same.end - end.element.type -} - -FUNCTION {inbook} -{ output.bibitem - #1 'bother := - element.type - author empty$ - { format.editors output} - { format.authors output.nonnull} - if$ - format.year output - format.title output - format.booktitle output - format.edition output - series empty$ - 'skip$ - {new.sentence} - if$ - format.series output - format.vol output - format.chapter output - chapter empty$ not - pages empty$ not - and - 'insert.comma - 'skip$ - if$ - format.ppages output - new.sentence - format.pub.address output - chap.note %output - new.sentence - same.end - end.element.type -} - -FUNCTION {incollection} -{ output.bibitem - #1 'bother := - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - format.booktitle "booktitle" output.check - format.edition output - make.editors output - series empty$ editor empty$ - or - 'skip$ - 'new.sentence - if$ - format.series output - format.vol output - format.chapter output - chapter empty$ not - pages empty$ not - and - 'insert.comma - 'skip$ - if$ - format.ppages output - format.pub.address output - bcomment.note - same.end - end.element.type -} - -FUNCTION {inproceedings} -{ output.bibitem - #1 'bother := - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - format.booktitle "booktitle" output.check - make.editors output - editor empty$ series empty$ - or - 'skip$ - 'new.sentence - if$ - format.series output - format.vol output - format.ppages output - new.sentence - publisher empty$ - {format.organization output} - {format.org output} - if$ - format.pub.address output - bcomment.note - same.end - end.element.type -} - -FUNCTION {conference} { inproceedings } - - -FUNCTION {mastersthesis} -{ #1 'bother := - output.bibitem - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - insert.comma - type empty$ - {"\btype{Master's thesis}" output.nonnull} - {format.type output} - if$ - school empty$ - 'skip$ - { insert.comma } - if$ - format.school output - address empty$ - 'skip$ - { insert.comma } - if$ - format.address output - bcomment.note - same.end - end.element.type -} - -FUNCTION {misc} -{ #1 'bother := - output.bibitem - element.type - author empty$ - { organization empty$ - 'skip$ - { format.org output.nonnull} - if$ - } - { format.authors output.nonnull} - if$ - format.year output - format.title "title" output.check - new.sentence - format.howpublished output - new.sentence - author empty$ - { organization empty$ - 'skip$ - { format.address output} - if$ - } - { format.organization output - address empty$ - 'skip$ - { insert.comma } - if$ - format.address output - } - if$ - new.sentence - bcomment.note - same.end - empty.misc.check - end.element.type -} - -FUNCTION {phdthesis} -{ #1 'bother := - output.bibitem - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - insert.comma - type empty$ - {"\btype{PhD thesis}" output.nonnull} - {format.type output} - if$ - school empty$ - 'skip$ - { insert.comma } - if$ - format.school output - address empty$ - 'skip$ - { insert.comma } - if$ - format.address output - bcomment.note - same.end - end.element.type -} - -FUNCTION {proceedings}{book} - -FUNCTION {techreport} -{ #1 'bother := - output.bibitem - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - format.tr.number output - format.institution output - new.sentence - address empty$ - 'skip$ - { insert.comma } - if$ - format.address output - bcomment.note - same.end - end.element.type -} - -FUNCTION {unpublished} -{ #1 'bother := - output.bibitem - element.type - format.authors output.nonnull - format.year output - format.title "title" output.check - bcomment.note - same.end - end.element.type -} - -FUNCTION {default.type} { unpublished } - - -READ - -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} - -%%%%% setting default options -FUNCTION {default.option.string} -{"sort=1,type=number"} - -FUNCTION {set.default.opt} -{default.option.string 'list.string :=} - -EXECUTE {set.default.opt} -INTEGERS {length2} - - -FUNCTION {in.string}{ - l 'tmp1 := - v 'tmp2 := - - 'l := % chars - 'v := % string - l text.length$ 'length2 := - v text.length$ 'str.length := - - int 'save.num1 := - count 'save.num2 := - #1 'int := - #0 'count := - #0 'found := - - length2 str.length = - 'skip$ - { - l v = - {#1 'found :=} - { - { - count str.length = not - #0 str.length = not - and - } - { - count #1 + 'count := - v int length2 substring$ l = - { - #1 'found := - str.length 'count := % to finish while$ loop - } - 'skip$ - if$ - int #1 + 'int := - } - while$ - - } - if$ - } - if$ - save.num1 'int := - save.num2 'count := - tmp1 'l := - tmp2 'v := - - found -} - - -FUNCTION {split}{ - l 'tmp1 := - v 'tmp2 := - - 'l := % split by - 'v := % string to split - - l text.length$ 'length2 := - v text.length$ 'str.length := - - int 'save.num1 := - count 'save.num2 := - found 'save.num4 := - - #1 'int := - #0 'count := - #0 'found := - { - count str.length = not - #0 str.length = not - and - } - { - count #1 + 'count := - - v int length2 substring$ l = - { - v #1 int #1 - substring$ 'l := % surasta dalis - v int #1 + #100 substring$ 'v := % likusi dalis - #1 'found := - str.length 'count := % kad nutruktu ciklas - } - 'skip$ - if$ - int #1 + 'int := - } - while$ - save.num1 'int := - save.num2 'count := - - found #0 = - { - %l 'l := - "" 'l := - } - 'skip$ - if$ - save.num4 'found := - - v l - - tmp1 'l := - tmp2 'v := -} - -FUNCTION {add.option}{ - l 'tmp3 := - v 'tmp4 := - - - 'l := % option - 'v := % list - - v - v "" = - {""} - {","} - if$ - l * * - tmp3 'l := - tmp4 'v := -} - -FUNCTION {remove.option}{ - - %%%% issisaugoju originalius "s" ir "t" - l 'j := - v 'f := - - 'l := % option name - 'v := % list - - "" 'temp.str := % temporary list - - l text.length$ 'length2 := - v text.length$ 'str.length := - - int 'save.num1 := - count 'save.num2 := - done 'save.num3 := - - #1 'int := - #0 'count := - #0 'found := - - length2 str.length > - 'skip$ - { - #0 'done := - v 'f := - - {done #0 = } - { - - v "," in.string - { - v "," split - 'f := % rasta - 'v := % kas liko - - } - { - #1 'done := - v 'f := - } - if$ - - f l in.string - 'skip$ - { - temp.str f add.option 'temp.str := - } - if$ - } - while$ - - } - if$ - save.num1 'int := - save.num2 'count := - save.num3 'done := - - temp.str - j 'l := - f 'v := - -} - -FUNCTION {assign.opt}{ - % priskiriu options lauka, kad galeciau i(is)jungti "unsort" - "settings" type$ = - {options empty$ - 'skip$ - { - "" 'b := - "" 'tmp5 := - #0 'done := - - options "=" in.string % if options has '=' - { - options 'b := - b 'tmp5 := - - {done #0 = } - { - b "," in.string - { - b "," split - 'tmp5 := % rasta - 'b := % kas liko - } - { - #1 'done := - b 'tmp5 := - } - if$ - - tmp5 "=" in.string - { - tmp5 "=" split - 's := % before - 't := % after - list.string s remove.option 'list.string := - } - 'skip$ - if$ - - list.string tmp5 add.option 'list.string := - } - while$ - - } - 'skip$ - if$ - } - if$ - } - 'skip$ - if$ - -} - -ITERATE {assign.opt} - -INTEGERS { et.al.char.used } - -FUNCTION {initialize.et.al.char.used} -{ #0 'et.al.char.used := -} -EXECUTE {initialize.et.al.char.used} - -FUNCTION {format.lab.names.nameyear} -{ remove.braces 's := - s num.names$ 'numnames := - numnames #3 >% nuo kada daryti et~al. - { s #1 "{vv~}{ll}" format.name$ " et~al." * } - { - numnames #1 - 'namesleft := - #2 'nameptr := - s #1 "{vv~}{ll}" format.name$ - { namesleft #0 > } - { nameptr numnames = - { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * s nameptr "{vv~}{ll}" format.name$ * } - if$ - } - { ", " * s nameptr "{vv~}{ll}" format.name$ * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - } - if$ -} - - -FUNCTION {format.lab.names.number} -{ remove.braces 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{ vv }{ ll }{ f }{ jj }" format.name$ 't := - - t sortify * " " * - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$} - -FUNCTION {format.lab.names.alpha} -{ 's := - s num.names$ 'numnames := - numnames #1 > - { numnames #4 > - { #3 'namesleft := } - { numnames 'namesleft := } - if$ - #1 'nameptr := - "" - { namesleft #0 > } - { nameptr numnames = - { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { "+" * - #1 'et.al.char.used := - } - { s nameptr "{v{}}{l{}}" format.name$ * } - if$ - } - { s nameptr "{v{}}{l{}}" format.name$ * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - numnames #4 > - { "+" * - #1 'et.al.char.used := - } - 'skip$ - if$ - } - { s #1 "{v{}}{l{}}" format.name$ - duplicate$ text.length$ #2 < - { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } - 'skip$ - if$ - } - if$ -} -FUNCTION {format.lab.names}{ - "type=nameyear" is.in.list - 'format.lab.names.nameyear - { - "type=alpha" is.in.list - 'format.lab.names.alpha - 'format.lab.names.number - if$ - } - if$ -} -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.key.organization.label} -{ author empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.organization.label} -{ editor empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.organization.label - { type$ "manual" = - 'author.key.organization.label - 'author.key.label - if$ - } - if$ - } - if$ - 'short.list := -} - -FUNCTION {calc.label} -{ calc.short.authors - short.list - - "type=alpha" is.in.list - { - duplicate$ - year field.or.null purify$ #-1 #2 substring$ - * - 'label := - year field.or.null purify$ #-1 #4 substring$ - * - sortify 'sort.label := - } - { - "(" - * - year duplicate$ empty$ - short.list key field.or.null = or - { pop$ "" } - 'skip$ - if$ - * - 'label := - label 'sort.label := - } - if$ -} - -FUNCTION {sort.format.names.nameyear} -{ remove.braces 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - {% nameptr #1 > - % { " " * numnames int.to.str$ * " " *} - % 'skip$ - % if$ - s nameptr "{vv }{ll}" format.name$ 't := - nameptr numnames = - t "others" = - and - { "et al" * } - { t sortify * " " * - #3 numnames = - #2 numnames = - or - #2 nameptr = - and - {year empty$ - 'skip$ - {year * " " *} - if$ - } - 'skip$ - if$ - } - if$ - #3 numnames < - {#0 'namesleft := - "zzz " * - } - { - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - if$ - } - while$ -} - -FUNCTION {sort.format.names.number} -{ remove.braces 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv }{ll }{f }{jj}" format.name$ 't := - nameptr numnames = - t "others" = - and - { "et al" * } - { t sortify * " " *} - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.names.alpha} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { " " * } - 'skip$ - if$ - s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = - t "others" = - and - { "et al" * } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.names}{ - "type=nameyear" is.in.list - 'sort.format.names.nameyear - { - "type=alpha" is.in.list - 'sort.format.names.alpha - 'sort.format.names.number - if$ - } - if$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "zzz" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "z" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "z" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.organization.sort} -{ editor empty$ - { organization empty$ - { key empty$ - { "to sort, need editor, organization, or key in " cite$ * warning$ - "z" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} -{ calc.label - sort.label sortify - " " - * - type$ "book" = - type$ "inbook" = - or - {author empty$ - 'editor.organization.sort - 'author.organization.sort - if$ - } - { type$ "proceedings" = - type$ "incollection" = - or - {author empty$ - 'editor.organization.sort - 'author.organization.sort - if$ - } - { type$ "manual" = - type$ "misc" = - or - 'author.organization.sort - 'author.sort - if$ - } - if$ - } - if$ - " " - * - year field.or.null sortify - * - " " - * - %%%% removing title from the sorting line - %title field.or.null sort.format.title - %* - #1 entry.max$ substring$ 'sort.label := -% sort.label top$ - sort.label * - #1 entry.max$ substring$ 'sort.key$ := - - %sort.key$ top$ -} - -ITERATE {presort} - -FUNCTION {bib.sort.order} -{ - "settings" type$ = - {"aaa"} - {"sort=0" is.in.list - {"bb"} - {"type=alpha" is.in.list - {sort.key$} - {sort.label} - if$ - } - if$ - } - if$ - 'sort.key$ := - %sort.key$ top$ -} - -ITERATE {bib.sort.order} - -SORT - - -INTEGERS { longest.label.width last.extra.num number.label } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #0 int.to.chr$ 'last.label := - "" 'j := - #0 'longest.label.width := - #0 'last.extra.num := - #0 'number.label := -} - -FUNCTION {forward.pass} -{ last.label "l" change.case$ label "l" change.case$ = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - label 'last.label := - } - if$ - number.label #1 + 'number.label := -} - -FUNCTION {reverse.pass} -{ j "b" = - { "a" 'extra.label := } - 'skip$ - if$ - extra.label 'j := - label extra.label * 'label := - %label top$ -} - -EXECUTE {initialize.longest.label} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ - "% BibTex style file: imsart-number.bst, 2017-11-03" write$ newline$ - default.option.string "" = - 'skip$ - { - "% Default style options (" default.option.string * ")." * write$ newline$ - "% Used options (" list.string * ")." * write$ newline$ - } - if$ - -} -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} diff --git a/AOS-accepted/main.tex b/AOS-accepted/main.tex index 6755f01..4057416 100644 --- a/AOS-accepted/main.tex +++ b/AOS-accepted/main.tex @@ -86,17 +86,10 @@ \newcommand*{\pinv}[1]{{#1^{\dagger}}} % `Moore-Penrose pseudoinverse` % rearangment operator, generalization of Van-Loan and Pitzianis rearrangement opreration \newcommand*{\K}{\mathcal{K}} -% ternary operator (C style argments: ? : ) -\newcommand{\ternary}[3]{{#2}{\ \mathrm{if}\ }{#1}{\ \mathrm{else}\ }{#3}} \renewcommand{\checkmark}{{\color{Green}\ding{51}}} \newcommand{\xmark}{{\color{Red!70}\ding{55}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\efi}[1]{{\color{teal}Effie: #1}} -\newcommand{\daniel}[1]{{\color{red!70!black}Daniel: #1}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % Special Matrix Sets (Manifolds) \newcommand{\StiefelNonCompact}[2]{\mathbb{R}_{*}^{{#1}\times {#2}}} \newcommand{\Stiefel}[2]{\mathrm{St}^{{#1}\times {#2}}} @@ -172,9 +165,6 @@ \renewcommand{\left}{\mathopen{}\mathclose\bgroup\originalleft} \renewcommand{\right}{\aftergroup\egroup\originalright} -%%% Sets the max nr. of columns in AMSmath's matrix environments to 20 -\setcounter{MaxMatrixCols}{20} - \endlocaldefs \begin{document} @@ -247,15 +237,10 @@ Complex data are collected at different times and/or under conditions often invo Tensor regression models have been proposed to leverage the structure inherent in tensor-valued data. For instance, \cite{HaoEtAl2021,ZhouLiZhu2013} focus on tensor covariates, while \cite{RabusseauKadri2016,LiZhang2017,ZhouLiZhu2013} focus on tensor responses, and \cite{Hoff2015,Lock2018} consider tensor on tensor regression. \cite{HaoEtAl2021} modeled a scalar response as a flexible nonparametric function of tensor covariates. \cite{ZhouLiZhu2013} assume the scalar response has a distribution in the exponential family given the tensor-valued predictors with the link modeled as a multi-linear function of the predictors. \cite{RabusseauKadri2016} model the tensor-valued response as a linear model with tensor-valued regression coefficients subject to a multi-linear rank constraint. \cite{LiZhang2017} approach the problem with a similar linear model but instead of a low-rank constraint the error term is assumed to have a separable Kronecker product structure while using a generalization of the envelope model \cite[]{CookLiChiaromonte2010}. \cite{ZhouEtAl2023} focus on partially observed tensor response given vector-valued predictors with mode-wise sparsity constraints in the regression coefficients. \cite{Hoff2015} extends an existing bilinear regression model to a tensor on tensor of conformable modes and dimensions regression model based on a Tucker product. \cite{Lock2018} uses a tensor contraction to build a penalized least squares model for a tensor with an arbitrary number of modes and dimensions. -We consider the general regression problem of fitting a response of general form (univariate, multivariate, tensor-valued) on a tensor-valued predictor. We operate in the context of \textit{sufficient dimension reduction} (SDR) \cite[e.g.][]{Cook1998,Li2018} based on inverse regression, which leads to regressing the tensor-valued predictor on tensor-valued functions of the response (tensor on tensor regression). %In our setting, this necessitates transforming the response to tensor-valued functions, regardless of whether it is itself tensor-valued. -Ours is a \textit{model-based} SDR method for tensor-valued data, where the conditional distribution of the inverse predictors ($\ten{X}$) belongs to a parametric family whose parameter depends on the response of the forward regression of $Y$ on $\ten{X}$. Specifically, we assume the conditional distribution of the tensor-valued predictors given the response belongs to the quadratic exponential family for which the first and second moments admit a separable Kronecker product structure. The quadratic exponential family contains the multi-linear normal and the multi-linear Ising distributions for continuous and binary tensor-valued random variables, respectively. +We consider the general regression problem of fitting a response of general form (univariate, multivariate, tensor-valued) on a tensor-valued predictor. We operate in the context of \textit{sufficient dimension reduction} (SDR) \cite[e.g.][]{Cook1998,Li2018} based on inverse regression, which leads to regressing the tensor-valued predictor on tensor-valued functions of the response (tensor on tensor regression). Ours is a \textit{model-based} SDR method for tensor-valued data, where the conditional distribution of the inverse predictors ($\ten{X}$) belongs to a parametric family whose parameter depends on the response of the forward regression of $Y$ on $\ten{X}$. Specifically, we assume the conditional distribution of the tensor-valued predictors given the response belongs to the quadratic exponential family for which the first and second moments admit a separable Kronecker product structure. The quadratic exponential family contains the multi-linear normal and the multi-linear Ising distributions for continuous and binary tensor-valued random variables, respectively. -%In this paper, we present a model-based \emph{Sufficient Dimension Reduction} (SDR) method for tensor-valued data with distribution in -%Because of the setting, our method shares commonalities with the tensor regression models referred to above, yet the modeling and methodology are novel. - %We bypass the explosion of the number of parameters to estimate by assuming the inverse regression error covariance has Kronecker product structure.% as do \cite{LiZhang2017}. We obtain the maximum dimension reduction of the tensor-valued predictor without losing any information about the response. We derive maximum likelihood estimates of the sufficient reduction that enjoy the attendant optimality properties, such as consistency, efficiency and asymptotic normality. -The main challenge in estimation in multi-linear tensor regression models is the non-identifiability of the parameters, as has been acknowledged by researchers in this field (e.g., \cite{LiZhang2017, Lock2018}). In contrast to past approaches (e.g., \cite{ZhouLiZhu2013,Hoff2015, SunLi2017, LiZhang2017, LlosaMaitra2023}), ours does not require any penalty terms and/or sparsity constraints in order to address this issue. %In the case of a tensor (multi-linear) normal, given the tensor-valued function of the response, our model exhibits similarities to the multi-linear modeling of \cite{Hoff2015}, but we use a generalized multi-linear model and estimate the parameters with maximum likelihood instead of least squares. -Instead, we model the parameter space as a smooth embedded manifold to ensure identifiability while enabling rich modeling flexibility. +The main challenge in estimation in multi-linear tensor regression models is the non-identifiability of the parameters, as has been acknowledged by researchers in this field (e.g., \cite{LiZhang2017, Lock2018}). In contrast to past approaches (e.g., \cite{ZhouLiZhu2013,Hoff2015, SunLi2017, LiZhang2017, LlosaMaitra2023}), ours does not require any penalty terms and/or sparsity constraints in order to address this issue. Instead, we model the parameter space as a smooth embedded manifold to ensure identifiability while enabling rich modeling flexibility. Our main contributions are (i) formulating the dimension reduction problem via the quadratic exponential family modeling up to two-way interaction that allows us to derive the minimal sufficient dimension reduction in closed form, (ii) great flexibility in modeling by defining the parameter space as a smooth embedded manifold, (iii) deriving the maximum likelihood estimator of the sufficient reduction subject to multi-linear constraints and overcoming parameter non-identifiability, (iv) establishing the consistency and asymptotic normality of the estimators, and (v) developing computationally efficient estimation algorithms (very fast in the case of multi-linear normal predictors). @@ -274,7 +259,6 @@ where $\mat{F}_Y\equiv Y$ is a $1\times 1$ matrix (in general, $\mat{F}_Y$ is a Our approach involves optimization of the likelihood of $\ten{X}$ conditional on $Y$ subject to the non-convex nonlinear constraint that both the mean and covariance parameter spaces have Kronecker product structure, where the components of the Kronecker product are non-identifiable. This is resolved by letting the parameter space be a smooth embedded submanifold. We derive the maximum likelihood estimator of the minimal sufficient reduction and use it to predict the binary response. Our method exhibits uniformly better classification accuracy when compared to competing existing techniques (see Table \ref{tab:eeg}). A key advantage of our approach is that it circumvents the dimensionality challenge ($p_1 \times p_2 = 256 \times 64 = 16384 \gg 122 = n$) without having to artificially reduce the dimension by preprocessing the data, as in \cite{LiKimAltman2010, PfeifferForzaniBura2012, PfeifferKaplaBura2021, DingCook2015}, or imposing simplifying assumptions and/or sparsity or regularization constraints \cite[]{PfeifferKaplaBura2021,LiZhang2017,SunLi2017, Lock2018}. Even though our motivation is rooted in the SDR perspective, our inverse regression approach also applies to any regression model with a tensor-valued response and predictors of any type. Thus, it can be used as a stand-alone model for such data regardless of whether one is interested in deriving sufficient reductions or simply regressing tensor-valued variables on any type of predictor. Our tensor-to-tensor inverse regression model is a generalized multi-linear model that shares a similar structural form with the generalized linear model of \cite{ZhouLiZhu2013, Hoff2015} and \cite{SunLi2017}, but beyond that, the resemblance does not extend further. In effect, our model can be viewed as an extension of reduced rank regression for tensor-valued response regression. -%Our consistency and asymptotic normality results in the framework of the quadratic exponential family for tensor-valued variables apply to both multi-linear normal \cite[]{KolloVonRosen2005,Hoff2011,OhlsonEtAl2013} and multi-linear Ising models, as defined in \cref{sec:ising_estimation}. The structure of this paper is as follows. We begin by introducing notation in \cref{sec:notation}, followed by a formal definition of the problem in \Cref{sec:problem-formulation}. The proposed model is specified in \cref{sec:gmlm-model}. \Cref{sec:manifolds} provides a brief introduction to manifolds, serving as the basis for the consistency and asymptotic normality results detailed in \cref{sec:statprop}. A general maximum likelihood estimation procedure is presented and we derive specialized methods for the multi-linear normal and multi-linear Ising distributions in \cref{sec:ml-estimation}. @@ -300,7 +284,7 @@ The notation $\ten{A}\mlm_{k\in S}\mat{B}_k$ is shorthand for the iterative appl \end{displaymath} An application of the mode product over all indices is also known as the \emph{multi-linear multiplication}, or \emph{Tucker operator} \cite[]{Kolda2006,KofidisRegalia2001}. -The \emph{vectorization} $\vec(\ten{A})$ of a tensor $\ten{A}$ is a vector consisting of the same elements as $\ten{A}$ arranged in lexicographic index order. We use the notation $\ten{A}\equiv \ten{B}$ if and only if $\vec(\ten{A}) = \vec(\ten{B})$. The \emph{flattening} (or \emph{unfolding} or \emph{matricization}) of $\ten{A}$ along mode $k$, denoted as $\ten{A}_{(k)}$, is defined as the matrix obtained by rearranging the elements of $\ten{A}$ such that the $k$-th mode is represented as the columns of the resulting matrix (see \cref{app:examples} for examples.) +The \emph{vectorization} $\vec(\ten{A})$ of a tensor $\ten{A}$ is a vector consisting of the same elements as $\ten{A}$ arranged in lexicographic index order. We use the notation $\ten{A}\equiv \ten{B}$ if and only if $\vec(\ten{A}) = \vec(\ten{B})$. The \emph{flattening} (or \emph{unfolding} or \emph{matricization}) of $\ten{A}$ along mode $k$, denoted as $\ten{A}_{(k)}$, is defined as the matrix obtained by rearranging the elements of $\ten{A}$ such that the $k$-th mode is represented as the columns of the resulting matrix (see Appendix~A in the supplementary material for examples.) The \emph{inner product} between two tensors with the same number of elements is $\langle\ten{A}, \ten{B}\rangle = \t{(\vec\ten{A})}(\vec\ten{B})\in\mathbb{R}$ (allowing tensors of different order), and the \emph{Frobenius norm} for tensors is $\|\ten{A}\|_F = \sqrt{\langle\ten{A}, \ten{A}\rangle}$. The \emph{outer product} between two tensors $\ten{A}$ of dimensions $q_1, \ldots, q_r$ and $\ten{B}$ of dimensions $p_1, \ldots, p_l$ is a tensor $\ten{A}\circ\ten{B}$ of order $r + l$ and dimensions $q_1, \ldots, q_r, p_1, \ldots, p_l$, such that $\ten{A}\circ\ten{B} \equiv (\vec\ten{A})\t{(\vec{\ten{B}})}$. The iterated outer and iterated Kronecker products are written as \begin{displaymath} @@ -314,16 +298,14 @@ Finally, the gradient of a function $\ten{F}(\ten{X})$ of any shape, univariate, \begin{displaymath} \nabla_{\ten{X}}\ten{F} = \frac{\partial\t{(\vec\ten{F}(\ten{X}))}}{\partial(\vec\ten{X})}, \end{displaymath} -where %the vectorized quantities -$\vec{\ten{X}}\in\mathbb{R}^p$ and $\vec\ten{F}(\ten{X})\in\mathbb{R}^q$. This is consistent with the gradient of a real-valued function $f(\mat{x})$ where $\mat{x}\in\mathbb{R}^p$ as $\nabla_{\mat{x}}f\in\mathbb{R}^{p\times 1}$ \cite[][Ch.~15]{Harville1997}. +where $\vec{\ten{X}}\in\mathbb{R}^p$ and $\vec\ten{F}(\ten{X})\in\mathbb{R}^q$. This is consistent with the gradient of a real-valued function $f(\mat{x})$ where $\mat{x}\in\mathbb{R}^p$ as $\nabla_{\mat{x}}f\in\mathbb{R}^{p\times 1}$ \cite[][Ch.~15]{Harville1997}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Problem Formulation}\label{sec:problem-formulation} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Our goal is to reduce the complexity of inferring the cumulative distribution function (cdf) $F$ of $Y\mid \ten{X}$, where $\ten{X}$ is assumed to admit $r$-tensor structure of dimension $p_1\times ... \times p_r$ with continuous or discrete entries, and the response $Y$ is unconstrained. To this end, %The predictor $\ten{X}$ is a complex object; to simplify the problem -we assume there exists a tensor-valued function of lower dimension $\ten{R}:\ten{X}\mapsto \ten{R}(\ten{X})$ such that +Our goal is to reduce the complexity of inferring the cumulative distribution function (cdf) $F$ of $Y\mid \ten{X}$, where $\ten{X}$ is assumed to admit $r$-tensor structure of dimension $p_1\times ... \times p_r$ with continuous or discrete entries, and the response $Y$ is unconstrained. To this end, we assume there exists a tensor-valued function of lower dimension $\ten{R}:\ten{X}\mapsto \ten{R}(\ten{X})$ such that \begin{displaymath} F(Y\mid \ten{X}) = F(Y\mid \ten{R}(\ten{X})). \end{displaymath} @@ -337,15 +319,7 @@ To find such a reduction $\ten{R}$, we leverage the equivalence relation pointed \end{equation} According to \eqref{eq:inverse-regression-sdr}, a \textit{sufficient statistic} $\ten{R}(\ten{X})$ for $Y$ in the inverse regression $\ten{X}\mid Y$, where $Y$ is considered as a parameter indexing the model, is also a \textit{sufficient reduction} for $\ten{X}$ in the forward regression $Y\mid\ten{X}$. -The factorization theorem is the usual tool to identify sufficient statistics and requires a distributional model. %We assume the distribution of $\ten{X}\mid Y$ belongs to the \emph{quadratic exponential family} to (a) simplify modeling and (b) keep estimation feasible. -We assume that $\ten{X}\mid Y$ is a full rank quadratic exponential family with density -% \begin{align} -% % f_{\mat{\eta}_y}(\ten{X}\mid Y = y)&= h(\ten{X})\exp(\t{\mat{\eta}_y}\mat{t}(\ten{X}) - b(\mat{\eta}_y)) \notag\\ -% f(\ten{X}\mid Y = y) -% &= h(\ten{X})\exp(\t{\mat{\eta}_y}\mat{t}(\ten{X}) - b(\mat{\eta}_y)) \notag\\ -% &= h(\ten{X})\exp(\langle \mat{t}_1(\ten{X}), \mat{\eta}_{1y} \rangle + \langle \mat{t}_2(\ten{X}), \mat{\eta}_{2y} \rangle - b(\mat{\eta}_{y})) \label{eq:quad-density} %\nonumber -% \end{align} -% where $\mat{t}_1(\ten{X})=\vec \ten{X}$ and $\mat{t}_2(\ten{X})$ is linear in $\ten{X}\circ\ten{X}$. +The factorization theorem is the usual tool to identify sufficient statistics and requires a distributional model. We assume that $\ten{X}\mid Y$ is a full rank quadratic exponential family with density \begin{align} f(\ten{X}\mid Y = y) &= h(\ten{X})\exp(\t{\mat{\eta}_y}\mat{t}(\ten{X}) - b(\mat{\eta}_y)) \notag \\ @@ -355,7 +329,6 @@ where $\mat{t}(\ten{X}) = (\vec\ten{X}, \vech(\t{(\vec\ten{X})}(\vec\ten{X})))$ It is straightforward to generalize the formulation from the quadratic exponential family to incorporate higher moments. This, though, would make the number of parameters prohibitively large to estimate. This is why we opted for the quadratic exponential family in our formulation. -% The quadratic exponential family in \eqref{eq:quadratic-exp-fam} is easily generalizable to incorporate higher moments. This, though, would result in the number of parameters becoming prohibitive to estimate, which is also the reason why we opted for the quadratic exponential family in our formulation. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{The Generalized Multi-Linear Model}\label{sec:gmlm-model} @@ -372,13 +345,13 @@ where $\overline{\ten{\eta}}\in\mathbb{R}^{p_1\times\ldots\times p_r}$ and $\mat \begin{equation}\label{eq:eta2-manifold} \mat{\eta}_{2} = c\t{\mat{D}_p}\vec\mat{\Omega}, \end{equation} -with $c\in\mathbb{R}$ a non-zero known constant determined by the distribution to ease modeling. The matrix $\mat{D}_p$ is the \emph{duplication matrix} \cite[][Ch.~11]{AbadirMagnus2005}, defined so that $\mat{D}_p\vech \mat{A} = \vec \mat{A}$ for every symmetric $p\times p$ matrix $\mat{A}$ that ensures the formulation of the density in the newly introduced parameters to have a nicer form. For example, for the multi-variate normal distribution, if the constant $c$ is chosen as $-1 / 2$, then $\mat{\Omega}$ is the inverse covariance. % That is, we assume that only $\mat{\eta}_{1y}$ depends on $Y$ through $\mat{B}$. The second parameter $\mat{\eta}_2$ captures the second-order interaction structure of $\ten{X}$, which we assume not to depend on the response $Y$. +with $c\in\mathbb{R}$ a non-zero known constant determined by the distribution to ease modeling. The matrix $\mat{D}_p$ is the \emph{duplication matrix} \cite[][Ch.~11]{AbadirMagnus2005}, defined so that $\mat{D}_p\vech \mat{A} = \vec \mat{A}$ for every symmetric $p\times p$ matrix $\mat{A}$ that ensures the formulation of the density in the newly introduced parameters to have a nicer form. For example, for the multi-variate normal distribution, if the constant $c$ is chosen as $-1 / 2$, then $\mat{\Omega}$ is the inverse covariance. To relate individual modes of $\ten{X}$ to the response through a multi-linear relation to $\ten{F}_y$, we assume $\ten{F}_y$ takes values in $\mathbb{R}^{q_1\times ...\times q_r}$; that is, $\ten{F}_y$ is tensor-valued. This, in turn, leads to imposing a corresponding Kronecker structure to the regression parameter $\mat{B}$ and \eqref{eq:eta1-manifold} becomes \begin{equation}\label{eq:eta1} \mat{\eta}_{1y} = \vec\biggl(\overline{\ten{\eta}} + \ten{F}_y\mlm_{j = 1}^{r}\mat{\beta}_j\biggr), \end{equation} -with $\mat{B} = \bigotimes_{j = r}^{1}\mat{\beta}_j$ and component matrices $\mat{\beta}_j\in\mathbb{R}^{p_j\times q_j}$ for $j = 1, \ldots, r$. % are of known rank +with $\mat{B} = \bigotimes_{j = r}^{1}\mat{\beta}_j$ and component matrices $\mat{\beta}_j\in\mathbb{R}^{p_j\times q_j}$ for $j = 1, \ldots, r$. As the bilinear form of the matrix normal requires its covariance be separable, the multi-linear structure of $\ten{X}$ also induces separability on its covariance structure (see, e.g., \cite{Hoff2011}). Therefore, we further assume that \begin{equation}\label{eq:eta2} @@ -388,7 +361,7 @@ where $\mat{\Omega}_j\in\mathbb{R}^{p_j\times p_j}$ are symmetric for $j = 1, \l Writing the density in \eqref{eq:quad-density} in terms of the new parameters $\overline{\ten{\eta}}$, $\mat{\beta}_j$, $\mat{\Omega}_j$ for $j = 1, \ldots, r$, obtains \begin{equation}\label{eq:gmlm-density} - f(\ten{X}\mid Y = y) % f_{\mat{\eta}_y}(\ten{X}\mid Y = y) + f(\ten{X}\mid Y = y) = h(\ten{X})\exp\biggl( \biggl\langle \ten{X}, \overline{\ten{\eta}} + \ten{F}_y\mlm_{j = 1}^r\mat{\beta}_j \biggr\rangle + c\biggl\langle \ten{X}, \ten{X}\mlm_{j = 1}^r\mat{\Omega}_j \biggr\rangle - b(\mat{\eta}_y) \biggr), @@ -404,30 +377,14 @@ The density of $\ten{X}$ given $Y$ in \eqref{eq:gmlm-density} is now indexed by The reduction \eqref{eq:sdr} is minimal if all $\mat{\beta}_j$ are full rank for $j=1,\ldots,r$. \end{theorem} -The reduction \eqref{eq:sdr} in vectorized form is $\vec\ten{R}(\ten{X})=\t{\mat{B}}\vec(\ten{X} - \E\ten{X})$. %, where $\mat{B} = \bigotimes_{k = r}^{1}\mat{\beta}_k$ with $\Span(\mat{B}) = \Span(\{\mat{\eta}_{1y} - \E_{Y}\mat{\eta}_{1Y} : y\in\mathcal{S}_Y\})$, where $\mathcal{S}_Y$ denotes the sample space of the random variable $Y$. -\cref{thm:sdr} shows that the \emph{sufficient reduction} $\ten{R}(\ten{X})$ reduces $\ten{X}$ along each mode (dimension) linearly. The graph in \cref{fig:SDRvisual} is a visual representation of the sufficient reduction for a $3$-dimensional tensor-valued predictor. We provide the simplified version of the GMLM model and the sufficient reduction in \crefrange{ex:vector-valued}{ex:matrix-valued} for the special cases of vector- and matrix-valued predictors. +The reduction \eqref{eq:sdr} in vectorized form is $\vec\ten{R}(\ten{X})=\t{\mat{B}}\vec(\ten{X} - \E\ten{X})$. \cref{thm:sdr} shows that the \emph{sufficient reduction} $\ten{R}(\ten{X})$ reduces $\ten{X}$ along each mode (dimension) linearly. The graph in \cref{fig:SDRvisual} is a visual representation of the sufficient reduction for a $3$-dimensional tensor-valued predictor. We provide the simplified version of the GMLM model and the sufficient reduction in \crefrange{ex:vector-valued}{ex:matrix-valued} for the special cases of vector- and matrix-valued predictors. \begin{figure}[!hpt] \centering - \includegraphics[width=0.5\textwidth]{../images/reduction.pdf} + \includegraphics[width=0.5\textwidth]{images/reduction.pdf} \caption{\label{fig:SDRvisual}Visual depiction of the sufficient reduction in \cref{thm:sdr}.} \end{figure} -% \begin{figure}[htbp] -% \begin{minipage}{0.475\textwidth} -% \centering -% \includegraphics[width=\textwidth]{../images/reduction.pdf} -% \caption{\label{fig:SDRvisual}Visual depiction of the sufficient reduction in \cref{thm:sdr}.} -% \end{minipage}% -% \hfill% -% \begin{minipage}{0.475\textwidth} -% \centering -% \includegraphics[width=\textwidth]{../plots/sim-ising-perft-m2.pdf} -% \caption{\label{fig:ising-m2-perft}Performance test for computing/estimating the second moment of the Ising model of dimension $p$ using either the exact method or a Monte-Carlo (MC) simulation.} -% \end{minipage} -% \end{figure} - - \begin{example}[Vector valued $\mat{x}$ ($r = 1$)]\label{ex:vector-valued} For a vector-valued predictor $\mat{X}\in\mathbb{R}^{p_1}$, the density \eqref{eq:gmlm-density} reduces to \begin{align*} @@ -451,19 +408,14 @@ The reduction \eqref{eq:sdr} in vectorized form is $\vec\ten{R}(\ten{X})=\t{\mat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Manifolds and Parameter Spaces}\label{sec:manifolds} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%We start by pinpointing an important issue in the GMLM formulation: The parameters are non-identifiable. We resolve this by connecting the GMLM parameters to identifiable ones living in a space with special structure. This leads to imposing conditions to the GMLM parameters that result from the relation between the new identifiable parameter and the original GMLM parameters. \cref{thm:sdr} finds the sufficient reduction for the regression of $Y$ on $\ten{X}$ in the population under the inverse GMLM \eqref{eq:gmlm-density}. In practice we need to estimate the mode-wise reduction matrices $\mat{\beta}_j$ in the GMLM \eqref{eq:gmlm-density}. As we operate within the framework of the exponential family, we opt for maximum likelihood estimation (MLE). In a classic generalized linear model setting, this is straightforward and yields well defined MLEs. In our setting, though, a major problem is due to the fact that our GMLM parameterization in \eqref{eq:gmlm-density} is \emph{not} identifiable. This is a direct consequence of the identity $\mat{\beta}_2\otimes\mat{\beta}_1 = (a\mat{\beta}_2)\otimes (a^{-1}\mat{\beta}_1)$ for any $a\neq 0$ (the same holds for the $\mat{\Omega}_j$s) so that different parameterizations of \eqref{eq:gmlm-density} describe the same density. In other words, we do \emph{not} have a one-to-one relation between the parameters and the GMLM and consistency cannot be established. Without consistency, derivation of the asymptotic distribution for the maximum likelihood estimator becomes infeasible. -To resolve this issue, we need to disambiguate the GMLM parameters to reestablish a one-to-one relation to the model. At the same time, we want to keep the mode-wise parameters $\mat{\beta}_j$ in \eqref{eq:gmlm-density} as those are the mode-wise reduction matrices needed by \cref{thm:sdr}. Using the mode-wise GMLM parameters has further advantages: the total number of parameters to be estimated is much smaller in many settings. Specifically, in the case of the multi-linear normal, a very efficient estimation algorithm is applicable. Moreover, the required number of observations for a reliable estimate is very small, potentially even smaller than any of the axis-dimensions $p_j$. We also gain significant estimation accuracy. % if the modeling assumptions are valid. +To resolve this issue, we need to disambiguate the GMLM parameters to reestablish a one-to-one relation to the model. At the same time, we want to keep the mode-wise parameters $\mat{\beta}_j$ in \eqref{eq:gmlm-density} as those are the mode-wise reduction matrices needed by \cref{thm:sdr}. Using the mode-wise GMLM parameters has further advantages: the total number of parameters to be estimated is much smaller in many settings. Specifically, in the case of the multi-linear normal, a very efficient estimation algorithm is applicable. Moreover, the required number of observations for a reliable estimate is very small, potentially even smaller than any of the axis-dimensions $p_j$. We also gain significant estimation accuracy. In the derivation of the GMLM we first introduced the parameters $\overline{\eta}$ and $\mat{B}$, which models a linear relation between $\ten{X}$ and $Y$ through $\mat{\eta}_{1y}$ in \eqref{eq:eta1-manifold}, and the symmetric matrix $\mat{\Omega}$ to replace $\mat{\eta}_2$ in \eqref{eq:eta2-manifold}. Then, we modeled $\mat{B}$ using the mode-wise component matrices $\mat{\beta}_j$ which impose a non-linear constraint on $\mat{B} = \bigotimes_{j = r}^1\mat{\beta}_j$. Similarly, the introduction of the $\mat{\Omega}_j$'s in $\mat{\Omega} = \bigotimes_{j = r}^1 \mat{\Omega}_j$ constrains nonlinearly $\mat{\Omega}$. Both unconstrained $\mat{B}$ and $\vech(\mat{\Omega})$ are identifiable: The GMLM density \eqref{eq:gmlm-density} corresponds to one and only one $\mat{B}$ and $\vech(\mat{\Omega})$. Additionally, given any $\mat{\beta}_j$'s and $\mat{\Omega}_j$'s, then $\mat{B}$ and $\vech(\mat{\Omega})$ are uniquely determined. Based on these observations we derive the asymptotic behavior of the parameters $\mat{B}$ and $\vech{\mat{\Omega}}$ while operating with their components $\mat{\beta}_j$ and $\mat{\Omega}_j$. As a result we obtain a parameter space $\Theta$ with a non-linear constraint. -% Any estimation of the sufficient reduction requires application of some optimality criterion. As we operate within the framework of the exponential family, we opted for maximum likelihood estimation (MLE). For the unconstrained problem, where the parameters are simply $\mat{B}$ and $\mat{\Omega}$ in \eqref{eq:eta1-manifold}, maximizing the likelihood of $\ten{X} \mid Y$ is straightforward and yields well-defined MLEs of both parameters. Our setting, though, requires the constrained optimization of the $\ten{X} \mid Y$ likelihood subject to $\mat{B} = \bigotimes_{j = r}^{1}\mat{\beta}_j$ and $\mat{\Omega}=\bigkron_{j = r}^{1}\mat{\Omega}_j$. \Cref{thm:kron-manifolds,thm:param-manifold} provide the setting for which the MLE of the constrained parameter $\mat{\theta}$ is well-defined, which in turn leads to the derivation of its asymptotic normality. - -% The main problem in obtaining asymptotic results for the MLE of the constrained parameter $\mat{\theta} = (\overline{\ten{\eta}}, \vec\mat{B}, \vech\mat{\Omega})$ stems from the nature of the constraint. We assumed that $\mat{B} = \bigkron_{k = r}^{1}\mat{\beta}_k$, where the parameter $\mat{B}$ is identifiable. This means that different values of $\mat{B}$ lead to different densities $f_{\mat{\theta}}(\ten{X}\mid Y = y)$, a basic property needed to ensure consistency of parameter estimates, which in turn is needed for asymptotic normality. On the other hand, the components $\mat{\beta}_j$, $j = 1, \ldots, r$, are \emph{not} identifiable, which is a direct consequence of the equality $\mat{\beta}_2\otimes\mat{\beta}_1 = (c\mat{\beta}_2)\otimes (c^{-1}\mat{\beta}_1)$ for every $c\neq 0$. This is the reason we considered $\Theta$ as a constrained parameter space instead of parameterizing the densities of $\ten{X}\mid Y$ with $\mat{\beta}_1, \ldots, \mat{\beta}_r$. The same is true for $\mat{\Omega} = \bigkron_{k = r}^{1}\mat{\Omega}_k$. - -Except for identifiable parameters, asymptotic normality (see \cref{thm:asymptotic-normality-gmlm} in \cref{sec:statprop}) requires differentiation. Therefore, the space itself must admit the definition of differentiation, which is usually a vector space. This is too strong an assumption for our purposes. To weaken the vector space assumption, we consider \emph{smooth manifolds}. These are spaces that look like Euclidean spaces locally and allow the notion of differentiation. The more general \emph{topological} manifolds are too weak for differentiation. A smooth manifold only allows only for first derivatives. Without going into details, the solution is a \emph{Riemannian manifold} \cite[]{Lee2012,Lee2018,AbsilEtAl2007}. Similar to an abstract \emph{smooth manifold}, Riemannian manifolds are detached from our usual intuition as well as are complicated to handle. This is where an \emph{embedded (sub)manifold} comes to the rescue. Simply speaking, an embedded manifold is a manifold that is a subset of a manifold from which it inherits its properties. If a manifold is embedded in a Euclidean space, almost all the complications of abstract manifold theory simplify drastically. Moreover, since an Euclidean space is itself a Riemannian manifold, we inherit the means for higher derivatives. Finally, a smooth embedded submanifold structure for the parameter space maintains consistency with existing approaches and results for parameter sets with linear subspace structure. These reasons justify the constraint that the parameter space $\Theta$ be a \emph{smooth embedded manifold} in a Euclidean space. % an open subset $\Xi$ of +Except for identifiable parameters, asymptotic normality (see \cref{thm:asymptotic-normality-gmlm} in \cref{sec:statprop}) requires differentiation. Therefore, the space itself must admit the definition of differentiation, which is usually a vector space. This is too strong an assumption for our purposes. To weaken the vector space assumption, we consider \emph{smooth manifolds}. These are spaces that look like Euclidean spaces locally and allow the notion of differentiation. The more general \emph{topological} manifolds are too weak for differentiation. A smooth manifold only allows only for first derivatives. Without going into details, the solution is a \emph{Riemannian manifold} \cite[]{Lee2012,Lee2018,AbsilEtAl2007}. Similar to an abstract \emph{smooth manifold}, Riemannian manifolds are detached from our usual intuition as well as are complicated to handle. This is where an \emph{embedded (sub)manifold} comes to the rescue. Simply speaking, an embedded manifold is a manifold that is a subset of a manifold from which it inherits its properties. If a manifold is embedded in a Euclidean space, almost all the complications of abstract manifold theory simplify drastically. Moreover, since an Euclidean space is itself a Riemannian manifold, we inherit the means for higher derivatives. Finally, a smooth embedded submanifold structure for the parameter space maintains consistency with existing approaches and results for parameter sets with linear subspace structure. These reasons justify the constraint that the parameter space $\Theta$ be a \emph{smooth embedded manifold} in a Euclidean space. We now define a \emph{smooth manifold} embedded in $\mathbb{R}^p$, avoiding unnecessary detours into the more general theory (see \cite{Kaltenbaeck2021}). @@ -477,8 +429,6 @@ We now define a \emph{smooth manifold} embedded in $\mathbb{R}^p$, avoiding unne As a basis to ensure that the constrained parameter space $\Theta$ is a manifold, without having to check every case separately, we provide two simple criteria that can be used to construct manifolds obeying the Kronecker product constraint. We need the concept of a \emph{spherical} set, which is a set $\manifold{A}$, on which the Frobenius norm, $\|\,.\,\|_F:\manifold{A}\to\mathbb{R}$, is constant. Also, we call a scale invariant set $\manifold{A}$ a \emph{cone}; that is, $\manifold{A} = \{ c \mat{A} : \mat{A}\in\manifold{A} \}$ for all $c > 0$. -% As a basis to ensure that the constrained parameter space $\Theta$ is a manifold, which is a requirement of \cref{thm:param-manifold}, we need \cref{thm:kron-manifolds}. Therefore, we need the notion of a \emph{spherical} set, which is a set $\manifold{A}$, on which the Frobenius norm, $\|\,.\,\|_F:\manifold{A}\to\mathbb{R}$, is constant. Furthermore, we call a scale invariant set $\manifold{A}$ a \emph{cone}, that is $\manifold{A} = \{ c \mat{A} : \mat{A}\in\manifold{A} \}$ for all $c > 0$. - \begin{theorem}[\hyperlink{proof:kron-manifolds}{Kronecker Product Manifolds}]\label{thm:kron-manifolds} Let $\manifold{A}\subseteq\mathbb{R}^{p_1\times q_1}\backslash\{\mat{0}\}, \manifold{B}\subseteq\mathbb{R}^{p_2\times q_2}\backslash\{\mat{0}\}$ be smooth embedded submanifolds. Assume one of the following conditions holds: \begin{itemize} @@ -499,7 +449,7 @@ With \cref{thm:kron-manifolds} we can obtain sufficient conditions for the const \quad\text{and}\quad \manifold{K}_{\mat{\Omega}} = \Bigl\{ \bigkron_{k = r}^{1}\mat{\Omega}_k : \mat{\Omega}_k\in\manifold{O}_k \Bigr\} \end{displaymath} - where $\manifold{B}_k\subseteq\mathbb{R}^{p_k\times q_k}\backslash\{\mat{0}\}$ and $\manifold{O}_k\subseteq\SymMat{p_k}\backslash\{\mat{0}\}$ are smooth embedded manifolds that are either spheres or cones, for $k = 1, ..., r$. Then, the \emph{constrained parameter space} \[ \Theta = \mathbb{R}^p \times \manifold{K}_{\mat{B}}\times\vech(\manifold{K}_{\mat{\Omega}})\subset\mathbb{R}^{p(p + 2 q + 3) / 2}\] + where $\manifold{B}_k\subseteq\mathbb{R}^{p_k\times q_k}\backslash\{\mat{0}\}$ and $\manifold{O}_k\subseteq\SymMat{p_k}\backslash\{\mat{0}\}$ are smooth embedded manifolds that are either spheres or cones, for $k = 1, ..., r$. Then, the \emph{constrained parameter space} \[ \Theta = \mathbb{R}^p \times \manifold{K}_{\mat{B}}\times\vech(\manifold{K}_{\mat{\Omega}})\subset\mathbb{R}^{p(p + 2 q + 3) / 2}\] as well as $\manifold{K}_{\mat{B}}$, $\manifold{K}_{\mat{\Omega}}$ and $\vech{\manifold{K}_{\mat{\Omega}}}$ are smooth embedded manifolds, where $\vech(\manifold{K}_{\mat{\Omega}}) = \{ \vech{\mat{\Omega}} : \mat{\Omega}\in\manifold{K}_{\mat{\Omega}} \}$. \end{theorem} @@ -566,9 +516,7 @@ with $\hat{\mat{\theta}}_n = (\vec\widehat{\overline{\ten{\eta}}}, \vec\widehat{ In a classical \emph{generalized linear model} (GLM), the link function connecting the natural parameters to the expectation of the sufficient statistic $\mat{\eta}_y = \mat{g}(\E[\mat{t}(\ten{X}) \mid Y = y])$ is invertible. Such a link may not exist in our setting, but for our purpose it is sufficient to know the conditional first $\E_{\mat{\theta}}[\ten{X} \mid Y = y]$ and second $\E_{\mat{\theta}}[\ten{X}\circ\ten{X} \mid Y = y]$ moments, given a parameterization $\mat{\theta}$ of \eqref{eq:gmlm-density}. -Gradient descent is a powerful and widely used optimization algorithm to compute MLEs. %A straightforward general method for parameter estimation is \emph{gradient descent}. -%To apply gradient-based optimization, -We compute the gradients of $l_n$ in \cref{thm:grad}. +Gradient descent is a powerful and widely used optimization algorithm to compute MLEs. We compute the gradients of $l_n$ in \cref{thm:grad}. \begin{theorem}[\hyperlink{proof:grad}{Likelihood Gradient}]\label{thm:grad} Suppose $(\ten{X}_i, y_i), i = 1, ..., n$, are i.i.d. with conditional log-likelihood of the form \eqref{eq:log-likelihood}, where $\mat{\theta}$ denotes the collection of all GMLM parameters $\overline{\ten{\eta}}$, ${\mat{B}} = \bigkron_{k = r}^{1}{\mat{\beta}}_k$ and ${\mat{\Omega}} = \bigkron_{k = r}^{1}{\mat{\Omega}}_k$ for $k = 1, ..., r$. Then, the partial gradients with respect to $\overline{\ten{\eta}}, \mat{\beta}_1, \ldots, \mat{\beta}_r, \mat{\Omega}_1, \ldots, \mat{\Omega}_r$ are given by @@ -601,26 +549,16 @@ For the sake of simplicity and w.l.o.g., we assume $\ten{X}$ has 0 marginal expe \ten{\mu}_y = \ten{F}_y\mlm_{k = 1}^{r}\mat{\Omega}_k^{-1}\mat{\beta}_k, \qquad \mat{\Omega}_k = \mat{\Sigma}_k^{-1}. \end{equation} -Here we used that $\overline{\ten{\eta}} = 0$ due to $0 = \E\ten{X} = \E\E[\ten{X}\mid Y] = \E\ten{\mu}_Y$ in combination with $\E\ten{F}_Y = 0$. Additionally, the positive definiteness of the $\mat{\Sigma}_k$'s renders all the $\mat{\Omega}_k$'s symmetric positive definite. We obtain $\E_{\mat{\theta}}[\ten{X}\mid Y = y] = \ten{\mu}_y$, and +Here we used that $\overline{\ten{\eta}} = 0$ due to $0 = \E\ten{X} = \E\E[\ten{X}\mid Y] = \E\ten{\mu}_Y$ in combination with $\E\ten{F}_Y = 0$. Additionally, the positive definiteness of the $\mat{\Sigma}_k$'s renders all the $\mat{\Omega}_k$'s symmetric positive definite. We obtain $\E_{\mat{\theta}}[\ten{X}\mid Y = y] = \ten{\mu}_y$, and \begin{displaymath} - % \ten{G}_2(\mat{\eta}_y) = \E_{\mat{\theta}}[\ten{X}\circ\ten{X}\mid Y = y] \equiv \bigkron_{k = r}^1\mat{\Sigma}_k + (\vec{\ten{\mu}}_y)\t{(\vec{\ten{\mu}}_y)}. \end{displaymath} -In practice, we assume we have a random sample of $n$ observations $(\ten{X}_i, \ten{F}_{y_i})$ from the joint distribution. We start the estimation process by demeaning the data. Then, only the reduction matrices $\mat{\beta}_k$ and the scatter matrices $\mat{\Omega}_k$ need to be estimated. To solve the optimization problem \eqref{eq:mle}, with $\overline{\ten{\eta}} = 0$, we initialize the parameters using a simple heuristic approach. First, we compute moment based mode-wise marginal covariance estimates $\widehat{\mat{\Sigma}}_k(\ten{X})= \sum_{i = 1}^{n} (\ten{X}_i)_{(k)}\t{(\ten{X}_i)_{(k)}}/n$ and $\widehat{\mat{\Sigma}}_k(\ten{F}_Y)= \sum_{i = 1}^{n} (\ten{F}_{y_i})_{(k)}\t{(\ten{F}_{y_i})_{(k)}}/n$. % as -%\begin{displaymath} -%\widehat{\mat{\Sigma}}_k(\ten{X}) = \frac{1}{n}\sum_{i = 1}^{n} (\ten{X}_i)_{(k)}\t{(\ten{X}_i)_{(k)}}, \qquad -%\widehat{\mat{\Sigma}}_k(\ten{F}_Y) = \frac{1}{n}\sum_{i = 1}^{n} (\ten{F}_{y_i})_{(k)}\t{(\ten{F}_{y_i})_{(k)}}. -%\end{displaymath} -Then, for every mode $k = 1, \ldots, r$, we compute the eigenvectors $\mat{v}_j(\widehat{\mat{\Sigma}}_k(\ten{X}))$, $\mat{v}_j(\widehat{\mat{\Sigma}}_k(\ten{F}_Y))$ that correspond to the leading eigenvalues $\lambda_j(\widehat{\mat{\Sigma}}_k(\ten{X}))$, $\lambda_j(\widehat{\mat{\Sigma}}_k(\ten{X}))$ of the marginal covariance estimates, for $j = 1, \ldots, q_k$. We set +In practice, we assume we have a random sample of $n$ observations $(\ten{X}_i, \ten{F}_{y_i})$ from the joint distribution. We start the estimation process by demeaning the data. Then, only the reduction matrices $\mat{\beta}_k$ and the scatter matrices $\mat{\Omega}_k$ need to be estimated. To solve the optimization problem \eqref{eq:mle}, with $\overline{\ten{\eta}} = 0$, we initialize the parameters using a simple heuristic approach. First, we compute moment based mode-wise marginal covariance estimates $\widehat{\mat{\Sigma}}_k(\ten{X})= \sum_{i = 1}^{n} (\ten{X}_i)_{(k)}\t{(\ten{X}_i)_{(k)}}/n$ and $\widehat{\mat{\Sigma}}_k(\ten{F}_Y)= \sum_{i = 1}^{n} (\ten{F}_{y_i})_{(k)}\t{(\ten{F}_{y_i})_{(k)}}/n$. Then, for every mode $k = 1, \ldots, r$, we compute the eigenvectors $\mat{v}_j(\widehat{\mat{\Sigma}}_k(\ten{X}))$, $\mat{v}_j(\widehat{\mat{\Sigma}}_k(\ten{F}_Y))$ that correspond to the leading eigenvalues $\lambda_j(\widehat{\mat{\Sigma}}_k(\ten{X}))$, $\lambda_j(\widehat{\mat{\Sigma}}_k(\ten{X}))$ of the marginal covariance estimates, for $j = 1, \ldots, q_k$. We set \begin{align*} \mat{U}_k &= (\mat{v}_1(\widehat{\mat{\Sigma}}_1(\ten{X})), \ldots, \mat{v}_{q_k}(\widehat{\mat{\Sigma}}_{q_k}(\ten{X}))), \, \mat{V}_k = (\mat{v}_1(\widehat{\mat{\Sigma}}_1(\ten{F}_Y), \ldots, \mat{v}_{q_k}(\widehat{\mat{\Sigma}}_{q_k}(\ten{F}_Y))\\ \mat{D}_k &= \diag(\mat{v}_1(\widehat{\mat{\Sigma}}_1(\ten{X}))\mat{v}_1(\widehat{\mat{\Sigma}}_1(\ten{F}_{Y})), \ldots, \mat{v}_{q_k}(\widehat{\mat{\Sigma}}_{q_k}(\ten{X}))\mat{v}_{q_k}(\widehat{\mat{\Sigma}}_k(\ten{F}_{Y}))). \end{align*} -The initial value of $\mat{\beta}_k$ is -%\begin{displaymath} - $ \hat{\mat{\beta}}_k^{(0)} = \mat{U}_k\sqrt{\mat{D}_k}\t{\mat{V}_k},$ -%\end{displaymath} -and the initial value of $\mat{\Omega}_k$ is set to the identity $\mat{\Omega}_k^{(0)} = \mat{I}_{p_k}$, for $k=1,\ldots,r$. +The initial value of $\mat{\beta}_k$ is $\hat{\mat{\beta}}_k^{(0)} = \mat{U}_k\sqrt{\mat{D}_k}\t{\mat{V}_k},$ and the initial value of $\mat{\Omega}_k$ is set to the identity $\mat{\Omega}_k^{(0)} = \mat{I}_{p_k}$, for $k=1,\ldots,r$. Given $\hat{\mat{\beta}}_1, \ldots, \hat{\mat{\beta}}_r, \hat{\mat{\Omega}}_1, \ldots, \hat{\mat{\Omega}}_r$, we take the gradient $\nabla_{\mat{\beta}_j}l_n$ of the multi-linear normal log-likelihood $l_n$ in \eqref{eq:log-likelihood} applying \cref{thm:grad} and keep all other parameters except $\mat{\beta}_j$ fixed. Then, $\nabla_{\mat{\beta}_j}l_n = 0$ has the closed form solution \begin{equation}\label{eq:tensor_normal_beta_solution} \t{\mat{\beta}_j} = \biggl( @@ -639,11 +577,7 @@ Equating the partial gradient of the $j$th scatter matrix $\mat{\Omega}_j$ in \c \begin{displaymath} \hat{\ten{R}}_i = \ten{X}_i - \hat{\ten{\mu}}_{y_i} = \ten{X}_i - \ten{F}_{y_i}\mlm_{k = 1}^{r}\hat{\mat{\Omega}}_k^{-1}\hat{\mat{\beta}}_k. \end{displaymath} -The estimates are computed via -%\begin{displaymath} - $ \tilde{\mat{\Sigma}}_j = \sum_{i = 1}^n (\hat{\ten{R}}_i)_{(j)} \t{(\hat{\ten{R}}_i)_{(j)}},$ -%\end{displaymath} -where $\tilde{s}\tilde{\mat{\Sigma}}_j = \hat{\mat{\Omega}}_j^{-1}$. To decide on the scaling factor $\tilde{s}$ we use that the mean squared error has to be equal to the trace of the covariance estimate, +The estimates are computed via $\tilde{\mat{\Sigma}}_j = \sum_{i = 1}^n (\hat{\ten{R}}_i)_{(j)} \t{(\hat{\ten{R}}_i)_{(j)}},$ where $\tilde{s}\tilde{\mat{\Sigma}}_j = \hat{\mat{\Omega}}_j^{-1}$. To decide on the scaling factor $\tilde{s}$ we use that the mean squared error has to be equal to the trace of the covariance estimate, \begin{displaymath} \frac{1}{n}\sum_{i = 1}^n \langle \hat{\ten{R}}_i, \hat{\ten{R}}_i \rangle = \tr\bigkron_{k = r}^{1}\hat{\mat{\Omega}}_k^{-1} = \prod_{k = 1}^{r}\tr{\hat{\mat{\Omega}}_k^{-1}} = \tilde{s}^r\prod_{k = 1}^{r}\tr{\tilde{\mat{\Sigma}}_k}, \end{displaymath} @@ -652,7 +586,7 @@ so that \tilde{s} = \biggl(\Bigl(\prod_{k = 1}^{r}\tr{\tilde{\mat{\Sigma}}_k}\Bigr)^{-1}\frac{1}{n}\sum_{i = 1}^n \langle \hat{\ten{R}}_i, \hat{\ten{R}}_i \rangle\biggr)^{1 / r} \end{displaymath} resulting in the estimates $\hat{\mat{\Omega}}_j = (\tilde{s}\tilde{\mat{\Sigma}}_j)^{-1}$. -Estimation is performed by updating the estimates $\hat{\mat{\beta}}_j$ via \eqref{eq:tensor_normal_beta_solution} for $j = 1, \ldots, r$, and then recompute the $\hat{\mat{\Omega}}_j$ estimates simultaneously keeping the $\hat{\mat{\beta}}_j$s fixed. This procedure is repeated until convergence. +Estimation is performed by updating the estimates $\hat{\mat{\beta}}_j$ via \eqref{eq:tensor_normal_beta_solution} for $j = 1, \ldots, r$, and then recompute the $\hat{\mat{\Omega}}_j$ estimates simultaneously keeping the $\hat{\mat{\beta}}_j$s fixed. This procedure is repeated until convergence. A technical detail for numerical stability is to ensure that the scaled values $\tilde{s}\tilde{\mat{\Sigma}}_j$, assumed to be symmetric and positive definite, are well conditioned. Thus, we estimate the condition number of $\tilde{s}\tilde{\mat{\Sigma}}_j$ before computing the inverse. In case of ill-conditioning, we use the regularized $\hat{\mat{\Omega}}_j = (\tilde{s}\tilde{\mat{\Sigma}}_j + 0.2 \lambda_{1}(\tilde{s}\tilde{\mat{\Sigma}}_j)\mat{I}_{p_j})^{-1}$ instead, where $\lambda_{1}(\tilde{s}\tilde{\mat{\Sigma}}_j)$ is the first (maximum) eigenvalue. Experiments showed that this regularization is usually only required in the first few iterations. @@ -664,15 +598,7 @@ A standard algorithm to calculate the MLE of a Kronecker product is block-coordi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Multi-Linear Ising Model}\label{sec:ising_estimation} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -The Ising\footnote{Also known as the \emph{Lenz-Ising} model as the physical assumptions of the model where developed by both Lenz and Ising \cite[]{Niss2005} where Ising gave a closed form solution for the 1D lattice \cite[]{Ising1925}.} model \cite[]{Lenz1920,Ising1925,Niss2005} is a mathematical model originating in statistical physics to study ferromagnetism in a thermodynamic setting. It describes magnetic dipoles (atomic ``spins'' with values $\pm 1$) under an external magnetic field (first moments) while allowing two-way interactions (second moments) between direct neighbors on a lattice, a discrete grid. %The Ising problem, as known in statistical physics, is to compute observables such as the magnetizations and correlations under the Boltzmann distribution\footnote{The Boltzmann distribution is a probability distribution over the states of a physical system in thermal equilibrium (constant temperature) that assigns higher probabilities to states with lower energy.} while the interaction structure and the magnetic fields are given. The ``reverse'' problem, where the couplings and fields are unknown and to be determined from observations of the spins, as in statistical inference, is known as the \emph{inverse Ising problem} \cite[]{NguyenEtAl2017}. -%From this point of view, -The Ising model is a member of the discrete quadratic exponential family \cite[]{CoxWermuth1994,JohnsonEtAl1997} for multivariate binary outcomes where the interaction structure (non-zero correlations) is determined by the lattice. -%Generally, neither the values of couplings nor the interaction structure are known. -%In consequence, the Ising model is mostly used to model multivariate binary data in statistics. The states are ${0, 1}$ instead of $\pm 1$, and full interaction structure. -%It is related to a multitude of other models, among which the most prominent are: \emph{Graphical Models} and \emph{Markov Random Fields} to describe conditional dependence \cite[]{Lauritzen1996,WainwrightJordan2008,LauritzenRichardson2002}, \emph{Potts models} \cite[]{Besag1974,ChakrabortyEtAl2022} which generalize the Ising model to multiple states, the \emph{multivariate Bernoulli distribution} \cite[]{Whittaker1990,JohnsonEtAl1997,DaiDingWahba2013} that also accommodates higher-order interactions (three-way and higher), \emph{(restricted) Botlzmann machines} \cite[]{Smolensky1986,Hinton2002,FischerIgel2012} that introduce additional hidden variables for learning binary distributions. Most of these models can be used both in supervised and unsupervised settings. -%Applications of the Ising model (and variations thereof) range from modeling neural firing patterns \cite[]{SchneidmanEtAl2006}, gene expression data analysis \cite[]{LezonEtAl2006}, and modeling financial markets \cite[]{Bury2013}. See also \cite{NguyenEtAl2017}. -%The $r$-tensor Ising model in statistical physics is a generalization of the Ising model to $r$-order interactions. \cite{MukherjeeEtAl2022} study the one-parameter discrete exponential family for modeling dependent binary data where the interaction structure is given. In \cite{LiuEtAl2023} the tensor structure itself is to be inferred. These models are fundamentally different from our approach where we rely on properties of the quadratic exponential family which models up to second-order interactions. Another important difference is that we adopt the multi-linear formulation as it is inherently linked to the observable structure of multi-way data as opposed to describing the model coefficients with an $r$-order tensor structure. -The $p$-dimensional Ising model is a discrete probability distribution on the set of $p$-dimensional binary vectors $\mat{x}\in\{0, 1\}^p$ with probability mass function (pmf) given by +The Ising\footnote{Also known as the \emph{Lenz-Ising} model as the physical assumptions of the model where developed by both Lenz and Ising \cite[]{Niss2005} where Ising gave a closed form solution for the 1D lattice \cite[]{Ising1925}.} model \cite[]{Lenz1920,Ising1925,Niss2005} is a mathematical model originating in statistical physics to study ferromagnetism in a thermodynamic setting. It describes magnetic dipoles (atomic ``spins'' with values $\pm 1$) under an external magnetic field (first moments) while allowing two-way interactions (second moments) between direct neighbors on a lattice, a discrete grid. The Ising model is a member of the discrete quadratic exponential family \cite[]{CoxWermuth1994,JohnsonEtAl1997} for multivariate binary outcomes where the interaction structure (non-zero correlations) is determined by the lattice. The $p$-dimensional Ising model is a discrete probability distribution on the set of $p$-dimensional binary vectors $\mat{x}\in\{0, 1\}^p$ with probability mass function (pmf) given by \begin{displaymath} P_{\mat{\gamma}}(\mat{x}) = p_0(\mat{\gamma})\exp(\t{\vech(\mat{x}\t{\mat{x}})}\mat{\gamma}). \end{displaymath} @@ -702,18 +628,15 @@ where we set $\overline{\ten{\eta}} = 0$. This imposes an additional constraint \end{equation} In contrast to the multi-linear normal GMLM, the matrices $\mat{\Omega}_k$ are only required to be symmetric. More specifically, we require $\mat{\Omega}_k$, for $k = 1, \ldots, r$, to be elements of an embedded submanifold of $\SymMat{p_k}$ (see \cref{sec:kron-manifolds,sec:matrix-manifolds}). The mode-wise reduction matrices $\mat{\beta}_k$ are elements of an embedded submanifold of $\mathbb{R}^{p_k\times q_k}$. Common choices are listed in \cref{sec:matrix-manifolds}. -To solve the optimization problem \eqref{eq:mle}, given a data set $(\ten{X}_i, y_i)$, $i = 1, \ldots, n$, we use the gradients in \cref{thm:grad} and a variation of gradient descent as described in \cref{sec:ising-param-estimation}, which is mostly technical in nature. +To solve the optimization problem \eqref{eq:mle}, given a data set $(\ten{X}_i, y_i)$, $i = 1, \ldots, n$, we use the gradients in \cref{thm:grad} and a variation of gradient descent as described in Appendix~E in the supplementary material, which is mostly technical in nature. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Statistical Properties}\label{sec:statprop} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% \subsection{Asymptotics}\label{sec:asymtotics} -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Let $Z$ be a random variable %distributed according to a parameterized probability distribution -with density $f_{\mat{\theta_0}}\in\{ f_{\mat{\theta}}: \mat{\theta}\in\Theta \}$, where $\Theta$ is a subset of a Euclidean space. We want to estimate the parameter that indexes the pdf, ${\mat{\theta}}_0$, using $n$ i.i.d. (independent and identically distributed) copies of $Z$. We assume a known, real-valued and measurable function $m_{\mat{\theta}}$ exists with $z\mapsto m_{\mat{\theta}}(z)$ for every $\mat{\theta}\in\Theta$, and that ${\mat{\theta}}_0$ is the unique maximizer of the map $\mat{\theta}\mapsto M(\mat{\theta}) = \E m_{\mat{\theta}}(Z)$. For the estimation, we maximize the empirical version +Let $Z$ be a random variable with density $f_{\mat{\theta_0}}\in\{ f_{\mat{\theta}}: \mat{\theta}\in\Theta \}$, where $\Theta$ is a subset of a Euclidean space. We want to estimate the parameter that indexes the pdf, ${\mat{\theta}}_0$, using $n$ i.i.d. (independent and identically distributed) copies of $Z$. We assume a known, real-valued and measurable function $m_{\mat{\theta}}$ exists with $z\mapsto m_{\mat{\theta}}(z)$ for every $\mat{\theta}\in\Theta$, and that ${\mat{\theta}}_0$ is the unique maximizer of the map $\mat{\theta}\mapsto M(\mat{\theta}) = \E m_{\mat{\theta}}(Z)$. For the estimation, we maximize the empirical version \begin{align}\label{eq:Mn} M_n(\mat{\theta}) &= \frac{1}{n}\sum_{i = 1}^n m_{\mat{\theta}}(Z_i). \end{align} @@ -732,18 +655,17 @@ If the objective function $M_n$ is the log-likelihood, $\widehat{\mat{\theta}} \end{definition} \begin{theorem}[\hyperlink{proof:asymptotic-normality-gmlm}{Asymptotic Normality}]\label{thm:asymptotic-normality-gmlm} - Assume $Z = (\ten{X}, Y)$ satisfies model \eqref{eq:quad-density} subject to \eqref{eq:eta1-manifold} and \eqref{eq:eta2-manifold} with true constrained parameter $\mat{\theta}_0 = (\overline{\eta}_0, \mat{B}_0, \vech{\mat{\Omega}_0})\in\Theta$, where $\Theta$ is defined in \cref{thm:param-manifold}. Under the regularity \crefrange{cond:differentiable-and-convex}{cond:finite-sup-on-compacta} in \cref{app:proofs}, there exists a strong M-estimator sequence $\hat{\mat{\theta}}_n$ deriving from $l_n$ in \eqref{eq:log-likelihood} over $\Theta$. Furthermore, any strong M-estimator $\hat{\mat{\theta}}_n$ converges in probability to the true parameter $\mat{\theta}_0$, $\hat{\mat{\theta}}_n\xrightarrow{p}\mat{\theta}_0$, over $\Theta$. Moreover, every strong M-estimator $\hat{\mat{\theta}}_n$ is asymptotically normal, + Assume $Z = (\ten{X}, Y)$ satisfies model \eqref{eq:quad-density} subject to \eqref{eq:eta1-manifold} and \eqref{eq:eta2-manifold} with true constrained parameter $\mat{\theta}_0 = (\overline{\eta}_0, \mat{B}_0, \vech{\mat{\Omega}_0})\in\Theta$, where $\Theta$ is defined in \cref{thm:param-manifold}. Under the regularity Conditions 1--3 in Appendix~B in the supplementary material, there exists a strong M-estimator sequence $\hat{\mat{\theta}}_n$ deriving from $l_n$ in \eqref{eq:log-likelihood} over $\Theta$. Furthermore, any strong M-estimator $\hat{\mat{\theta}}_n$ converges in probability to the true parameter $\mat{\theta}_0$, $\hat{\mat{\theta}}_n\xrightarrow{p}\mat{\theta}_0$, over $\Theta$. Moreover, every strong M-estimator $\hat{\mat{\theta}}_n$ is asymptotically normal, \begin{displaymath} - % \sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0) \xrightarrow{d} \mathcal{N}_{p(p + 2 q + 3) / 2}(0, \mat{\Sigma}_{\mat{\theta}_0}) \sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0) \xrightarrow{d} \mathcal{N}(0, \mat{\Sigma}_{\mat{\theta}_0}) \end{displaymath} - with asymptotic variance-covariance $\mat{\Sigma}_{\mat{\theta}_0}$ given in \eqref{eq:asymptotic-covariance-gmlm} in \cref{app:proofs}. + with asymptotic variance-covariance $\mat{\Sigma}_{\mat{\theta}_0}$ provided in the proof in Appendix~B of the supplementary material. \end{theorem} To provide an intuition for the asymptotic variance-covariance structure $\mat{\Sigma}_{\mat{\theta}_0}$, we start from the classical, non-degenerate setting of an MLE $\hat{\mat{\xi}}_n$ in an unconstrained parameter space $\Xi$ containing the true parameter $\mat{\xi}_0$. In this case, $\mat{\Sigma}_{\mat{\xi}_0}$ is symmetric positive definite. Such matrices can be associated with a hyper-ellipsoid with axes associated with the eigenvectors of $\mat{\Sigma}_{\mat{\xi}_0}$. Given the manifold parameter space $\Theta\subseteq\Xi$ with true parameter $\mat{\theta}_0 = \mat{\xi}_0$, the asymptotic variance-covariance $\mat{\Sigma}_{\mat{\theta}_0}$ is a positive semi-definite matrix associated with a (degenerate) hyper-ellipsoid resulting from intersecting the hyper-ellipsoid of $\mat{\Sigma}_{\mat{\xi}_0}$ with the tangent space of $\Theta$ at $\mat{\theta}_0 = \mat{\xi}_0$ and distorting its shape with respect to the local curvature of $\Theta$ at $\mat{\theta}_0$. \begin{remark} - \cref{thm:asymptotic-normality-gmlm} is a special case of a more general asymptotic normality \cref{thm:M-estimator-asym-normal-on-manifolds} that also generalizes Theorem~5.23 in \cite{vanderVaart1998}, where $\Theta$ is an open subset of an Euclidean space, which is the simplest form of an embedded manifold. \Cref{thm:M-estimator-asym-normal-on-manifolds} is provided in \cref{app:proofs} due to its technical nature. + \cref{thm:asymptotic-normality-gmlm} is a special case of a more general asymptotic normality Theorem~6 that also generalizes Theorem~5.23 in \cite{vanderVaart1998}, where $\Theta$ is an open subset of an Euclidean space, which is the simplest form of an embedded manifold. Theorem~6 is provided in Appendix~B in the supplementary material due to its technical nature. \end{remark} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -755,8 +677,7 @@ To assess the accuracy of the estimation of $\ten{R}(\ten{X})$ in \cref{thm:sdr \begin{displaymath} d(\mat{B}, \hat{\mat{B}}) \propto \| \mat{B}\pinv{(\t{\mat{B}}\mat{B})}\t{\mat{B}} - \hat{\mat{B}}\pinv{(\t{\hat{\mat{B}}}\hat{\mat{B}})}\t{\hat{\mat{B}}} \|_F, \end{displaymath} -where $\propto$ signifies proportional to. %the Frobenius norm of the difference between the projections onto the span of $\mat{B}$ and $\hat{\mat{B}}$. -The proportionality constant\footnote{The proportionality constant depends on the dimension $p$ and the ranks of $\mat{B}$ and $\hat{\mat{B}}$. The explicit value of the proportionality constant is given by $(\min(\rank\mat{B} + \rank\hat{\mat{B}}, 2 p - (\rank\mat{B} + \rank\hat{\mat{B}})))^{-1/2}$.} ensures $d(\mat{B}, \hat{\mat{B}}) \in [0, 1]$. A distance of zero implies space overlap and a distance of one implies orthogonality of the subspaces. +where $\propto$ signifies proportional to. The proportionality constant\footnote{The proportionality constant depends on the dimension $p$ and the ranks of $\mat{B}$ and $\hat{\mat{B}}$. The explicit value of the proportionality constant is given by $(\min(\rank\mat{B} + \rank\hat{\mat{B}}, 2 p - (\rank\mat{B} + \rank\hat{\mat{B}})))^{-1/2}$.} ensures $d(\mat{B}, \hat{\mat{B}}) \in [0, 1]$. A distance of zero implies space overlap and a distance of one implies orthogonality of the subspaces. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -780,28 +701,25 @@ We consider the following settings: \begin{displaymath} \vec{\ten{X}}\mid (Y = y) = \mat{B}\mat{f}_y + \mathcal{N}_{25}(\mat{0}, \mat{\Sigma}), \end{displaymath} - but we fit the model with the wrong $\ten{F}_y$: We set $\ten{F}_y$ to be a $2\times 2$ matrix with $(\ten{F}_y)_{i j} = y^{i + j - 2}$, $i,j=1,2$. Experiment 1e) involves a deliberately misspecified model designed to evaluate the robustness of our approach. %The true model does \emph{not} have a Kronecker structure and the ``known'' function $\ten{F}_y$ of $y$ is misspecified as well. + but we fit the model with the wrong $\ten{F}_y$: We set $\ten{F}_y$ to be a $2\times 2$ matrix with $(\ten{F}_y)_{i j} = y^{i + j - 2}$, $i,j=1,2$. Experiment 1e) involves a deliberately misspecified model designed to evaluate the robustness of our approach. \end{itemize} \begin{figure}[H] \centering - \includegraphics[scale = 1]{../plots/sim-normal-2x3.pdf} + \includegraphics[scale = 1]{plots/sim-normal-2x3.pdf} \caption{\label{fig:sim-normal}Multi-linear normal GMLM. The mean subspace distance $d(\mat{B}, \hat{\mat{B}})$ over $100$ replications is plotted versus sample size on the $x$-axis. The simulation settings are described in \cref{sec:sim-tensor-normal}.} \end{figure} -We plot the subspace distance between the true and estimated $\mat{B}$ over sample size in \cref{fig:sim-normal}. For 1a), TSIR and GMLM are equivalent and the best performers, %as expected given a 1D linear relation between the response $Y$ and $\ten{X}$. -as expected. \cite{DingCook2015} had established that TSIR obtains the MLE estimate under a multi-linear (matrix) normal distributed setting. MGCCA, HOPCA and PCA do not even come close with MGCCA being slightly better than PCA which, unexpectedly, beats HOPCA. -Continuing with 1b), where we introduced a cubic relation between $Y$ and $\ten{X}$, GMLM performs slightly better than TSIR. This is mainly due to GMLM estimating an $8$ dimensional subspace, which amplifies the small performance boost we gain by avoiding slicing. The GMLM model in 1c) behaves as expected, clearly being the best. The other results are surprising. First, PCA, HOPCA and MGCCA are visually indistinguishable. This is explained by a high signal-to-noise ratio in this particular example. The most unexpected outcome is the failure of TSIR, especially because the conditional distribution $\ten{X}\mid Y$ is multi-linear normal, which, combined with $\cov(\vec\ten{X})$ exhibiting a Kronecker structure, should yield the MLE estimate. The low-rank assumption poses no challenges, as it corresponds to TSIR estimating a one-dimensional linear reduction. % that satisfies all the necessary criteria. -A well-known issue with slicing methods, as applied in TSIR, is that conditional multi-modal distributions may lead to estimation problems due to varying distribution modes causing slice means to vanish. However, this issue does not arise in simulation 1c). An investigation into this behavior revealed the problem lies in the estimation of the mode covariance matrices $\mat{O}_k = \E[(\ten{X} - \E\ten{X})_{(k)}\t{(\ten{X} - \E\ten{X})_{(k)}}]$. The mode-wise reductions in TSIR are computed as $\hat{\mat{O}}_k^{-1}\hat{\mat{\Gamma}}_k$. Poor estimation of $\mat{O}_k$ causes the failure of TSIR. This is due to the high signal-to-noise ratio in this particular simulation. GMLM exhibits excellent performance in high signal-to-noise ratio settings but may be less robust in low signal-to-noise ratio settings where TSIR can perform better, at least in this specific example. Simulation 1d), incorporating information about the covariance structure behaves similarly to 1b), except that GMLM gains a statistically significant lead in estimation performance over TSIR. The last simulation, 1e), where the model is misspecified and GMLM is at a theoretical disadvantage, all three GMLM, TSIR, and MGCCA, are on par. GMLM demonstrates a modest advantage up to a sample size of 300, whereas MGCCA takes the lead after a sample size of 500. PCA and HOPCA are both outperformed.% \textcolor{red}{A wrong assumption about the relation to the response is still better than no relation at all.} +We plot the subspace distance between the true and estimated $\mat{B}$ over sample size in \cref{fig:sim-normal}. For 1a), TSIR and GMLM are equivalent and the best performers, as expected. \cite{DingCook2015} had established that TSIR obtains the MLE estimate under a multi-linear (matrix) normal distributed setting. MGCCA, HOPCA and PCA do not even come close with MGCCA being slightly better than PCA which, unexpectedly, beats HOPCA. +Continuing with 1b), where we introduced a cubic relation between $Y$ and $\ten{X}$, GMLM performs slightly better than TSIR. This is mainly due to GMLM estimating an $8$ dimensional subspace, which amplifies the small performance boost we gain by avoiding slicing. The GMLM model in 1c) behaves as expected, clearly being the best. The other results are surprising. First, PCA, HOPCA and MGCCA are visually indistinguishable. This is explained by a high signal-to-noise ratio in this particular example. The most unexpected outcome is the failure of TSIR, especially because the conditional distribution $\ten{X}\mid Y$ is multi-linear normal, which, combined with $\cov(\vec\ten{X})$ exhibiting a Kronecker structure, should yield the MLE estimate. The low-rank assumption poses no challenges, as it corresponds to TSIR estimating a one-dimensional linear reduction. A well-known issue with slicing methods, as applied in TSIR, is that conditional multi-modal distributions may lead to estimation problems due to varying distribution modes causing slice means to vanish. However, this issue does not arise in simulation 1c). An investigation into this behavior revealed the problem lies in the estimation of the mode covariance matrices $\mat{O}_k = \E[(\ten{X} - \E\ten{X})_{(k)}\t{(\ten{X} - \E\ten{X})_{(k)}}]$. The mode-wise reductions in TSIR are computed as $\hat{\mat{O}}_k^{-1}\hat{\mat{\Gamma}}_k$. Poor estimation of $\mat{O}_k$ causes the failure of TSIR. This is due to the high signal-to-noise ratio in this particular simulation. GMLM exhibits excellent performance in high signal-to-noise ratio settings but may be less robust in low signal-to-noise ratio settings where TSIR can perform better, at least in this specific example. Simulation 1d), incorporating information about the covariance structure behaves similarly to 1b), except that GMLM gains a statistically significant lead in estimation performance over TSIR. The last simulation, 1e), where the model is misspecified and GMLM is at a theoretical disadvantage, all three GMLM, TSIR, and MGCCA, are on par. GMLM demonstrates a modest advantage up to a sample size of 300, whereas MGCCA takes the lead after a sample size of 500. PCA and HOPCA are both outperformed. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Ising Model}\label{sec:sim-ising} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - We let $Y_i$ be i.i.d. uniform on $[-1,1]$, $i = 1, \ldots, n$, and $\ten{X}$ be $2\times 3$ %dimensional binary matrix -with conditional matrix (multi-linear) Ising distribution $\ten{X}\mid Y$ as in \cref{sec:ising_estimation}. Unless otherwise specified, we set the GMLM parameters to be % $\mat{\beta}_1, \mat{\beta}_2$, $\mat{\Omega}_1, \mat{\Omega}_2$. We let +We let $Y_i$ be i.i.d. uniform on $[-1,1]$, $i = 1, \ldots, n$, and $\ten{X}$ be $2\times 3$ with conditional matrix (multi-linear) Ising distribution $\ten{X}\mid Y$ as in \cref{sec:ising_estimation}. Unless otherwise specified, we set the GMLM parameters to be \begin{displaymath} \mat{\beta}_1 = \begin{pmatrix} 1 & 0 \\ 0 & 1 @@ -823,7 +741,7 @@ and \end{pmatrix}. \end{displaymath} -We consider the settings: +We consider the settings: \begin{itemize} \item[2a)] A purely linear relation between $\mat{X}$ and the response with $\ten{F}_y\equiv y:1\times 1$ and $\t{\mat{\beta}_1} = (1, 0)$ and $\t{\mat{\beta}_2} = (1, 0, 0)$. \item[2b)] The ``baseline'' simulation with all parameters as described above. @@ -835,9 +753,7 @@ We consider the settings: 0 & 0 \\ 1 & -1 \\ 0 & 0 \end{pmatrix}. \end{displaymath} - \item[2d)] %We conclude with a simulation relating to - The original design of the Ising model is a mathematical model of the behavior of Ferromagnetism \cite{Ising1925} in a thermodynamic setting, modeling the interaction effects of elementary magnets (spin up/down relating to $0$ and $1$). The model assumes all elementary magnets to be the same, which translates to all having the same coupling strength (two-way interactions) governed by a single parameter relating to the temperature of the system. Assuming the magnets are organized in a 2D grid represented by matrix-valued $\ten{X}$, their interactions are restricted to direct neighbors. This is modeled by setting the true $\mat{\Omega}_k$s as tri-diagonal matrices with zero diagonal entries and all non-zero entries identical. %Since this is a 1D matrix manifold, we can enforce the constraint. Setting the true interaction parameters to be - We set + \item[2d)] The original design of the Ising model is a mathematical model of the behavior of Ferromagnetism \cite{Ising1925} in a thermodynamic setting, modeling the interaction effects of elementary magnets (spin up/down relating to $0$ and $1$). The model assumes all elementary magnets to be the same, which translates to all having the same coupling strength (two-way interactions) governed by a single parameter relating to the temperature of the system. Assuming the magnets are organized in a 2D grid represented by matrix-valued $\ten{X}$, their interactions are restricted to direct neighbors. This is modeled by setting the true $\mat{\Omega}_k$s as tri-diagonal matrices with zero diagonal entries and all non-zero entries identical. We set \begin{displaymath} \mat{\Omega}_1 = \frac{1}{2}\begin{pmatrix} 0 & 1 \\ 1 & 0 @@ -852,12 +768,11 @@ We consider the settings: \begin{figure}[ht!] \centering - \includegraphics[scale = 1]{../plots/sim-ising.pdf} + \includegraphics[scale = 1]{plots/sim-ising.pdf} \caption{\label{fig:sim-ising}Simulation results for the Ising GMLM. Sample sizes are placed on the $x$-axis and the mean of subspace distance $d(\mat{B}, \hat{\mat{B}})$ over $100$ replications on the $y$-axis.} \end{figure} -The subspace distances between the estimated and true parameter spaces for sample size $n=100, 200, 300, 500, 750$ are plotted in \cref{fig:sim-ising}. -The comparative results are similar across all simulation settings. PCA and HOPCA, both treating the response $\ten{X}$ as continuous, perform poorly. Not much better are LPCA and CLPCA. Similar to PCA and HOPCA, they do not account for the relation with the response, but they are specifically created for binary predictors. MGCCA, which accounts for $y$ in reducing the predictors, outperforms all the PCA variants. TSIR comes next, even though it treats the predictors $\ten{X}$ as continuous. The Ising GMLM model is the best performer in all simulations. +The subspace distances between the estimated and true parameter spaces for sample size $n=100, 200, 300, 500, 750$ are plotted in \cref{fig:sim-ising}. The comparative results are similar across all simulation settings. PCA and HOPCA, both treating the response $\ten{X}$ as continuous, perform poorly. Not much better are LPCA and CLPCA. Similar to PCA and HOPCA, they do not account for the relation with the response, but they are specifically created for binary predictors. MGCCA, which accounts for $y$ in reducing the predictors, outperforms all the PCA variants. TSIR comes next, even though it treats the predictors $\ten{X}$ as continuous. The Ising GMLM model is the best performer in all simulations. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Data Analysis}\label{sec:data-analysis} @@ -871,65 +786,11 @@ For the 3D EEG version of the data only TSIR and GMLM are directly applicable si In contrast, TSIR and our GMLM model can be applied directly to the raw data without pre-screening or variable selection. In general, the sample size does not need to be large for maximum likelihood estimation in the multilinear normal model. In particular for matrix normal models, \cite{DrtonEtAl2020} proved that very small sample sizes, as little as $3$,\footnote{The required minimum sample size depends on non-trivial number theoretic relations between the mode dimensions, while the vectorized dimensionality has no specific role.} are sufficient to obtain unique MLEs for Kronecker covariance structures. Among the tensor-focused methods in \cref{sec:simulations}, we herein consider only TSIR in view of its superior performance. -We report results for the best performing methods from \cite{PfeifferKaplaBura2021}, namely K-PIR (ls) and LSIR from \cite{PfeifferForzaniBura2012} for $(p_1, p_2) = (3, 4)$, $(15, 15)$, and $(20, 30)$. In addition, we report results for GMLM and two versions of TSIR. TSIR in its original form \cite[]{DingCook2015} as well as TSIR (reg), where we introduce a similar regularization as the one used in the tensor-normal GMLM algorithm. Regularizing TSIR was deemed appropriate in view of the surprising 2D EEG results for TSIR (see \cref{sec:GMLMvsTSIR} for a comparison of TSIR versus GMLM leading to TSIR (reg)). We report results from applying GMLM as well as GMLM (FFT) (Fast Fourier Transform) %without any parameter constraints while GMLM (FFT) -which assumes that the time-axis of the EEG data contains important underlying frequencies. For this reason, the time-axis reduction is modeled as a time-series mixture containing only the $10$ frequencies of highest magnitude as lower-magnitude ones often correspond to noise or less important variations in the signal. %Ignoring them can improve the signal-to-noise ratio. %This modeling assumption is fully supported by our GMLM as described in \cref{sec:manifolds}. -The discriminatory ability of the reduced predictors of the various approaches was assessed by AUC or the area under the receiver operator characteristic (ROC) curve \cite[p. 67]{Pepe2003}. We use leave-one-out cross-validation to obtain unbiased AUC estimates. The average AUC values and their standard deviation for the 2D and 3D EEG data are tabulated in \cref{tab:eeg}. - -% Across all pre-screening dimensions, K-PIR (ls) has an AUC of $78\%$. LSIR performs better at the price of some instability; it peaked at $85\%$ at $(3, 4)$, then dropped down to $81\%$ at $(15, 15)$, and then increased to $83\%$. In contrast, our GMLM method peaked at $(3, 4)$ with $85\%$ and stayed stable at $84\%$, also at the full data ($(p_1, p_2) = (256, 64)$). In contrast, fast POI-C that carries out simultaneous feature extraction and feature selection is outperformed by all other methods with an AUC of $63\%$. Folded SIR \cite[]{LiKimAltman2010} is excluded as it exhibits consistently lower AUC values, ranging from 0.61 to 0.70. \daniel{Tensor SIR to the table, still needs description in text.} +We report results for the best performing methods from \cite{PfeifferKaplaBura2021}, namely K-PIR (ls) and LSIR from \cite{PfeifferForzaniBura2012} for $(p_1, p_2) = (3, 4)$, $(15, 15)$, and $(20, 30)$. In addition, we report results for GMLM and two versions of TSIR. TSIR in its original form \cite[]{DingCook2015} as well as TSIR (reg), where we introduce a similar regularization as the one used in the tensor-normal GMLM algorithm. Regularizing TSIR was deemed appropriate in view of the surprising 2D EEG results for TSIR (see Appendix~D in the supplementary material for a comparison of TSIR versus GMLM leading to TSIR (reg)). We report results from applying GMLM as well as GMLM (FFT) (Fast Fourier Transform) which assumes that the time-axis of the EEG data contains important underlying frequencies. For this reason, the time-axis reduction is modeled as a time-series mixture containing only the $10$ frequencies of highest magnitude as lower-magnitude ones often correspond to noise or less important variations in the signal. The discriminatory ability of the reduced predictors of the various approaches was assessed by AUC or the area under the receiver operator characteristic (ROC) curve \cite[p. 67]{Pepe2003}. We use leave-one-out cross-validation to obtain unbiased AUC estimates. The average AUC values and their standard deviation for the 2D and 3D EEG data are tabulated in \cref{tab:eeg}. Across all pre-screening dimensions, K-PIR (ls) has an AUC of $78\%$ in the 2D EEG with worse results in the 3D case with an AUC of $74\%$--$75\%$. This is in stark contrast to all other methods which gained predictive performance from 2D to 3D. LSIR showed excellent performance with high pre-screening, peaking at $85\%$ and $88\%$ in the 2D and 3D setting, respectively. Without pre-screening, LSIR fails, which is expected as it does not support the full data setting where the time-axis dimension exceeds the sample size, regardless of its algorithmic applicability. -In the 2D scenario, TSIR shows equally good performance with high pre-screening at $(4, 3)$ while slowly decreasing in performance down to $80\%$ at $(20, 30)$ and then dropping down to $69\%$ AUC for the full data set. Comparing with the TSIR performance in the 3D case is somewhat surprising as it is quite stable over all pre-screening dimensions as well as on the full data. This inconsistency between the 2D and 3D analysis of TSIR in conjunction with an expectation of TSIR behaving similarly to GMLM in this case steered us to take a closer look in \cref{sec:GMLMvsTSIR}. We deduced that the main reason for the noted unexpected performance of TSIR is caused by the required inversion of ill-conditioned variance-covariance estimates. To address this limitation, we amended it to TSIR (reg) by introducing regularization of the variance-covariance matrix. %if it is ill-conditioned yielded -TSIR (reg), as can be seen in \cref{tab:eeg}, is very stable with better performance in the 2D case compared to TSIR and a slight decrease in the 3D setting. Our GMLM has identical performance to TSIR (reg) in the 2D setting, as we expected. In the 3D case, GMLM is slightly better than TSIR (reg) while maintaining stability in performance across the different settings. Finaly, GMLM (FFT), which makes only sense to be applied to the full data, reaches AUC of $85\%$ in 2D and $87\%$ in 3D. - -% \begin{table}[!hpt] -% \caption{\label{tab:eeg}Mean AUC values and their standard deviation (in parentheses) based on leave-one-out cross-validation for the 2D EEG imaging data (77 alcoholic and 45 control subjects)} -% \begin{tabular}{l l c c c} -% \hline -% Method & \multicolumn{4}{c}{$(p_1, p_2)$} \\ -% & \multicolumn{1}{c}{$(3, 4)$} -% & \multicolumn{1}{c}{$(15, 15)$} -% & \multicolumn{1}{c}{$(20, 30)$} -% & \multicolumn{1}{c}{$(256, 64)$} \\ -% \hline -% % K-PIR (ls) & 0.78 (0.04) & 0.78 (0.04) & 0.78 (0.04) & \\ -% % LSIR & 0.85 (0.04) & 0.81 (0.04) & 0.83 (0.04) & \\ -% % TSIR & 0.85 (0.04) & 0.83 (0.04) & 0.80 (0.04) & 0.69 (0.05) \\ -% % TSIR (reg) & 0.85 (0.04) & 0.84 (0.04) & 0.84 (0.04) & 0.84 (0.04) \\ -% % FastPOI-C & & & & 0.63 (0.22)\makebox[0pt]{\ \ ${}^{*}$} \\ -% % GMLM & 0.85 (0.04) & 0.84 (0.04) & 0.84 (0.04) & 0.84 (0.04) \\ -% K-PIR (ls) & 78\% (4\%) & 78\% (4\%) & 78\% (4\%) & \\ -% LSIR & 85\% (4\%) & 81\% (4\%) & 83\% (4\%) & 39\% (5\%) \\ -% TSIR & 85\% (4\%) & 83\% (4\%) & 80\% (4\%) & 69\% (5\%) \\ -% TSIR (reg) & 85\% (4\%) & 84\% (4\%) & 84\% (4\%) & 84\% (4\%) \\ -% FastPOI-C & & & & 63\% (22\%)\makebox[0pt]{\ \ ${}^{*}$} \\ -% GMLM & 85\% (4\%) & 84\% (4\%) & 84\% (4\%) & 84\% (4\%) \\ -% GMLM (FFT) & & & & 85\% (4\%) \\ -% \hline -% \multicolumn{4}{l}{${}^{*}$\footnotesize based on 10-fold cross-validation.} -% \end{tabular} -% \end{table} -% -% \begin{table}[!hpt] -% \centering -% \caption{\label{tab:eeg3d}Mean AUC values and their standard deviation (in parentheses) based on leave-one-out cross-validation for the 3D EEG imaging data (77 alcoholic and 45 control subjects)} -% \begin{tabular}{l l c c c} -% \hline -% Method & \multicolumn{4}{c}{$(p_1, p_2, p_3)$} \\ -% & \multicolumn{1}{c}{$(3, 4, 3)$} -% & \multicolumn{1}{c}{$(15, 15, 3)$} -% & \multicolumn{1}{c}{$(20, 30, 3)$} -% & \multicolumn{1}{c}{$(256, 64, 3)$} \\ -% \hline -% K-PIR (ls) & 74\% (5\%) & 75\% (4\%) & 75\% (4\%) \\ -% LSIR & 88\% (3\%) & 81\% (4\%) & 71\% (5\%) & 52\% (6\%) \\ -% TSIR & 87\% (3\%) & 89\% (3\%) & 88\% (3\%) & 86\% (3\%) \\ -% TSIR (reg) & 87\% (3\%) & 84\% (4\%) & 84\% (4\%) & 84\% (4\%) \\ -% GMLM & 88\% (3\%) & 87\% (3\%) & 87\% (3\%) & 87\% (3\%) \\ -% GMLM (FFT) & & & & 87\% (3\%) \\ -% \hline -% \end{tabular} -% \end{table} +In the 2D scenario, TSIR shows equally good performance with high pre-screening at $(4, 3)$ while slowly decreasing in performance down to $80\%$ at $(20, 30)$ and then dropping down to $69\%$ AUC for the full data set. Comparing with the TSIR performance in the 3D case is somewhat surprising as it is quite stable over all pre-screening dimensions as well as on the full data. This inconsistency between the 2D and 3D analysis of TSIR in conjunction with an expectation of TSIR behaving similarly to GMLM in this case steered us to take a closer look in Appendix~D in the supplementary material. We deduced that the main reason for the noted unexpected performance of TSIR is caused by the required inversion of ill-conditioned variance-covariance estimates. To address this limitation, we amended it to TSIR (reg) by introducing regularization of the variance-covariance matrix. TSIR (reg), as can be seen in \cref{tab:eeg}, is very stable with better performance in the 2D case compared to TSIR and a slight decrease in the 3D setting. Our GMLM has identical performance to TSIR (reg) in the 2D setting, as we expected. In the 3D case, GMLM is slightly better than TSIR (reg) while maintaining stability in performance across the different settings. Finaly, GMLM (FFT), which makes only sense to be applied to the full data, reaches AUC of $85\%$ in 2D and $87\%$ in 3D. \begin{table}[!hpt] \caption{\label{tab:eeg}Mean AUC values and their standard deviation (in parentheses) based on leave-one-out cross-validation for the EEG imaging data} @@ -945,7 +806,6 @@ TSIR (reg), as can be seen in \cref{tab:eeg}, is very stable with better perform LSIR & 85\% (4\%) & 81\% (4\%) & 83\% (4\%) & 39\% (5\%) \\ TSIR & 85\% (4\%) & 83\% (4\%) & 80\% (4\%) & 69\% (5\%) \\ TSIR (reg) & 85\% (4\%) & 84\% (4\%) & 84\% (4\%) & 84\% (4\%) \\ - % FastPOI-C & & & & 63\% (22\%)\makebox[0pt]{\ \ ${}^{*}$} \\ GMLM & 85\% (4\%) & 84\% (4\%) & 84\% (4\%) & 84\% (4\%) \\ GMLM (FFT) & & & & 85\% (4\%) \\ \hline @@ -962,17 +822,15 @@ TSIR (reg), as can be seen in \cref{tab:eeg}, is very stable with better perform GMLM & 88\% (3\%) & 87\% (3\%) & 87\% (3\%) & 87\% (3\%) \\ GMLM (FFT) & & & & 87\% (3\%) \\ \hline - % \multicolumn{4}{l}{${}^{*}$\footnotesize based on 10-fold cross-validation.} \end{tabular} \end{table} - -As a real data application on regressions with binary tensor-valued predictors, we analyze chess data and perform a proof of concept data analysis where a chess board is interpreted as a collection of binary $8\times 8$ matrices in \cref{sec:chess}. +As a real data application on regressions with binary tensor-valued predictors, we analyze chess data and perform a proof of concept data analysis where a chess board is interpreted as a collection of binary $8\times 8$ matrices in Appendix~F of the supplementary material. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Discussion}\label{sec:discussion} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -In this paper, we propose a generalized multi-linear model formulation for the inverse conditional distribution of a tensor-valued predictor given a response and derive a multi-linear sufficient reduction for the corresponding forward regression/classification problem. We also propose estimators for the sufficient reduction and show they are consistent and asymptotically normal. We demonstrate, through a numerical example in \cref{sec:GMLMvsVecEfficiency}, the modeling benefits of leveraging the tensor structure of the data. +In this paper, we propose a generalized multi-linear model formulation for the inverse conditional distribution of a tensor-valued predictor given a response and derive a multi-linear sufficient reduction for the corresponding forward regression/classification problem. We also propose estimators for the sufficient reduction and show they are consistent and asymptotically normal. We demonstrate, through a numerical example in supplementary material Appendix~C, the modeling benefits of leveraging the tensor structure of the data. Obtaining the asymptotic results required leveraging manifolds as a basis for resolving the issue of unidentifiable parameters. This in turn led to an even more flexible modeling framework, which allows building complex and potentially problem-specific parameter spaces that incorporate additional domain-specific knowledge into the model. We allude to this feature of our approach in \cref{sec:matrix-manifolds}, where we also tabulate different matrix manifolds that can be used as building blocks $\manifold{B}_k$ and $\manifold{O}_k$ of the parameter space in \cref{tab:matrix-manifolds}. For example, our formulation can easily accommodate longitudinal data tabulated in matrix format, where the rows are covariates and the columns are consecutive time points with discrete AR($k$) dependence structure. @@ -984,935 +842,14 @@ A special case of the Ising model is the one-parameter Ising model without an ex An additional powerful extension of our model involves considering a sum of separable Kronecker predictors. This is motivated by the equivalence of a Kronecker product to a rank $1$ tensor. By allowing a sum of a few separable Kronecker predictors, we remove the implicit rank $1$ constraint. However, if this extension is to be applied to the SDR setting, as in this paper, it is crucial to ensure that the sum of Kronecker products form a parameter manifold. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Multiple Appendixes: %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{appendix} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Examples}\label{app:examples} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\begin{example}[Vectorization]\label{ex:vectorization} - Given a matrix - \begin{displaymath} - \mat{A} = \begin{pmatrix} - 1 & 4 & 7 \\ - 2 & 5 & 8 \\ - 3 & 6 & 9 - \end{pmatrix} - \end{displaymath} - its vectorization is $\vec{\mat{A}} = \t{(1, 2, 3, 4, 5, 6, 7, 8, 9)}$ and its half vectorization $\vech{\mat{A}} = \t{(1, 2, 3, 5, 6, 9)}$. Let $\ten{A}$ be a tensor of dimension $3\times 3\times 3$ given by - \begin{displaymath} - \ten{A}_{:,:,1} = \begin{pmatrix} - 1 & 4 & 7 \\ - 2 & 5 & 8 \\ - 3 & 6 & 9 - \end{pmatrix}, - \qquad - \ten{A}_{:,:,2} = \begin{pmatrix} - 10 & 13 & 16 \\ - 11 & 14 & 17 \\ - 12 & 15 & 18 - \end{pmatrix}, - \qquad - \ten{A}_{:,:,3} = \begin{pmatrix} - 19 & 22 & 25 \\ - 20 & 23 & 26 \\ - 21 & 24 & 27 - \end{pmatrix}. - \end{displaymath} - Then the vectorization of $\ten{A}$ is given by - \begin{displaymath} - \vec{\ten{A}} = \t{(1, 2, 3, 4, ..., 26, 27)}\in\mathbb{R}^{27}. - \end{displaymath} -\end{example} - -\begin{example}[Matricization] - Let $\ten{A}$ be the $3\times 4\times 2$ tensor given by - \begin{displaymath} - \ten{A}_{:,:,1} = \begin{pmatrix} - 1 & 4 & 7 & 10 \\ - 2 & 5 & 8 & 11 \\ - 3 & 6 & 9 & 12 - \end{pmatrix}, - \ten{A}_{:,:,2} = \begin{pmatrix} - 13 & 16 & 19 & 22 \\ - 14 & 17 & 20 & 23 \\ - 15 & 18 & 21 & 24 - \end{pmatrix}. - \end{displaymath} - Its matricizations are then - \begin{gather*} - \ten{A}_{(1)} = \begin{pmatrix} - 1 & 4 & 7 & 10 & 13 & 16 & 19 & 22 \\ - 2 & 5 & 8 & 11 & 14 & 17 & 20 & 23 \\ - 3 & 6 & 9 & 12 & 15 & 18 & 21 & 24 - \end{pmatrix}, - \qquad - \ten{A}_{(2)} = \begin{pmatrix} - 1 & 2 & 3 & 13 & 14 & 15 \\ - 4 & 5 & 6 & 16 & 17 & 18 \\ - 7 & 8 & 9 & 19 & 20 & 21 \\ - 10 & 11 & 12 & 22 & 23 & 24 - \end{pmatrix}, \\ - \ten{A}_{(3)} = \begin{pmatrix} - 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\ - 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 - \end{pmatrix}. - \end{gather*} -\end{example} - - -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% \section{Multi Linear Algebra}\label{app:multi-linear-algebra} -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% \begin{displaymath} -% (\ten{A}\circ\ten{B})\mlm_{k = 1}^{r + s} \mat{C}_k -% = -% \Bigl(\ten{A}\mlm_{k = 1}^r \mat{C}_k\Bigr)\circ\Bigl(\ten{B}\mlm_{l = 1}^s \mat{C}_{l + r}\Bigr) -% \end{displaymath} -% Using $\K(\ten{A}\circ\ten{B}) = \ten{A}\otimes\ten{B}$ gives -% \begin{displaymath} -% \K\Bigl((\ten{A}\circ\ten{B})\mlm_{k = 1}^{r + s} \mat{C}_k\Bigr) -% = -% \Bigl(\ten{A}\mlm_{k = 1}^r \mat{C}_k\Bigr)\otimes\Bigl(\ten{B}\mlm_{l = 1}^s \mat{C}_{l + r}\Bigr) -% \end{displaymath} -% A generalization of the well-known identity $\vec(\mat{A}\mat{B}\mat{C}) = (\t{\mat{C}}\otimes\mat{A})\vec{\mat{B}}$ is given by -% \begin{displaymath} -% \Bigl(\ten{A}\mlm_{k = 1}^r \mat{B}_k \Bigr)_{(\mat{i}, \mat{j})} -% = -% \Bigl( \bigotimes_{k = \#\mat{i}}^{1}\mat{B}_{\mat{i}_k} \Bigr) -% \ten{A}_{(\mat{i}, \mat{j})} -% \Bigl( \bigotimes_{l = \#\mat{j}}^{1}\t{\mat{B}_{\mat{j}_l}} \Bigr) -% \end{displaymath} -% with the special case -% \begin{displaymath} -% \vec\Bigl(\ten{A}\mlm_{k = 1}^r \mat{B}_k\Bigr) -% = -% \Bigl(\bigotimes_{k = r}^{1}\mat{B}_k\Bigr)\vec{\ten{A}} -% \end{displaymath} - -% Furthermore, we have -% \begin{displaymath} -% (\ten{A}\otimes\ten{B})\mlm_{k = 1}^{r}\t{(\vec\mat{C}_k)} -% = -% \Bigl\langle \ten{A}\mlm_{k = 1}^{r} \mat{C}_k, \ten{B} \Bigr\rangle -% = -% \Bigl\langle \ten{A}, \ten{B}\mlm_{k = 1}^{r} \t{\mat{C}_k} \Bigr\rangle -% = -% \t{(\vec{\ten{B}})}\Bigl(\bigotimes_{k = r}^{1}\mat{C}_k\Bigr)\vec{\ten{A}} -% \end{displaymath} -% as well as for any tensor $\ten{A}$ of even order $2 r$ and matching square matrices $\mat{B}_k$ holds -% \begin{displaymath} -% \K(\ten{A})\mlm_{k = 1}^{r}\t{(\vec\mat{B}_k)} -% = -% \t{(\vec{\ten{A}})}\vec\Bigl(\bigotimes_{k = r}^{1}\t{\mat{B}_k}\Bigr) -% \end{displaymath} - -% \begin{lemma}\label{thm:kron-perm} -% Given $r \geq 2$ matrices $\mat{A}_k$ of dimension $p_j\times q_j$ for $k = 1, \ldots, r$, then there exists a unique permutation matrix $\mat{S}_{\mat{p}, \mat{q}}$ such that -% \begin{equation}\label{eq:kron-to-outer-perm} -% \vec\bigkron_{k = r}^{1}\mat{A}_k = \mat{S}_{\mat{p}, \mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. -% \end{equation} -% The permutation $\mat{S}_{\mat{p}, \mat{q}}$ with indices $\mat{p} = (p_1, \ldots, p_r)$ and $\mat{q} = (q_1, \ldots, q_r)$ is defined recursively as -% \begin{equation}\label{eq:S_pq} -% \mat{S}_{\mat{p}, \mat{q}} = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_r q_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr) -% \end{equation} -% with initial value -% \begin{displaymath} -% \mat{S}_{(p_1, p_2), (q_1, q_2)} = \mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1} -% \end{displaymath} -% where $\mat{K}_{p, q}$ is the \emph{commutation matrix} \cite[][Ch.~11]{AbadirMagnus2005}, that is the permutation such that $\vec{\t{\mat{A}}} = \mat{K}_{p, q}\vec{\mat{A}}$ for every $p\times q$ dimensional matrix $\mat{A}$. -% \end{lemma} -% \begin{proof} -% Lemma~7 in \cite{MagnusNeudecker1986} states that -% \begin{align} -% \vec(\mat{A}_2\otimes\mat{A}_1) -% &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})(\vec{\mat{A}_2}\otimes\vec{\mat{A}_1}) \label{eq:MagnusNeudecker1986-vec-kron-identity} \\ -% &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})\vec(\mat{A}_1\circ \mat{A}_2). \nonumber -% \end{align} -% This proves the statement for $r = 2$. The general statement for $r > 2$ follows via induction. Assuming \eqref{eq:kron-to-outer-perm} holds for $r - 1$, the induction step is then; -% \begin{multline*} -% \vec{\bigkron_{k = r}^{1}}\mat{A}_k -% = \vec\Bigl(\mat{A}_r\otimes\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ -% \overset{\eqref{eq:MagnusNeudecker1986-vec-kron-identity}}{=} \Bigl( \mat{I}_{q_r}\otimes\mat{K}_{\prod_{k = 1}^{r - 1}q_k, p_r}\otimes\mat{I}_{\prod_{k = 1}^{r - 1}p_k} \Bigr)\vec\Bigl((\vec\mat{A}_r)\otimes\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ -% = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\Bigl(\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ -% \overset{\eqref{eq:kron-to-outer-perm}}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ -% \overset{(a)}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_r q_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr)\vec\Bigl[\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ -% = \mat{S}_{\mat{p}, \mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. -% \end{multline*} -% Equality $(a)$ uses the relation $\vec(\mat{C}\mat{a}\t{\mat{b}}) = (\mat{I}_{\dim(\mat{b})}\otimes\mat{C})\vec(\mat{a}\t{\mat{b}})$ for a matrix $\mat{C}$ and vectors $\mat{a}, \mat{b}$. -% \end{proof} - -% \begin{remark} -% The permutation matrix $\mat{K}_{p, q}$ represents a perfect outer $p$-shuffle of $p q$ elements. -% \end{remark} - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Proofs}\label{app:proofs} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\begin{proof}[\hypertarget{proof:sdr}{Proof of \cref{thm:sdr}}] - A direct implication of Theorem~1 from \cite{BuraDuarteForzani2016} is that, under the exponential family \eqref{eq:quad-density} with natural statistic $\mat{t}(\ten{X})$, - \begin{displaymath} - \t{\mat{\alpha}}(\mat{t}(\ten{X}) - \E\mat{t}(\ten{X})) - \end{displaymath} - is a sufficient reduction, where $\mat{\alpha}\in\mathbb{R}^{p (p + 3) / 2\times q}$ with $\Span(\mat{\alpha}) = \Span(\{\mat{\eta}_y - \E_{Y}\mat{\eta}_Y : y\in\mathcal{S}_Y\})$ where $\mathcal{S}_Y$ denotes the sample space of $Y$. Since $\E_Y\ten{F}_Y = 0$ and $\E_Y\mat{\eta}_{1 Y} = \E[\vec\overline{\ten{\eta}} - \mat{B}\vec\ten{F}_Y] = \vec\overline{\ten{\eta}}$ is follows that - \begin{displaymath} - \mat{\eta}_y - \E_{Y}\mat{\eta}_Y = \begin{pmatrix} - \mat{\eta}_{1 y} - \E_{Y}\mat{\eta}_{1 Y} \\ - \mat{\eta}_{2} - \E_{Y}\mat{\eta}_{2} - \end{pmatrix} = \begin{pmatrix} - \mat{B}\vec\ten{F}_y \\ - \mat{0} - \end{pmatrix}. - \end{displaymath} - because $\mat{\eta}_{2}$ does not depend on $y$. The set $\{ \vec{\ten{F}_y} : y\in\mathcal{S}_Y \}$ is a subset of $\mathbb{R}^q$. Therefore, - \begin{displaymath} - \Span\left(\{\mat{\eta}_y - \E_{Y}\mat{\eta}_Y : y\in\mathcal{S}_Y\}\right) = \Span\left(\left\{\begin{pmatrix} - \mat{B}\vec\ten{F}_Y \\ \mat{0} - \end{pmatrix} : y\in\mathcal{S}_Y \right\}\right) - \subseteq - \Span\begin{pmatrix} - \mat{B} \\ \mat{0} - \end{pmatrix}, - \end{displaymath} - which obtains with $\mat{t}(\ten{X}) = (\vec\ten{X}, \vech(\t{(\vec\ten{X})}(\vec\ten{X})))$ that - \begin{displaymath} - \t{\begin{pmatrix} - \mat{B} \\ \mat{0} - \end{pmatrix}}(\mat{t}(\ten{X}) - \E\mat{t}(\ten{X})) - = - \t{\mat{B}}\vec(\ten{X} - \E\ten{X}) - = \vec\Bigl(\ten{F}_y\mlm_{k = 1}^{r}\mat{\beta}_k\Bigr) - \end{displaymath} - is also a sufficient reduction, though not necessarily minimal, using $\mat{B} = \bigkron_{k = 1}^{r}\mat{\beta}_k$. When the exponential family is full rank, which in our setting amounts to all $\mat{\beta}_j$'s being full rank matrices for $j = 1, \ldots, r$, then Theorem~1 from \cite{BuraDuarteForzani2016} also obtains the minimality of the reduction. -\end{proof} - -\begin{proof}[\hypertarget{proof:kron-manifolds}{Proof of \cref{thm:kron-manifolds}}] - We start by considering the first case and assume that $\manifold{B}$ is spherical with radius $1$ w.l.o.g. We equip $\manifold{K} = \{ \mat{A}\otimes \mat{B} : \mat{A}\in\manifold{A}, \mat{B}\in\manifold{B} \}\subset\mathbb{R}^{p_1 p_2\times q_1 q_2}$ with the subspace topology.\footnote{Given a topological space $(\manifold{M}, \mathcal{T})$ and a subset $\mathcal{S}\subseteq\manifold{M}$ the \emph{subspace topology} on $\manifold{S}$ induced by $\manifold{M}$ consists of all open sets in $\manifold{M}$ intersected with $\manifold{S}$, that is $\{ O\cap\manifold{S} : O\in\mathcal{T} \}$ \cite[]{Lee2012,Lee2018,Kaltenbaeck2021}.} Define the hemispheres $H_i^{+} = \{ \mat{B}\in\manifold{B} : (\vec{\mat{B}})_i > 0 \}$ and $H_i^{-} = \{ \mat{B}\in\manifold{B} : (\vec{\mat{B}})_i < 0 \}$ for $i = 1, ..., p_2 q_2$. The hemispheres are an open cover of $\manifold{B}$ with respect to the subspace topology. Define for every $H_i^{\pm}$, where $\pm$ is a placeholder for ether $+$ or $-$, the function - \begin{displaymath} - f_{H_i^{\pm}} : \manifold{A}\times H_i^{\pm}\to\mathbb{R}^{p_1 p_2\times q_1 q_2} - : (\mat{A}, \mat{B})\mapsto \mat{A}\otimes \mat{B} - \end{displaymath} - which is smooth. With the spherical property of $\manifold{B}$ the relation $\|\mat{A}\otimes \mat{B}\|_F = \|\mat{A}\|_F$ for all $\mat{A}\otimes \mat{B}\in\manifold{K}$ ensures that the function $f_{H_i^{\pm}}$, constrained to its image, is bijective with inverse function (identifying $\mathbb{R}^{p\times q}$ with $\mathbb{R}^{p q}$) given by - \begin{displaymath} - f_{H_i^{\pm}}^{-1} = \begin{cases} - f_{H_i^{\pm}}(\manifold{A}\times H_i^{\pm})\to\manifold{A}\times H_i^{\pm} \\ - \mat{C}\mapsto \left(\pm\frac{\|\mat{C}\|_F}{\|\mat{R}(\mat{C})\mat{e}_i\|_2}\mat{R}(\mat{C})\mat{e}_i, \pm\frac{1}{\|\mat{C}\|_F\|\mat{R}(\mat{C})\mat{e}_i\|_2}\mat{R}(\mat{C})\t{\mat{R}(\mat{C})}\mat{e}_i\right) - \end{cases} - \end{displaymath} - where $\pm$ is $+$ for a ``positive'' hemisphere $H_i^{+}$ and $-$ otherwise, $\mat{e}_i\in\mathbb{R}^{p_2 q_2}$ is the $i$th unit vector and $\mat{R}(\mat{C})$ is a ``reshaping'' permutation\footnote{Relating to $\K$ the operation $\mat{R}$ is basically its inverse as $\K(\mat{A}\circ\mat{B}) = \mat{A}\otimes\mat{B}$ with a mismatch in the shapes only.} which acts on Kronecker products as $\mat{R}(\mat{A}\otimes \mat{B}) = (\vec{\mat{A}})\t{(\vec{\mat{B}})}$. This makes $f_{H_i^{\pm}}^{-1}$ a combination of smooth functions ($\mat{0}$ is excluded from $\manifold{A}, \manifold{B}$ guarding against division by zero) and as such it is also smooth. This ensures that $f_{H_i^{\pm}} : \manifold{A}\times {H_i^{\pm}}\to f_{H_i^{\pm}}(\manifold{A}\times {H_i^{\pm}})$ is a diffeomorphism. - - Next, we construct an atlas\footnote{A collection of charts $\{ \varphi_i : i\in I \}$ with index set $I$ of a manifold $\manifold{A}$ is called an \emph{atlas} if the pre-images of the charts $\varphi_i$ cover the entire manifold $\manifold{A}$.} for $\manifold{K}$ which is equipped with the subspace topology. Let $(\varphi_j, U_j)_{j\in J}$ be a atlas of $\manifold{A}\times\manifold{B}$. Such an atlas exists and admits a unique smooth structure as both $\manifold{A}, \manifold{B}$ are embedded manifolds from which we take the product manifold. The images of the coordinate domains $f_H(U_j)$ are open in $\manifold{K}$, since $f_H$ is a diffeomorphism, with the corresponding coordinate maps - \begin{displaymath} - \phi_{H_i^{\pm},j} : f_{H_i^{\pm}}(U_j)\to \varphi_j(U_j) - : \mat{C}\mapsto \varphi_j(f_{H_i^{\pm}}^{-1}(\mat{C})). - \end{displaymath} - By construction the set $\{ \phi_{H_i^{\pm},j} : i = 1, ..., p_2 q_2, \pm\in\{+, -\}, j\in J \}$ is an atlas if the charts are compatible. This means we need to check if the transition maps are diffeomorphisms. Let $(\phi_{H, j}, V_j), (\phi_{\widetilde{H}, k}, V_k)$ be two arbitrary charts from our atlas, then the transition map $\phi_{\widetilde{H}, k}\circ\phi_{H,j}^{-1}:\phi_{H,j}^{-1}(V_j\cap V_k)\to\phi_{\widetilde{H},k}^{-1}(V_j\cap V_k)$ has the form - \begin{displaymath} - \phi_{\widetilde{H}, k}\circ\phi_{H,j}^{-1} - = \varphi_k\circ f_{\widetilde{H}}^{-1}\circ f_{H}\circ\varphi_{j}^{-1} - = \varphi_k\circ (\pm\mathrm{id})\circ\varphi_{j}^{-1} - \end{displaymath} - where $\pm$ depends on $H, \widetilde{H}$ being of the same ``sign'' and $\mathrm{id}$ is the identity. We conclude that the charts are compatible, which makes the constructed set of charts an atlas. With that we have shown the topological manifold $\manifold{K}$ with the subspace topology admit a smooth atlas that makes it an embedded smooth manifold with dimension equal to the dimension of the product topology $\manifold{A}\times\manifold{B}$; that is, $d = \dim\manifold{A} + \dim\manifold{B}$. - - It remains to show that the cone condition also admits a smooth manifold. $\manifold{K} = \{ \mat{A}\otimes \mat{B} : \mat{A}\in\manifold{A}, \mat{B}\in\widetilde{\manifold{B}} \}$, where $\widetilde{\manifold{B}} = \{ \mat{B}\in\manifold{B} : \|\mat{B}\|_F = 1 \}$, holds if both $\manifold{A}, \manifold{B}$ are cones. Since $g:\manifold{B}\to\mathbb{R}:\mat{B}\mapsto \|\mat{B}\|_F$ is continuous on $\manifold{B}$ with full rank $1$ everywhere, $\widetilde{\manifold{B}} = g^{-1}(1)$ is a $\dim{\manifold{B}} - 1$ dimensional embedded submanifold of $\manifold{B}$. An application of the spherical case proves the cone case. -\end{proof} - -\begin{proof}[\hypertarget{proof:param-manifold}{Proof of \cref{thm:param-manifold}}] - Induction using \cref{thm:kron-manifolds} ensures that $\manifold{K}_{\mat{B}}$ and $\manifold{K}_{\mat{\Omega}}$ are embedded submanifolds. - - Since $\vech : \mathbb{R}^{p^2}\to\mathbb{R}^{p(p+1)/2}$ is linear and $\manifold{K}_{\mat{\Omega}}$ is embedded we get by the linearity of $\vech$ that $\vech(\manifold{K}_{\mat{\Omega}}) = \{\vech\mat{\Omega}:\mat{\Omega}\in\manifold{K}_{\mat{\Omega}}\}$ is embedded in $\mathbb{R}^{p(p+1)/2}$. - - Finally, the finite product manifold of embedded submanifolds is embedded in the finite product space of their ambient spaces, that is $\Theta = \mathbb{R}^p \times \manifold{K}_{\mat{B}}\times\vech(\manifold{K}_{\mat{\Omega}}) \subset \mathbb{R}^p\times\mathbb{R}^{p\times q}\times\mathbb{R}^{p(p + 1)/2}$ is embedded. -\end{proof} - -\begin{proof}[\hypertarget{proof:grad}{Proof of \cref{thm:grad}}] - We first note that for any exponential family with density \eqref{eq:quad-density} the term $b(\mat{\eta}_{y})$ differentiated with respect to the natural parameter $\mat{\eta}_{y}$ is the expectation of the statistic $\mat{t}(\ten{X})$ given $Y = y$. In our case, we get $\nabla_{\mat{\eta}_{y}}b = (\nabla_{\mat{\eta}_{1{y}}}b, \nabla_{\mat{\eta}_2}b)$ with components - \begin{displaymath} - \nabla_{\mat{\eta}_{1{y}}}b - = \E[\vec(\ten{X})\mid Y = y] - = \vec\E[\ten{X}\mid Y = y] - % = \vec\ten{g}_1(\mat{\eta}_{y}) - \end{displaymath} - and - \begin{multline*} - \nabla_{\mat{\eta}_{2}}b - % &= \E[\mat{t}_2(\ten{X})\mid Y = y_i] - = \E[\vech((\vec\ten{X})\t{(\vec\ten{X})})\mid Y = y] \\ - = \E[\pinv{\mat{D}_p}\vec(\ten{X}\circ\ten{X})\mid Y = y] - % = \pinv{\mat{D}_p}\vec\ten{g}_2(\mat{\eta}_{y}). - = \pinv{\mat{D}_p}\vec\E[\ten{X}\circ\ten{X}\mid Y = y]. - \end{multline*} - The gradients are related to their derivatives by transposition, $\nabla_{\mat{\eta}_{1{y_i}}}b = \t{\D b(\mat{\eta}_{1{y}})}$ and $\nabla_{\mat{\eta}_2}b = \t{\D b(\mat{\eta}_2)}$. - Next, we provide the differentials of the natural parameter components from \eqref{eq:eta1} and \eqref{eq:eta2} in a quite direct form, without any further ``simplifications,'' because the down-stream computations will not benefit from re-expressing - \begin{align*} - \d\mat{\eta}_{1{y}}(\overline{\ten{\eta}}) - &= \d\vec{\overline{\ten{\eta}}}, \\ - \d\mat{\eta}_{1{y}}(\mat{\beta}_j) - &= \vec\Bigl( \ten{F}_{y}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\times_j\d\mat{\beta}_j \Bigr), \\ - \d\mat{\eta}_2(\mat{\Omega}_j) - = c\t{\mat{D}_p}\vec\d\bigotimes_{j = r}^1\mat{\Omega}_j - &= c\t{\mat{D}_p}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr). - \end{align*} - All other combinations, namely $\d\mat{\eta}_{1{y}}(\mat{\Omega}_j)$, $\d\mat{\eta}_2(\overline{\ten{\eta}})$ and $\d\mat{\eta}_2(\mat{\beta}_j)$, are zero. - - Continuing with the partial differentials of $l_n$ from \eqref{eq:log-likelihood} - \begin{multline*} - \d l_n(\overline{\ten{\eta}}) - = \sum_{i = 1}^{n} (\langle \d\overline{\ten{\eta}}, \ten{X}_i \rangle - \D b(\mat{\eta}_{1{y_i}})\d\mat{\eta}_{1{y_i}}(\overline{\ten{\eta}})) - = \sum_{i = 1}^{n} \t{(\vec{\ten{X}_i} - \vec\E[\ten{X} \mid Y = y_i])}\d\vec{\overline{\ten{\eta}}} \\ - = \t{(\d\vec{\overline{\ten{\eta}}})}\vec\sum_{i = 1}^{n} (\ten{X}_i - \E[\ten{X} \mid Y = y_i]). - \end{multline*} - For every $j = 1, ..., r$ we get the differentials - \begin{align*} - \d l_n(\mat{\beta}_j) - &= \sum_{i = 1}^{n} \biggl(\Bigl\langle \ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\times_j\d\mat{\beta}_j, \ten{X}_i \Bigr\rangle - \D b(\mat{\eta}_{1{y_i}})\d\mat{\eta}_{1{y_i}}(\mat{\beta}_j)\biggr) \\ - &= \sum_{i = 1}^{n} \Bigl\langle \ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\times_j\d\mat{\beta}_j, \ten{X}_i - \E[\ten{X} \mid Y = y_i] \Bigr\rangle \\ - &= \sum_{i = 1}^{n} \tr\biggl( \d\mat{\beta}_j\Bigl(\ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\Bigr)_{(j)} \t{(\ten{X}_i - \E[\ten{X} \mid Y = y_i])_{(j)}} \biggr) \\ - &= \t{(\d\vec{\mat{\beta}_j})}\vec\sum_{i = 1}^{n} (\ten{X}_i - \E[\ten{X} \mid Y = y_i])_{(j)} \t{\Bigl(\ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\Bigr)_{(j)}} - \end{align*} - as well as - \begin{align*} - \d l_n(\mat{\Omega}_j) - &= \sum_{i = 1}^{n} \biggl( c\Bigl\langle \ten{X}_i\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\Omega}_k\times_j\d\mat{\Omega}_j, \ten{X}_i \Bigr\rangle - \D b(\mat{\eta}_2)\d\mat{\eta}_2(\mat{\Omega}_j) \biggr) \\ - &= c\sum_{i = 1}^{n} \biggl( \Bigl\langle \ten{X}_i\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\Omega}_k\times_j\d\mat{\Omega}_j, \ten{X}_i \Bigr\rangle \\ - &\qquad\qquad - \t{(\pinv{\mat{D}_p}\vec\E[\ten{X}\circ\ten{X}\mid Y = y_i])}\t{\mat{D}_p}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr) \biggr) \\ - &\overset{(a)}{=} c\sum_{i = 1}^{n} \biggl( \Bigl\langle \ten{X}_i\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\Omega}_k\times_j\d\mat{\Omega}_j, \ten{X}_i \Bigr\rangle \\ - &\qquad\qquad - \t{(\vec\E[\ten{X}\circ\ten{X}\mid Y = y_i])}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr) \biggr) \\ - &= c\sum_{i = 1}^{n} \biggl( \t{\vec(\ten{X}_i\circ\ten{X}_i - \E[\ten{X}\circ\ten{X}\mid Y = y_i])}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr) \biggr) \\ - &= c\sum_{i = 1}^{n} \bigl(\ten{X}_i\otimes\ten{X}_i - \E[\ten{X}\otimes\ten{X}\mid Y = y_i]\bigr)\mlm_{\substack{k = 1\\k\neq j}}^{r}\t{(\vec{\mat{\Omega}_k})}\times_j\t{(\d\vec{\mat{\Omega}_j})} \\ - &= c\t{(\d\vec{\mat{\Omega}_j})}\sum_{i = 1}^{n} \Bigl(\bigl(\ten{X}_i\otimes\ten{X}_i - \E[\ten{X}\otimes\ten{X}\mid Y = y_i]\bigr)\mlm_{\substack{k = 1\\k\neq j}}^{r}\t{(\vec{\mat{\Omega}_k})}\Bigr)_{(j)} \\ - &= c\t{(\d\vec{\mat{\Omega}_j})}\vec\sum_{i = 1}^{n} \bigl(\ten{X}_i\otimes\ten{X}_i - \E[\ten{X}\otimes\ten{X}\mid Y = y_i]\bigr)\mlm_{\substack{k = 1\\k\neq j}}^{r}\t{(\vec{\mat{\Omega}_k})}. - \end{align*} - Equality $(a)$ holds because $\mat{N}_p = \mat{D}_p\pinv{\mat{D}_p}$ is the symmetrizer matrix \cite[][Ch.~11]{AbadirMagnus2005}. The symmetrizer matrix $\mat{N}_p$ satisfies $\mat{N}_p\vec{\mat{A}} = \vec{\mat{A}}$ if $\mat{A} = \t{\mat{A}}$, and - \begin{displaymath} - \vec\E[\ten{X}\circ\ten{X}\mid Y = y] = \vec\E[(\vec{\ten{X}})\t{(\vec{\ten{X}})}\mid Y = y] - \end{displaymath} - is the vectorization of a symmetric matrix. - - Finally, using the identity $\d \ten{A}(\ten{B}) = \t{(\d\vec{\ten{B}})}\nabla_{\ten{B}}\ten{A}$ identifies the partial gradients. -\end{proof} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Asymptotic Normality for M-estimators on Manifolds} -To proof asymptotic results, we need some technical lemmas as well as the definition of the tangent space of a manifold provided herein. We conclude this subsection with \cref{thm:M-estimator-asym-normal-on-manifolds}, a more general form of \cref{thm:asymptotic-normality-gmlm}. - -The following is a reformulation of Lemma~2.3 from \cite{BuraEtAl2018} which assumes Condition~2.2 to hold. %The existence of a mapping in Condition~2.2 is not needed for Lemma~2.3. It suffices that the restricted parameter space $\Theta$ is a subset of the unrestricted parameter space $\Xi$, which is trivially satisfied in our setting. Under this, \cref{thm:exists-strong-M-estimator-on-subsets} follows directly from Lemma~2.3 in \cite{BuraEtAl2018}. -Condition~2.2 assumes the existence of a mapping from an open set into the unrestricted parameter space $\Xi$ such that the image of the mapping is the restricted parameter space $\Theta$. The existence of this mapping is not needed, instead the weaker assumption $\Theta\subseteq\Xi$ is sufficient with an almost identical proof. - -\begin{lemma}[Existence of strong M-estimators on Subsets]\label{thm:exists-strong-M-estimator-on-subsets} - Assume there exists a (weak/strong) M-estimator $\hat{\mat{\xi}}_n$ for $M_n$ over $\Xi$. Then, there exists a strong M-estimator $\hat{\mat{\theta}}_n$ for $M_n$ over any non-empty $\Theta\subseteq\Xi$. -\end{lemma} -\begin{proof}%[\hypertarget{proof:exists-strong-M-estimator-on-subsets}{Proof of \cref{thm:exists-strong-M-estimator-on-subsets}}] - Let $\hat{\mat{\xi}}_n$ be a (weak/strong) M-estimator for the unconstrained problem. This gives by definition, in any case, that - \begin{displaymath} - \sup_{\mat{\xi}\in\Xi} M_n(\mat{\xi}) \leq M_n(\hat{\mat{\xi}}_n) + o_P(1). - \end{displaymath} - Since $\emptyset\neq\Theta\subseteq\Xi$, $\sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) \leq \sup_{\mat{\xi}\in\Xi} M_n(\mat{\xi})$ and with $M_n(\mat{\xi}) < \infty$ for any $\mat{\xi}\in\Xi$ - \begin{displaymath} - P\Bigl( \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) < \infty \Bigr) - \geq - P\Bigl( \sup_{\mat{\xi}\in\Xi} M_n(\mat{\xi}) < \infty \Bigr) - \xrightarrow{n\to\infty} - 1. - \end{displaymath} - If $\sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) < \infty$, then, for any $0 < \epsilon_n$ there exists $\hat{\mat{\theta}}_n\in\Theta$ such that $\sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) - \epsilon_n \leq M_n(\hat{\mat{\theta}}_n)$. Therefore, we can choose $\epsilon_n\in o(n^{-1})$, which yields - \begin{displaymath} - P\Bigl( M_n(\hat{\mat{\theta}}_n) \geq \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) - o(n^{-1}) \Bigr) - \geq - P\Bigl( \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) < \infty \Bigr) - \xrightarrow{n\to\infty} - 1. - \end{displaymath} - The last statement is equivalent to - \begin{displaymath} - M_n(\hat{\mat{\theta}}_n) \geq \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) - o_P(n^{-1}), - \end{displaymath} - which is the definition of $\hat{\mat{\theta}}_n$ being a strong M-estimator over $\Theta$. -\end{proof} - - - -\begin{lemma}[Existence and Consistency of M-estimators on Subsets]\label{thm:M-estimator-consistency-on-subsets} - Let $\Xi$ be a convex open subset of a Euclidean space and $\Theta\subseteq\Xi$ non-empty. Assume $\mat{\xi}\mapsto m_{\mat{\xi}}(z)$ is a strictly concave function on $\Xi$ for almost all $z$ and $z\mapsto m_{\mat{\xi}}(z)$ is measurable for all $\mat{\xi}\in\Xi$. Let $M(\mat{\xi}) = \E m_{\mat{\xi}}(Z)$ be a well defined function with a unique maximizer $\mat{\theta}_0\in\Theta\subseteq\Xi$; that is, $M(\mat{\theta}_0) > M(\mat{\xi})$ for all $\mat{\xi}\neq\mat{\theta}_0$. Also, assume - \begin{displaymath} - \E\sup_{\mat{\xi}\in K}|m_{\mat{\xi}}(Z)| < \infty, - \end{displaymath} - for every non-empty compact $K\subset\Xi$. Then, there exists a strong M-estimator $\hat{\mat{\theta}}_n$ of $M_n(\mat{\theta}) = \frac{1}{n}\sum_{i = 1}^{n} m_{\mat{\theta}}(Z_i)$ over the subset $\Theta$. Moreover, any strong M-estimator $\hat{\mat{\theta}}_n$ of $M_n$ over $\Theta$ converges in probability to $\mat{\theta}_0$, that is $\hat{\mat{\theta}}_n\xrightarrow{p}\mat{\theta}_0$. -\end{lemma} -\begin{proof}%[Proof of \cref{thm:M-estimator-consistency-on-subsets}] - The proof follows the proof of Proposition~2.4 in \cite{BuraEtAl2018} with the same assumptions, except that we only require $\Theta$ to be a subset of $\Xi$. This is accounted for by replacing Lemma~2.3 in \cite{BuraEtAl2018} with \cref{thm:exists-strong-M-estimator-on-subsets} to obtain the existence of a strong M-estimator on $\Theta$. -\end{proof} - - -We also need the concept of a \emph{tangent space} to formulate asymptotic normality in a way that is independent of a particular coordinate representation. Intuitively, the tangent space at a point $\mat{x}\in\manifold{A}$ of the manifold $\manifold{A}$ is the hyperspace of all velocity vectors $\t{\nabla\gamma(0)}$ of any curve $\gamma:(-1, 1)\to\manifold{A}$ passing through $\mat{x} = \gamma(0)$, see \cref{fig:torus}. Locally, at $\mat{x} = \gamma(0)$ with a chart $\varphi$ we can write $\gamma(t) = \varphi^{-1}(\varphi(\gamma(t)))$ that gives $\Span\t{\nabla\gamma(0)} \subseteq \Span\t{\nabla\varphi^{-1}(\varphi(\mat{x}))}$. Taking the union over all smooth curves through $\mat{x}$ gives equality. The following definition leverages the simplified setup of smooth manifolds in Euclidean space. - -\begin{figure}[!hpt] - \centering - \includegraphics[width = 0.5\textwidth]{../images/TorustangentSpace.pdf} - \caption{\label{fig:torus}Visualization of the tangent space $T_{\mat{x}}\manifold{A}$ at $\mat{x}$ of the torus $\manifold{A}$. The torus $\manifold{A}$ is a 2-dimensional embedded manifold in $\mathbb{R}^3$. The tangent space $T_{\mat{x}}\manifold{A}\subset\mathbb{R}^3$ is a 2-dimensional hyperplane visualized with its origin $\mat{0}$ shifted to $\mat{x}$. Two curves $\gamma_1, \gamma_2$ with $\mat{x} = \gamma_1(0) = \gamma_2(0)$ are drawn on the torus. The curve velocity vectors $\t{\nabla\gamma_1(0)}$ and $\t{\nabla\gamma_2(0)}$ are drawn as tangent vectors with root $\mat{x}$.} -\end{figure} - -\begin{definition}[Tangent Space]\label{def:tangent-space} - Let $\manifold{A}\subseteq\mathbb{R}^p$ be an embedded smooth manifold and $\mat{x}\in\manifold{A}$. The \emph{tangent space} at $\mat{x}$ of $\manifold{A}$ is defined as - \begin{displaymath} - T_{\mat{x}}\manifold{A} := \Span\t{\nabla\varphi^{-1}(\varphi(\mat{x}))} - \end{displaymath} - for any chart $\varphi$ with $\mat{x}$ in the pre-image of $\varphi$. -\end{definition} - -\Cref{def:tangent-space} is consistent since it can be shown that two different charts at the same point have identical span. - -We are now ready to provide and prove \cref{thm:M-estimator-asym-normal-on-manifolds}, a more general version of \cref{thm:asymptotic-normality-gmlm}. - -\begin{theorem}[\hyperlink{proof:M-estimator-asym-normal-on-manifolds}{Asymptotic Normality for M-estimators on Manifolds}]\label{thm:M-estimator-asym-normal-on-manifolds} - Let $\Theta\subseteq\mathbb{R}^p$ be a smooth embedded manifold. For each $\mat{\theta}$ in a neighborhood in $\mathbb{R}^p$ of the true parameter $\mat{\theta}_0\in\Theta$ let $z\mapsto m_{\mat{\theta}}(z)$ be measurable and $\mat{\theta}\mapsto m_{\mat{\theta}}(z)$ be differentiable at $\mat{\theta}_0$ for almost all $z$. Assume also that there exists a measurable function $u$ such that $\E[u(Z)^2] < \infty$, and for almost all $z$ as well as all $\mat{\theta}_1, \mat{\theta}_2$ in a neighborhood of $\mat{\theta}_0$ such that - \begin{displaymath} - | m_{\mat{\theta}_1}\!(z) - m_{\mat{\theta}_2}\!(z) | \leq u(z) \| \mat{\theta}_1 - \mat{\theta}_2 \|_2. - \end{displaymath} - Moreover, assume that $\mat{\theta}\mapsto\E[m_{\mat{\theta}}(Z)]$ admits a second-order Taylor expansion at $\mat{\theta}_0$ in a neighborhood of $\mat{\theta}_0$ in $\mathbb{R}^p$ with a non-singular Hessian $\mat{H}_{\mat{\theta}_0} = \nabla^2_{\mat{\theta}}\E[m_{\mat{\theta}}(Z)]|_{\mat{\theta} = \mat{\theta}_0}\in\mathbb{R}^{p\times p}$. - - If $\hat{\mat{\theta}}_n$ is a strong M-estimator of $\mat{\theta}_0$ in $\Theta$, then $\hat{\mat{\theta}}_n$ is asymptotically normal - \begin{displaymath} - \sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0) \xrightarrow{d} \mathcal{N}_p\left(\mat{0}, \mat{\Pi}_{\mat{\theta}_0} \E\left[\nabla_{\mat{\theta}} m_{\mat{\theta}_0}(Z)\t{(\nabla_{\mat{\theta}} m_{\mat{\theta}_0}(Z))}\right] \mat{\Pi}_{\mat{\theta}_0}\right) - \end{displaymath} - where $\mat{\Pi}_{\mat{\theta}_0} = \mat{P}_{\mat{\theta}_0}\pinv{(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})}\t{\mat{P}_{\mat{\theta}_0}}$ and $\mat{P}_{\mat{\theta}_0}$ is any matrix whose span is the tangent space $T_{\mat{\theta}_0}\Theta$ of $\Theta$ at $\mat{\theta}_0$. -\end{theorem} -\begin{proof}[\hypertarget{proof:M-estimator-asym-normal-on-manifolds}{Proof of \cref{thm:M-estimator-asym-normal-on-manifolds}}] - Let $\varphi:U\to\varphi(U)$ be a coordinate chart\footnote{By \cref{def:manifold}, the chart $\varphi : U\to\varphi(U)$ is bi-continuous, infinitely often continuously differentiable, and has a continuously differentiable inverse $\varphi^{-1} : \varphi(U) \to U$. Furthermore, the domain $U$ is open with respect to the trace topology on $\Theta$, which means that there exists an open set $O\subseteq\mathbb{R}^p$ such that $U = \Theta\cap O$.} with $\mat{\theta}_0\in U\subseteq\Theta$. As $\varphi$ is continuous, $\varphi(\hat{\mat{\theta}}_n)\xrightarrow{p}\varphi(\mat{\theta}_0)$ by the continuous mapping theorem on metric spaces \cite[][Theorem~18.11]{vanderVaart1998}, which implies $P(\varphi(\hat{\mat{\theta}}_n)\in\varphi(U))\xrightarrow{n\to\infty}1$. - - The next step is to apply Theorem~5.23 in \cite{vanderVaart1998} to $\hat{\mat{s}}_n = \varphi(\hat{\mat{\theta}}_n)$. Therefore, assume that $\hat{\mat{s}}_n\in\varphi(U)$. Denote with $\mat{s} = \varphi(\mat{\theta})\in\varphi(U)\subseteq\mathbb{R}^d$ the coordinates of the parameter $\mat{\theta}\in U\subseteq\Theta$ of the $d = \dim(\Theta)$ dimensional manifold $\Theta\subseteq\mathbb{R}^p$. Since $\varphi : U\to\varphi(U)$ is bijective, we can express $m_{\mat{\theta}}$ in terms of $\mat{s} = \varphi(\mat{\theta})$ as $m_{\mat{\theta}} = m_{\varphi^{-1}(\mat{s})}$ for every $\mat{\theta}\in U$. Furthermore, we let - \begin{displaymath} - M(\mat{\theta}) = \E[m_{\mat{\theta}}(Z)] \qquad\text{and}\qquad M_{\varphi}(\mat{s}) = \E[m_{\varphi^{-1}(\mat{s})}(Z)] = M(\varphi^{-1}(\mat{s})). - \end{displaymath} - - \begin{figure}[H] - \centering - \includegraphics{../images/embeddImage.pdf} - \caption{\label{fig:proof:M-estimator-asym-normal-on-manifolds}Depiction of the notation used in the proof of \cref{thm:M-estimator-asym-normal-on-manifolds}. Example with $p = 3$ and $d = \dim(\Theta) = 2$.} - \end{figure} - - By assumption, the function $M(\mat{\theta})$ is twice continuously differentiable in a neighborhood\footnote{A set $N$ is called a neighborhood of $u$ if there exists an open set $O$ such that $u\in O\subseteq N$.} of $\mat{\theta}_0$. Without loss of generality, we can assume that $U$ is contained in that neighborhood. Then, using the chain rule, we compute the gradient of $M_{\varphi}$ at $\mat{s}_0$ to be $\mat{0}$, - \begin{displaymath} - \nabla M_{\varphi}(\mat{s}_0) = {\nabla\varphi^{-1}(\mat{s}_0)}{\nabla M(\varphi^{-1}(\mat{s}_0))} = {\nabla\varphi^{-1}(\mat{s}_0)}{\nabla M(\mat{\theta}_0)} = {\nabla\varphi^{-1}(\mat{s}_0)}\mat{0} = \mat{0} - \end{displaymath} - because $\mat{\theta}_0 = \varphi^{-1}(\mat{s}_0)$ is a maximizer of $M$. The second-derivative of $M$, evaluated at $\mat{s}_0 = \varphi(\mat{\theta}_0)$ and using $\nabla M_{\varphi}(\mat{s}_0) = \mat{0}$, is - \begin{displaymath} - \nabla^2 M_{\varphi}(\mat{s}_0) - = \nabla\varphi^{-1}(\mat{s}_0)\nabla^2 M(\varphi^{-1}(\mat{s}_0))\t{\nabla\varphi^{-1}(\mat{s}_0)} - = \nabla\varphi^{-1}(\mat{s}_0)\mat{H}_{\mat{\theta}_0}\t{\nabla\varphi^{-1}(\mat{s}_0)}. - \end{displaymath} - This gives the second-order Taylor expansion of $M_{\varphi}$ at $\mat{s}_0$ as - \begin{displaymath} - M_{\varphi}(\mat{s}) = M_{\varphi}(\mat{s}_0) + \frac{1}{2}\t{(\mat{s} - \mat{s}_0)} \nabla^2 M_{\varphi}(\mat{s}_0) (\mat{s} - \mat{s}_0) + \mathcal{O}(\|\mat{s} - \mat{s}_0\|^3) - \end{displaymath} - We also need to check the local Lipschitz condition of $m_{\varphi^{-1}(\mat{s})}$. Let $V_{\epsilon}(\mat{s}_0)$ be the open $\epsilon$-ball with center $\mat{s}_0$; i.e., $V_{\epsilon}(\mat{s}_0) = \{ \mat{s}\in\mathbb{R}^d : \|\mat{s} - \mat{s}_0\| < \epsilon \}$. Since $\varphi(U)$ contains $\mat{s}_0$, and is open in $\mathbb{R}^d$, there exists an $\epsilon > 0$ such that $V_{\epsilon}(\mat{s}_0)\subseteq\varphi(U)$. The closed $\epsilon/2$ ball $\overline{V}_{\epsilon / 2}(\mat{s}_0)$ is a neighborhood of $\mat{s}_0$ and $\sup_{\mat{s}\in \overline{V}_{\epsilon / 2}(\mat{s}_0)}\|\nabla\varphi^{-1}(\mat{s})\| < \infty$ due to the continuity of $\nabla\varphi^{-1}$ on $\varphi(U)$ with $\overline{V}_{\epsilon / 2}(\mat{s}_0)\subset V_{\epsilon}(\mat{s}_0)\subseteq\varphi(U)$. Then, for almost every $z$ and every $\mat{s}_1 = \varphi(\mat{\theta}_1), \mat{s}_2 = \varphi(\mat{\theta}_2)\in\overline{V}_{\epsilon / 2}(\mat{s}_0)$, - \begin{multline*} - | m_{\varphi^{-1}(\mat{s}_1)}(z) - m_{\varphi^{-1}(\mat{s}_2)}(z) | - = | m_{\mat{\theta}_1}(z) - m_{\mat{\theta}_2}(z) | - \overset{(a)}{\leq} u(z) \| \mat{\theta}_1 - \mat{\theta}_2 \| \\ - = u(z) \| \varphi^{-1}(\mat{s}_1) - \varphi^{-1}(\mat{s}_2) \| - \overset{(b)}{\leq} u(z) \sup_{\mat{s}\in \overline{V}_{\epsilon / 2}(\mat{s}_0)}\|\nabla\varphi^{-1}(\mat{s})\| \|\mat{s}_1 - \mat{s}_2\| - =: v(z) \|\mat{s}_1 - \mat{s}_2\|. - \end{multline*} - Here, $(a)$ holds by assumption and $(b)$ is a result of the mean value theorem. Now, $v(z)$ is measurable and square integrable as a scaled version of $u(z)$. Finally, since $\varphi$ is one-to-one, $\hat{\mat{s}}_n = \varphi(\hat{\mat{\theta}}_n)$ is a strong M-estimator for $\mat{s}_0 = \varphi(\mat{\theta}_0)$ of the objective $M_{\varphi}$. We next apply Theorem~5.23 in \cite{vanderVaart1998} to obtain the asymptotic normality of $\hat{\mat{s}}_n$, - \begin{displaymath} - \sqrt{n}(\hat{\mat{s}}_n - \mat{s}_0) \xrightarrow{d} \mathcal{N}_{d}(0, \mat{\Sigma}_{\mat{s}_0}), - \end{displaymath} - where the $d\times d$ variance-covariance matrix $\mat{\Sigma}_{\mat{s}_0}$ is given by - \begin{align*} - \mat{\Sigma}_{\mat{s}_0} &= (\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}\E[\nabla_{\mat{s}} m_{\varphi^{-1}(\mat{s}_0)}(Z)\t{(\nabla_{\mat{s}} m_{\varphi^{-1}(\mat{s}_0)}(Z))}](\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}. - \end{align*} - { - \def\PP{\mat{\varPhi}_{\mat{\theta}_0}} - \def\EE#1#2{\E[\nabla_{#2} m_{#1}(Z)\t{(\nabla_{#2} m_{#1}(Z))}]} - Applying the delta method, we obtain - \begin{displaymath} - \sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0)= \sqrt{n}(\varphi^{-1}(\hat{\mat{s}}_n) - \varphi^{-1}(\mat{s}_0)) - \xrightarrow{d} \mathcal{N}_p(0, \t{\nabla\varphi^{-1}(\mat{s}_0)}\mat{\Sigma}_{\mat{s}_0}{\nabla\varphi^{-1}(\mat{s}_0)}). - \end{displaymath} - We continue by reexpressing the $p\times p$ asymptotic variance-covariance matrix of $\hat{\mat{\theta}}_n$ in terms of $\mat{\theta}_0$ instead of $\mat{s}_0 = \varphi(\mat{\theta}_0)$. We let $\PP = \t{\nabla\varphi^{-1}(\varphi(\mat{\theta}_0))} = \t{\nabla\varphi^{-1}(\mat{s}_0)}$ and observe that for all $\mat{s}\in\varphi(U)$, the gradient of $\mat{s}\mapsto m_{\varphi^{-1}(\mat{s})}(z)$ evaluated at $\mat{s}_0 = \varphi(\mat{\theta}_0)$ has the form - \begin{displaymath} - \nabla_{\mat{s}}m_{\varphi^{-1}(\mat{s}_0)}(z)= \nabla\varphi^{-1}(\mat{s}_0)\nabla_{\mat{\theta}}m_{\mat{\theta}_0}(z)= \t{\PP}\nabla_{\mat{\theta}}m_{\mat{\theta}_0}(z). - \end{displaymath} - Then, - \begin{multline*} - \t{\nabla\varphi^{-1}(\mat{s}_0)}\mat{\Sigma}_{\mat{s}_0}{\nabla\varphi^{-1}(\mat{s}_0)}= \PP\mat{\Sigma}_{\mat{s}_0}\t{\PP} \\ - = \PP(\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}\EE{\varphi^{-1}(\mat{s}_0)}{}(\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}\t{\PP} \\ - = {\PP}(\t{\PP}\mat{H}_{\mat{\theta}_0}\PP)^{-1}\t{\PP}\EE{\mat{\theta}_0}{\mat{\theta}}{\PP}(\t{\PP}\mat{H}_{\mat{\theta}_0}\PP)^{-1}\t{\PP} \\ - = \mat{\Pi}_{\mat{\theta}_0}\EE{\mat{\theta}_0}{\mat{\theta}}\mat{\Pi}_{\mat{\theta}_0} - \end{multline*} - where the last equality holds because $\Span\PP = T_{\mat{\theta}_0}\Theta$, by \cref{def:tangent-space} of the tangent space $T_{\mat{\theta}_0}\Theta$. - - It remains to show that $\mat{\Pi}_{\mat{\theta}_0} = \mat{P}_{\mat{\theta}_0}\pinv{(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})}\t{\mat{P}_{\mat{\theta}_0}}$ for any $p\times k$ matrix $\mat{P}_{\mat{\theta}_0}$ such that $k\geq d$ and $\Span{\mat{P}_{\mat{\theta}_0}} = T_{\mat{\theta}_0}\Theta$. This also ensures that the final result is independent of the chosen chart $\varphi$, since the tangent space does not depend on a specific chart. Therefore, let $\PP = {\mat{Q}}{\mat{R}}$ and $\mat{P}_{\mat{\theta}_0} = \widetilde{\mat{Q}}\widetilde{\mat{R}}$ be their thin QR decompositions, respectively. Both $\mat{Q}, \widetilde{\mat{Q}}$ have dimension $p\times d$, $\mat{Q}$ is semi-orthogonal, and $\mat{R}$ is invertible of dimension $d\times d$ while $\widetilde{\mat{R}}$ is a $d\times k$ full row-rank matrix. Since $\mat{Q}$ is semi-orthogonal, the $p\times p$ matrix $\mat{Q}\t{\mat{Q}}$ is an orthogonal projection onto $\Span\mat{Q} = \Span\mat{P}_{\mat{\theta}_0} = T_{\mat{\theta}_0}\Theta$. This allows to express $\mat{P}_{\mat{\theta}_0}$ in terms of $\mat{Q}$ as - \begin{displaymath} - \mat{P}_{\mat{\theta}_0} = \mat{Q}\t{\mat{Q}}\mat{P}_{\mat{\theta}_0} - = \mat{Q}\t{\mat{Q}}\widetilde{\mat{Q}}\widetilde{\mat{R}} =: {\mat{Q}}\mat{M}. - \end{displaymath} - From $\Span\mat{Q} = \Span\mat{P}_{\mat{\theta}_0}$, it follows that the $d\times k$ matrix $\mat{M}$ is also of full row-rank. Also, $\mat{M}\pinv{\mat{M}} = \mat{I}_d = \mat{R}\mat{R}^{-1}$ as a property of the Moore-Penrose pseudo inverse with $\mat{M}$ being of full row-rank. Another property of the pseudo inverse is that for matrices $\mat{A}, \mat{B}$, where $\mat{A}$ has full column-rank and $\mat{B}$ has full row-rank, $\pinv{(\mat{A}\mat{B})} = \pinv{\mat{B}}\pinv{\mat{A}}$. This enables the computation - \begin{multline*} - \mat{P}_{\mat{\theta}_0}\pinv{(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})}\t{\mat{P}_{\mat{\theta}_0}}= \mat{Q} \mat{M} \pinv{\mat{M}} (\t{\mat{Q}} \mat{H}_{\mat{\theta}_0} \mat{Q})^{-1} \t{(\mat{M} \pinv{\mat{M}})} \t{\mat{Q}} \\ - = \mat{Q} {\mat{R}} {\mat{R}}^{-1} (\t{\mat{Q}} \mat{H}_{\mat{\theta}_0} \mat{Q})^{-1} \t{({\mat{R}} {\mat{R}}^{-1})} \t{\mat{Q}} - = \PP(\t{\PP}\mat{H}_{\mat{\theta}_0}\PP)^{-1}\t{\PP} - = \mat{\Pi}_{\mat{\theta}_0}. - \end{multline*} - } -\end{proof} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Asymptotic Normality of GMLM} -We rewrite the log-likelihood \eqref{eq:log-likelihood} in a different form to simplify the proof of \cref{thm:asymptotic-normality-gmlm} and to provide the notation to express the regularity conditions of \cref{thm:asymptotic-normality-gmlm} in a compact form. - -The first natural parameter component $\mat{\eta}_{1y}$ defined in \eqref{eq:eta1-manifold} can be written as -\begin{align*} - \mat{\eta}_{1y} - &= \vec{\overline{\ten{\eta}}} + \mat{B}\vec{\ten{F}_y}= \mat{I}_p\vec{\overline{\ten{\eta}}} + (\t{(\vec{\ten{F}_y})}\otimes\mat{I}_p)\vec{\mat{B}} \\ - &= \begin{pmatrix} - \mat{I}_p & \t{(\vec{\ten{F}_y})}\otimes\mat{I}_p - \end{pmatrix}\begin{pmatrix} - \vec{\overline{\ten{\eta}}} \\ - \vec{\mat{B}} - \end{pmatrix}. -\end{align*} -The second natural parameter component $\mat{\eta}_2$, modeled in \eqref{eq:eta2-manifold}, relates to $\vech{\mat{\Omega}}$ linearly as -\begin{displaymath} - \mat{\eta}_2 = c\t{\mat{D}_p}\vec{\mat{\Omega}} = c\t{\mat{D}_p}\mat{D}_p\vech{\mat{\Omega}}. -\end{displaymath} -This gives the following relation between $\mat{\eta}_y = (\mat{\eta}_{1y}, \mat{\eta}_2)$ and $\mat{\xi} = (\vec{\overline{\ten{\eta}}}, \vec{\mat{B}}, \vech{\mat{\Omega}})\in\Xi$, -\begin{equation} - \mat{\eta}_y = \begin{pmatrix} - \mat{I}_p & \ \ \ \t{(\vec{\ten{F}_y})}\otimes\mat{I}_p\ \ & 0 \\ - 0 & 0 & c\t{\mat{D}_p}\mat{D}_p - \end{pmatrix} -\begin{pmatrix} -\vec{\overline{\ten{\eta}}} \\ -\vec{\mat{B}} \\ -\vech{\mat{\Omega}} -\end{pmatrix} =: \mat{F}(y)\mat{\xi} \label{eq:eta-to-xi-linear-relation} -\end{equation} -where $\mat{F}(y)$ is a $p (p + 3) / 2\times p (p + 2 q + 3) / 2$ dimensional matrix-valued function in $y$. Moreover, for every $y$ the matrix $\mat{F}(y)$ is of full rank. -The log-likelihood of model \eqref{eq:quad-density} for the unconstrained parameters $\xi\in\Xi$ is -\begin{displaymath} - l_n(\mat{\xi}) - = \frac{1}{n}\sum_{i = 1}^{n} (\langle \mat{t}(\ten{X}), \mat{\eta}_{y} \rangle - b(\mat{\eta}_y)) - =: \frac{1}{n}\sum_{i = 1}^{n} m_{\mat{\xi}}(Z_i) -\end{displaymath} -where $Z_i = (\ten{X}_i, Y_i)$. Using \eqref{eq:eta-to-xi-linear-relation} we can write -\begin{displaymath} - m_{\mat{\xi}}(z) = \langle\mat{t}(\ten{X}), \mat{F}(y)\mat{\xi}\rangle - b(\mat{F}(y)\mat{\xi}). -\end{displaymath} - -The following are the regularity conditions for the log-likelihood required by \cref{thm:asymptotic-normality-gmlm}. - -\begin{condition}\label{cond:differentiable-and-convex} -The mapping $\mat{\xi}\mapsto m_{\mat{\xi}}(z)$ is twice continuously differentiable for almost every $z$ and $z\mapsto m_{\mat{\xi}}(z)$ is measurable. Moreover, $\mat{\eta}\mapsto b(\mat{\eta})$ is strictly convex. Furthermore, for every $\widetilde{\mat{\eta}}$, $P(\mat{F}(Y)\mat{\xi} = \widetilde{\mat{\eta}}) < 1$. -\end{condition} - -\begin{condition}\label{cond:moments} -$\E\|\t{\mat{t}(\ten{X})}\mat{F}(Y)\| < \infty$, and $\E\|\t{\mat{t}(\ten{X})}\mat{F}(Y)\|^2 < \infty$. -\end{condition} - -\begin{condition}\label{cond:finite-sup-on-compacta} -The mapping $\mat{\eta}\mapsto b(\mat{\eta})$ is twice continuously differentiable and for every non-empty compact $K\subseteq\Xi$, \begin{gather*} -\E\sup_{\mat{\xi}\in K}\|b(\mat{F}(Y)\mat{\xi})\| < \infty, \qquad -\E\sup_{\mat{\xi}\in K}\|\t{\nabla b(\mat{F}(Y)\mat{\xi})}\mat{F}(Y)\|^2 < \infty, \\ -\E\sup_{\mat{\xi}\in K}\| \t{\mat{F}(Y)}\nabla^2 b(\mat{F}(Y)\mat{\xi})\mat{F}(Y) \| < \infty. -\end{gather*} -\end{condition} - -We continue with some more technical lemmas needed for the proof of \cref{thm:asymptotic-normality-gmlm}. - -\begin{lemma}\label{thm:kron-perm} - Given $r \geq 2$ matrices $\mat{A}_k$ of dimension $p_j\times q_j$ for $k = 1, \ldots, r$, then there exists a unique permutation matrix $\mat{S}_{\mat{p}, \mat{q}}$ such that - \begin{equation}\label{eq:kron-to-outer-perm} - \vec\bigkron_{k = r}^{1}\mat{A}_k = \mat{S}_{\mat{p}, \mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. - \end{equation} - The permutation $\mat{S}_{\mat{p}, \mat{q}}$ with indices $\mat{p} = (p_1, \ldots, p_r)$ and $\mat{q} = (q_1, \ldots, q_r)$ is defined recursively as - \begin{equation}\label{eq:S_pq} - \mat{S}_{\mat{p}, \mat{q}} = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_r q_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr) - \end{equation} - with initial value - \begin{displaymath} - \mat{S}_{(p_1, p_2), (q_1, q_2)} = \mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1} - \end{displaymath} - where $\mat{K}_{p, q}$ is the \emph{commutation matrix} \cite[][Ch.~11]{AbadirMagnus2005}; that is, the permutation such that $\vec{\t{\mat{A}}} = \mat{K}_{p, q}\vec{\mat{A}}$ for every $p\times q$ dimensional matrix $\mat{A}$. -\end{lemma} -\begin{proof} - Lemma~7 in \cite{MagnusNeudecker1986} states that - \begin{align} - \vec(\mat{A}_2\otimes\mat{A}_1) - &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})(\vec{\mat{A}_2}\otimes\vec{\mat{A}_1}) \label{eq:MagnusNeudecker1986-vec-kron-identity} \\ - &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})\vec(\mat{A}_1\circ \mat{A}_2). \nonumber - \end{align} - This proves the statement for $r = 2$. The general statement for $r > 2$ follows by induction. Assuming \eqref{eq:kron-to-outer-perm} holds for $r - 1$, the induction step is - \begin{multline*} - \vec{\bigkron_{k = r}^{1}}\mat{A}_k - = \vec\Bigl(\mat{A}_r\otimes\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ - \overset{\eqref{eq:MagnusNeudecker1986-vec-kron-identity}}{=} \Bigl( \mat{I}_{q_r}\otimes\mat{K}_{\prod_{k = 1}^{r - 1}q_k, p_r}\otimes\mat{I}_{\prod_{k = 1}^{r - 1}p_k} \Bigr)\vec\Bigl((\vec\mat{A}_r)\otimes\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ - = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\Bigl(\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ - \overset{\eqref{eq:kron-to-outer-perm}}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ - \overset{(a)}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_rq_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr)\vec\Bigl[\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ - =\mat{S}_{\mat{p},\mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. - \end{multline*} - Equality $(a)$ uses the relation $\vec(\mat{C}\mat{a}\t{\mat{b}}) = (\mat{I}_{\dim(\mat{b})}\otimes\mat{C})\vec(\mat{a}\t{\mat{b}})$ for a matrix $\mat{C}$ and vectors $\mat{a}, \mat{b}$. -\end{proof} - -\begin{lemma}\label{thm:kron-manifold-tangent-space} - Let $\manifold{A}_k\subseteq\mathbb{R}^{p_k\times q_k}\backslash\{\mat{0}\}$ for $k = 1, \ldots, r$ be smooth embedded submanifolds as well as ether a sphere or a cone. Then - \begin{displaymath} - \manifold{K} = \Bigl\{ \bigkron_{k = r}^{1}\mat{A}_k : \mat{A}_k\in\manifold{A}_k \Bigr\} - \end{displaymath} - is an embedded manifold in $\mathbb{R}^{p\times q}$ for $p = \prod_{k = 1}^{r} p_k$ and $q = \prod_{k = 1}^{r} q_k$. - Furthermore, define for $j = 1, \ldots, r$ the matrices - \begin{equation}\label{eq:kron-differential-span} - \mat{\Gamma}_j - = \bigkron_{k = r}^{1}(\mat{I}_{p_k q_k}\mathrm{\ if\ } j = k \mathrm{\ else\ }\vec{\mat{A}_k}) - = \bigkron_{k = r}^{j + 1}(\vec{\mat{A}_k})\otimes\mat{I}_{p_j q_j}\otimes\bigkron_{k = j - 1}^{1}(\vec{\mat{A}_k}) - \end{equation} - and let $\gamma_j$ be $p_j q_j\times d_j$ matrices with $d_j \geq\dim\manifold{A}_j$ which span the tangent space $T_{\mat{A}_j}\manifold{A}_j$ of $\manifold{A}$ at $\mat{A}_j\in\manifold{A}_j$, that is $\Span\gamma_j = T_{\mat{A}_j}\manifold{A}_j$. - Then, with the permutation matrix $\mat{S}_{\mat{p}, \mat{q}}$ defined in \eqref{eq:S_pq}, the $p q \times \sum_{k = 1}^{r} d_j$ dimensional matrix - \begin{displaymath} - \mat{P}_{\mat{A}} = \mat{S}_{\mat{p}, \mat{q}}\left[\mat{\Gamma}_1\mat{\gamma}_1, \mat{\Gamma}_2\mat{\gamma}_2, \ldots, \mat{\Gamma}_r\mat{\gamma}_r\right] - \end{displaymath} - spans the tangent space $T_{\mat{A}}\manifold{K}$ of $\manifold{K}$ at $\mat{A} = \bigkron_{k = r}^{1}\mat{A}_k\in\manifold{K}$, in formula $\Span\mat{P}_{\mat{A}} = T_{\mat{A}}\manifold{K}$. -\end{lemma} -\begin{proof} - The statement that $\manifold{K}$ is an embedded manifold follows via induction using \cref{thm:kron-manifolds}. - We compute the differential of the vectorized Kronecker product using \cref{thm:kron-perm} where $\mat{S}_{\mat{p}, \mat{q}}$ is the permutation \eqref{eq:S_pq} defined therein. - \begin{multline*} - \d\vec\bigotimes_{k = r}^{1}\mat{A}_k - = \vec\sum_{j = 1}^{r}\bigkron_{k = r}^{1}(\ternary{k = j}{\d\mat{A}_j}{\mat{A}_k}) \\ - = \mat{S}_{\mat{p},\mat{q}}\vec\sum_{j = 1}^{r}\Bigl(\bigouter_{k = 1}^{r}(\ternary{k = j}{\d\mat{A}_j}{\mat{A}_k})\Bigr) \\ - = \mat{S}_{\mat{p}, \mat{q}}\sum_{j = 1}^{r}\bigkron_{k = r}^{1}(\ternary{k = j}{\vec\d\mat{A}_j}{\vec\mat{A}_k}) \\ - =\mat{S}_{\mat{p}, \mat{q}}\sum_{j =1}^{r}\Bigl(\bigkron_{k = r}^{1}(\ternary{k = j}{\mat{I}_{p_j q_j}}{\vec\mat{A}_k})\Bigr)\vec\d\mat{A}_j \\ - = \mat{S}_{\mat{p}, \mat{q}}\sum_{j = 1}^{r}\mat{\Gamma}_j\vec\d\mat{A}_j - = \mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_1, \ldots, \mat{\Gamma}_r]\begin{pmatrix} - \vec\d\mat{A}_1 \\ \vdots \\ \vec\d\mat{A}_r - \end{pmatrix} - \end{multline*} - Due to the definition of the manifold, this differential provides the gradient of a surjective map into the manifold. The span of the gradient then spans the tangent space. - - Now, we take a closer look at the differentials $\vec{\d\mat{A}_j}$ for $j = 1, \ldots, r$. Let $\varphi_j$ be a chart of $\manifold{A}_j$ in a neighborhood of $\mat{A}_j$. Then, $\mat{A}_j = \varphi_j^{-1}(\varphi_j(\mat{A}_j))$ which gives - \begin{displaymath}\vec{\d\mat{A}_j} = \t{\nabla\varphi_j^{-1}(\varphi_j(\mat{A}_j))}\vec\d\varphi_j(\mat{A}_j). - \end{displaymath} - Therefore, for every matrix $\mat{\gamma}_j$ such that $\Span{\mat{\gamma}_j} = T_{\mat{A}_j}\manifold{A}_j$ holds $\Span{\t{\nabla\varphi_j^{-1}(\varphi_j(\mat{A}_j))}} = \Span{\mat{\gamma}_j}$ by \cref{def:tangent-space} of the tangent space. We get - \begin{displaymath} - \Span\mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_1, \ldots, \mat{\Gamma}_r]\begin{pmatrix} - \vec\d\mat{A}_1 \\ \vdots \\ \vec\d\mat{A}_r - \end{pmatrix} - =\Span\mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_1\mat{\gamma}_1, \ldots, \mat{\Gamma}_r\mat{\gamma}_r] - =\Span\mat{P}_{\mat{A}} - \end{displaymath} - which concludes the proof. -\end{proof} - -\begin{proof}[\hypertarget{proof:asymptotic-normality-gmlm}{Proof of \cref{thm:asymptotic-normality-gmlm}}] - The proof consists of three parts. First, we show the existence of a consistent strong M-estimator by applying \cref{thm:M-estimator-consistency-on-subsets}. Next, we apply \cref{thm:M-estimator-asym-normal-on-manifolds} to obtain its asymptotic normality. We conclude by computing the missing parts of the asymtotic covariance matrix $\mat{\Sigma}_{\mat{\theta}_0}$ provided by \cref{thm:M-estimator-asym-normal-on-manifolds}. - - We check whether the conditions of \cref{thm:M-estimator-consistency-on-subsets} are satisfied. On $\Xi$, the mapping $\mat{\xi}\mapsto m_{\mat{\xi}}(z) = m_{\mat{\xi}}(\ten{X},y) = \langle \mat{F}(y)\mat{\xi}, \mat{t}(\ten{X}) \rangle - b(\mat{F}(y)\mat{\xi})$ is strictly concave for every $z$ because $\mat{\xi}\mapsto\mat{F}(y)\mat{\xi}$ is linear and $b$ is strictly convex by \cref{cond:differentiable-and-convex}. Since $\ten{X} \mid Y$ is distributed according to \eqref{eq:quad-density}, the function $M(\mat{\xi}) = \E m_{\mat{\xi}}(Z)$ is well defined by \cref{cond:moments}. Let $\mat{\xi}_k = (\vec{\overline{\ten{\eta}}_k}, \vec{\mat{B}_k}, \vech{\mat{\Omega}_k})$, and $f_{\mat{\xi}_k}$ be the pdf of $\ten{X} \mid Y$ indexed by $\mat{\xi}_k$, for $k = 1, 2$. If $\mat{\xi}_1\ne \mat{\xi}_2$, then $f_{\mat{\xi}_1} \neq f_{\mat{\xi}_2}$, which obtains that the true $\mat{\theta}_0$ is a unique maximizer of $\mat{\theta}_0\in\Theta\subseteq\Xi$ by applying Lemma~5.35 from \cite{vanderVaart1998}. Finally, under \cref{cond:finite-sup-on-compacta}, all assumptions of \cref{thm:M-estimator-consistency-on-subsets} are fulfilled yielding the existence of a consistent strong M-estimator over $\Theta\subseteq\Xi$. - - Next, let $\hat{\mat{\theta}}_n$ be a strong M-estimator on $\Theta\subseteq\Xi$, whose existence and consistency was shown in the previous step. Since $z\mapsto m_{\mat{\xi}}(z)$ is measurable for all $\mat{\xi}\in\Xi$, it is also measurable in a neighborhood of $\mat{\theta}_0$. The differentiability of $\mat{\theta}\mapsto m_{\mat{\theta}}(z)$ is stated in \cref{cond:differentiable-and-convex}. For the Lipschitz condition, let $K\subseteq\Xi$ be a compact neighborhood of $\mat{\theta}_0$, which exists since $\Xi$ is open. Then, - \begin{multline*} - \left| m_{\mat{\theta}_1}(z) - m_{\mat{\theta}_2}(z) \right| - = \left| \langle \mat{t}(\ten{X}), \mat{F}(y)(\mat{\theta}_1 - \mat{\theta}_2) \rangle - b(\mat{F}(z)\mat{\theta}_1) + b(\mat{F}(z)\mat{\theta}_2) \right| \\ - \leq (\| \t{\mat{F}(y)}\mat{t}(\ten{X}) \|_2 + \sup_{\mat{\theta}\in K}\| \nabla b(\mat{F}(y)\mat{\theta}) \mat{F}(y)\| ) \| \mat{\theta}_1 - \mat{\theta}_2 \|_2 - =: u(z)\| \mat{\theta}_1 - \mat{\theta}_2 \|_2 - \end{multline*} - with $u(z)$ being measurable and square integrable derives from \cref{cond:finite-sup-on-compacta}. The existence of a second-order Taylor expansion of $\mat{\theta}\mapsto M(\mat{\theta}) = \E m_{\mat{\theta}}(Z)$ in a neighborhood of $\mat{\theta}_0$ holds by \cref{cond:finite-sup-on-compacta}. Moreover, the Hessian $\mat{H}_{\mat{\theta}_0}$ is non-singular by the strict convexity of $b$ stated in \cref{cond:differentiable-and-convex}. Now, we can apply \cref{thm:M-estimator-asym-normal-on-manifolds} to obtain the asymptotic normality of $\sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0)$ with variance-covariance structure - \begin{equation}\label{eq:asymptotic-covariance-gmlm} - \mat{\Sigma}_{\mat{\theta}_0} = \mat{\Pi}_{\mat{\theta}_0} \E[\nabla m_{\mat{\theta}_0}(Z)\t{(\nabla m_{\mat{\theta}_0}(Z))}]\mat{\Pi}_{\mat{\theta}_0} - \end{equation} - where $\mat{\Pi}_{\mat{\theta}_0} = \mat{P}_{\mat{\theta}_0}(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})^{-1}\t{\mat{P}_{\mat{\theta}_0}}$ and $\mat{P}_{\mat{\theta}_0}$ is any $p\times \dim(\Theta)$ matrix such that it spans the tangent space of $\Theta$ at $\mat{\theta}_0$. That is, $\Span \mat{P}_{\mat{\theta}_0} = T_{\mat{\theta}_0}\Theta$. - - Finally, we compute a matrix $\mat{P}_{\mat{\theta}_0}$ such that $\Span{\mat{P}_{\mat{\theta}_0}} = T_{\mat{\theta}_0}\Theta$ for $\Theta = \mathbb{R}^p\times\manifold{K}_{\mat{B}}\times\vech(\manifold{K}_{\mat{\Omega}})$ as in \cref{thm:param-manifold}. Since the manifold $\Theta$ is a product manifold we get a block diagonal structure for $\mat{P}_{\mat{\theta}_0}$ as - \begin{displaymath} - \mat{P}_{\mat{\theta}_0} = \begin{pmatrix} - \mat{I}_p & 0 & 0 \\ - 0 & \mat{P}_{\mat{B}_0} & 0 \\ - 0 & 0 & \mat{P}_{\mat{\Omega}_0} - \end{pmatrix} - \end{displaymath} - where $\mat{I}_p$ is the identity matrix spanning the tangent space of $\mathbb{R}^p$, which is identified with $\mathbb{R}^p$ itself. The blocks $\mat{P}_{\mat{B}_0}$ and $\mat{P}_{\mat{\Omega}_0}$ need to span the tangent spaces of $\manifold{K}_{\mat{B}}$ and $\vech(\manifold{K}_{\mat{\Omega}})$, respectively. Both $\manifold{K}_{\mat{B}}$ and $\vech(\manifold{K}_{\mat{\Omega}})$ are manifolds according to \cref{thm:param-manifold}. The manifold $\vech(\manifold{K}_{\mat{\Omega}})$ is the image of $\manifold{K}_{\mat{\Omega}}$ under the linear map $\vech(\mat{\Omega}) = \pinv{\mat{D}_p}\vec{\mat{\Omega}}$ leading to the differential $\d\vech{\mat{\Omega}} = \pinv{\mat{D}_p}\vec{\d\mat{\Omega}}$. By applying \cref{thm:kron-manifold-tangent-space} for $\manifold{K}_{\mat{B}}$ and $\manifold{K}_{\mat{\Omega}}$ gives - \begin{align*} - \mat{P}_{\mat{B}_0} &= \mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_{\mat{\beta}_1}\mat{\gamma}_{\mat{\beta}_1}, \ldots, \mat{\Gamma}_{\mat{\beta}_r}\mat{\gamma}_{\mat{\beta}_r}], \\ - \mat{P}_{\mat{\Omega}_0} &= \pinv{\mat{D}_p}\mat{S}_{\mat{p}, \mat{p}}[\mat{\Gamma}_{\mat{\Omega}_1}\mat{\gamma}_{\mat{\Omega}_1}, \ldots, \mat{\Gamma}_{\mat{\Omega}_r}\mat{\gamma}_{\mat{\Omega}_r}] - \end{align*} - where the matrices $\mat{S}_{\mat{p}, \mat{q}}$, $\mat{\Gamma}_{\mat{\beta}_j}$, $\mat{\gamma}_{\mat{\beta}_j}$, $\mat{\Gamma}_{\mat{\Omega}_j}$ and $\mat{\gamma}_{\mat{\Omega}_j}$ are described in \cref{thm:kron-manifold-tangent-space} for the Kronecker manifolds $\manifold{K}_{\mat{B}}$ and $\manifold{K}_{\mat{\Omega}}$. Leading to - \begin{equation}\label{eq:param-manifold-span} - \mat{P}_{\mat{\theta}_0} = \begin{pmatrix} - \mat{I}_p & 0 & 0 \\ - 0 & \mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_{\mat{\beta}_1}\mat{\gamma}_{\mat{\beta}_1}, \ldots, \mat{\Gamma}_{\mat{\beta}_r}\mat{\gamma}_{\mat{\beta}_r}] & 0 \\ - 0 & 0 & \pinv{\mat{D}_p}\mat{S}_{\mat{p}, \mat{p}}[\mat{\Gamma}_{\mat{\Omega}_1}\mat{\gamma}_{\mat{\Omega}_1}, \ldots, \mat{\Gamma}_{\mat{\Omega}_r}\mat{\gamma}_{\mat{\Omega}_r}] - \end{pmatrix}. - \end{equation} -\end{proof} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Demonstration of the Advantages of Tensor Representations}\label{sec:GMLMvsVecEfficiency} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%% Minor revision reviewer comment -% My concerns have been largely resolved. One minor point remains: -% -% I appreciate the authors’ clarification that the Kronecker-structured -% parameterization improves efficiency by exploiting the tensor structure. -% While the rationale is sound, readers would benefit from a brief numerical -% illustration--perhaps in the supplementary material--demonstrating empirical -% variance reduction or faster convergence relative to an unconstrained fit. -% Including a small, illustrative example would make the claimed efficiency gain -% more concrete and convincing. - -We illustrate the competitive advantage of tensor structure as compared with vector representation using a simple example. We generate standard normal responses $y_i$, for $i = 1, \ldots, n$. -For this simulation, we set the GMLM parameters $\overline{\ten{\eta}} = \mat{0}$, $\mat{\beta}_1 = \mat{\beta}_2 = \t{(-1, 1, -1, 1, \ldots)}\in\mathbb{R}^{\tilde{p}}$ to vectors of alternating signs, and $\mat{\Sigma}_1 = \mat{\Sigma}_2 = \mat{I}_{\tilde{p}}$ so that $\mat{\alpha}_j=\mat{\Sigma}_j^{-1}\mat{\beta}_j=\mat{\beta}_j$, $j=1,2$, and %the precision matrices -$\mat{\Omega}_1 = \mat{\Omega}_2 = \mat{I}_{\tilde{p}}$. Given $y_i$, we draw matrix-valued $\ten{X}_i$'s of dimension $p_1\times p_2$, where $p_1 = p_2 = \tilde{p}$ from -\begin{equation}\label{eq:bilinear} - \ten{X}_i = \bar{\mat{\eta}} + \mat{\alpha}_1\ten{F}_{y_i}\t{\mat{\alpha}_2} + \mat{\epsilon}_i -\end{equation} -where $\ten{F}_{y_i}\equiv y_i$ is a $1\times 1$ matrix, $\vec{\mat{\epsilon}_i}\sim\mathcal{N}(\mat{0}, \mat{\Sigma}_2\otimes\mat{\Sigma}_1)$. That is, $\ten{X}\mid Y = y_i$ is matrix normal with parameters as specified above. - - -We compare four different estimators for the vectorized reduction matrix $\mat{B} = \mat{\beta}_2\otimes\mat{\beta}_1\in\mathbb{R}^{\tilde{p}^2}$. First, a linear model, which, in this scenario, is equivalent to the vectorized GMLM model if the sample size exceeds the dimensionality $\tilde{p}^2$ of the vectorized predictors $\vec(\ten{X})$. Second, our GMLM model applied to the vectorized predictors, which are distributed as multi-variate normal (tensor order $r = 1$) conditionally on $y$. Third, our GMLM model as designed for matrix-valued predictors (tensor order $r = 2$). Fourth, another GMLM model for matrix-valued predictors but now with a manifold constraint on the precision matrices $\mat{\Omega}_1, \mat{\Omega}_2$ to be scaled diagonal matrices. This means we let $\mat{\Omega}_1, \mat{\Omega}_2\in\{ a\mat{I}_{\tilde{p}} : 0 < a \}$, which is a one-dimensional matrix manifold from \cref{tab:matrix-manifolds}. We did not specify $a$ to be 1 to operate in a context where there is not enough information to uniquely resolve the scale. In the first two cases the reduction matrix estimate, $\hat{\mat{B}}$, is computed directly. In contrast, the matrix-valued GMLM models provide the mode-wise estimates $\hat{\mat{\beta}}_1, \hat{\mat{\beta}}_2$ which are then used to compute $\hat{\mat{B}} = \hat{\mat{\beta}}_2\otimes\hat{\mat{\beta}}_1$. - -For accuracy assessment we use the subspace distance $d(\mat{B}, \hat{\mat{B}})$ from \cref{sec:simulations} for comparison of the estimates $\hat{\mat{B}}$ versus the true reduction $\mat{B} = \mat{\beta}_2\otimes\mat{\beta}_1$ used for data generation. - -The simulation was carried out for different sample sizes $n = 100, 200, 300, 500, 750$ and increasing matrix row and column dimension $\tilde{p} = 2, 3, 4, 5, 6, 7, 9, 11, 13, 15, 18, 22, 27, 32$ of the predictors $\ten{X}$. The results are visualized in \cref{fig:GMLMvsVecEfficiency}, where we plot the mean $\pm$ one standard deviation of the subspace distance over 100 replicates. - -Both GMLM estimators perform uniformly better irrespective of $\tilde{p}$ that ranges from 2 to 32 in this simulation. Between these two, the constrained model, which is the closest to the true variance-covariance structure, practically reproduces the true model. Also, they both exhibit roughly the same accuracy, and in particular no deterioration, despite the increase in dimension $\tilde{p}$. - -The linear model performs as expected. It drastically deteriorates as the dimension increases. The yellow lines stop where the dimension $\tilde{p}^2$ exceeds the sample size $n$. Similarly, the GMLM applied to the vectorized matrix-valued $\ten{X}$ has identical performance as the plain vanilla linear model up to the point that the regularization kicks in, as described in \cref{sec:tensor-normal-estimation}. For example, for $n=750$, the performance of the two models is identical up to $\tilde{p}=18$ and then it improves till it hits its floor. The latter will nevertheless always exceed the corresponding accuracy of either tensor versions of the GMLM model, with and without the constraint. - -The accuracy is monotone increasing as a function of the sample size across all four models. That is, the closer the lines are to the $x$-axis the higher the sample size is across $\tilde{p}$. The only exception can be seen in the GMLM applied to the vectorized predictors (red lines) in the transition phase of GMLM using regularization to deal with $\tilde{p}^2 > n$. - -\begin{figure} - \centering - \caption{\label{fig:GMLMvsVecEfficiency}Accuracy Gain: Tensor-valued versus Vectorized Predictors} - \includegraphics[width = \textwidth]{plots/sim_efficiency.pdf} -\end{figure} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Investigation and Comparison of GMLM versus TSIR}\label{sec:GMLMvsTSIR} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -TSIR suffers substantial loss in predictive accuracy in the full 2D EEG data (see \cref{tab:eeg}) as compared to the lower dimensional setting of pre-processed $\ten{X}$. Compelling evidence suggests that this is due to TSIR not directly estimating the mode-wise reduction matrices $\mat{\beta}_j$: It estimates the mode-wise covariances $\mat{\Sigma}_j$ and mode-wise reduction matrices $\mat{\Gamma}_j$ for standardized observations and sets $\widehat{\mat{\beta}}_j = \widehat{\mat{\Sigma}}_j^{-1}\widehat{\mat{\Gamma}}_j$. The estimation accuracy of the $\widehat{\mat{\beta}}_j$s depends on both $\widehat{\mat{\Sigma}}_j$ and $\widehat{\mat{\Gamma}}_j$. Specifically, as the dimensions increase, the mode-wise covariances are ill-conditioned, leading to massive errors in the estimation accuracy of the reduction matrices $\widehat{\mat{\beta}}_j$. - -\begin{figure} - \centering - \caption{\label{fig:TSIRvsGMLM}TSIR in red vs. GMLM in black} - \includegraphics[width = \textwidth]{plots/tsir_eeg_2d_bad_perf.pdf} -\end{figure} - -To observe this in practice, we took the full 2D EEG data (only the S1 stimulus) and computed $\widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_1, \widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_2$, $\widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_1, \widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_2$ from which we computed the reductions $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_1$ and $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_2$. For comparison, we used GMLM to estimate the reduction matrices $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_2$ and the scatter matrices $\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_2$. We also computed the GMLM analog of the standardized reductions $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_1 = (\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_1)^{-1}\widehat{\mat{\beta}}_1^{\mathrm{GMLM}}$ and $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_2 = (\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_2)^{-1}\widehat{\mat{\beta}}_2^{\mathrm{GMLM}}$. We next plotted in \cref{fig:TSIRvsGMLM} the estimated reductions $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_2$, $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_2$ in black and $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_1$, $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_2$, $\widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_1$, $\widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_2$ in red (with appropriate scaling). Since the estimates of the reductions $\widehat{\mat{\beta}}_j$'s are completely different between GMLM and TSIR but the estimates of the standardized reductions $\mat{\Gamma}_j$'s agree to a high degree, we conclude that the loss of estimation accuracy happens in the final calculations that %That is in computing the estimates of the reductions $\mat{\beta}_j = \mat{\Sigma}_j^{-1}\mat{\Gamma}$, which -involve the inversion of the severely ill-conditioned mode-wise estimated covariances $\widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_1$ and $\widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_2$. - -To check whether our conjecture holds, we introduced a regularization term similar to the regularization employed in GMLM to the mode-wise sample covariances $\mat{\Sigma}_j$ in TSIR. As can be seen in \cref{fig:TSIRregvsGMLM}, this produced roughly the same reductions $\widehat{\mat{\beta}}_j$ as well as the $\widehat{\mat{\Gamma}}_j$. - -\begin{figure} -\caption{TSIR (reg) in red vs. GMLM in black} -\label{fig:TSIRregvsGMLM} - \includegraphics[width = \textwidth]{plots/tsir_regularized.pdf} -\end{figure} - -To further study the relationship between GMLM and TSIR, we first consider a setting in which GMLM and TSIR are theoretically equivalent. We assume that $Y$ is categorical, $\ten{X}\mid Y = y$ is multi-linear normal and the reduction $\ten{R}(\ten{X})$ is one-dimensional. Additionally, $\mat{\Omega}_j$ is assumed to be positive definite but \emph{not} further constrained. Under these assumptions, GMLM and TSIR are equivalent since %Even though GMLM minimizes the log-likelihood and TSIR minimizes a squared error loss, -the theoretical mode-wise reduction matrices minimizing the log-likelihood (GMLM's objective) and the squared error loss (TSIR's objective) are theoretically identical. - -In practice though, even in this simplest of settings, both procedures do not agree fully in their estimates. This is based on multiple different factors. -\begin{enumerate} - \item Both procedures use different parameterizations. The reduction matrices $\mat{\beta}_j$ are parameters in GMLM in contrast to TSIR. As a result, TSIR first estimates its parameters $\mat{\Gamma}_j$ and mode-wise covariances $\mat{\Sigma}_j$ (corresponding to the marginal mode-wise covariances $\cov(\ten{X}_{(j)}$) and then estimates $\mat{\beta}_j$ with $\widehat{\mat{\beta}}_j =\widehat{\mat{\Sigma}}_j^{-1}\widehat{\mat{\Gamma}}_j$. This ``two-step'' approach induces accumulation of estimation errors. Moreover, if any $\widehat{\mat{\Sigma}}_j$ is ill-conditioned, the resulting $\widehat{\mat{\beta}}_j$ is very unstable. In contrast, GMLM incorporates the reductions $\mat{\beta}_j$ directly into the model and estimates both $\mat{\beta}_j$ and $\mat{\Omega}_j$ at the same time, so that the estimation error in $\mat{\Omega}_j$ does \emph{not} affect the reductions. %But, in contrast to TSIR, GMLM does estimate both $\mat{\beta}_j$ and $\mat{\Omega}_j$ at the same time, linking the estimation accuracy of both in a different way. - This is due to GMLM's mode-wise scatter matrices $\mat{\Omega}_j$ are estimated from the inverse regression residuals (corresponding to $(\E\cov(\ten{X}_{(j)}\mid Y))^{-1}$). - - \item The original version of TSIR \cite[]{DingCook2015} does \emph{not} incorporate any regularization. We introduced regularization to TSIR leading to the TSIR (reg) procedure by simply adding $0.2\lambda_1(\mat{\Sigma}_j)\mat{I}_{p_j}$ to $\mat{\Sigma}_j$ if and only if the condition number of $\mat{\Sigma}_j$ exceeds an arbitrary threshold of $25$, similar to the regularization used in GMLM. Without this regularization, TSIR can fail dramatically. - %in the final computation $\mat{\beta}_j = \mat{\Sigma}_j^{-1}\mat{\Gamma}_j$, which is the reason for the drop in AUC in \cref{tab:eeg} for TSIR in contrast to TSIR (reg). - In comparison, GMLM behaves more stable in regard to estimating the reductions $\mat{\beta}_j$ even without regularization. At the same time, the need for regularization is more pronounced in GMLM. This means that even in well behaved settings, the estimation algorithm for GMLM does rely on its regularization to guard against divergence in the iterative estimation procedure. In summary, without regularization, TSIR may encounter complete breakdown without regularization while GMLM has worse average performance (not directly reported since the regularization in GMLM is the default for the multi-linear normal algorithm, applied only in a subset of iterations). -\end{enumerate} - -If the response $Y$ is a univariate continuous variable, then GMLM and TSIR are no longer equivalent (from a theoretical point of view.) - -\begin{enumerate}\setcounter{enumi}{2} - \item TSIR performs slicing of the continuous response $y$ which misses fine-grained information. GMLM does not have this restriction, being able to directly work with the continuous response. This is the main reason for the slight performance gain of GMLM over TSIR in the simulations of \cref{sec:sim-tensor-normal} (due to the small dimensionality of the simulations, regularization for TSIR is not needed while GMLM applies regularization during its iterative estimation procedure for algorithmic stability only. Meaning, the final GMLM estimates are also almost never regularized). - \item Another major difference between GMLM and TSIR is the tensor-valued function $\ten{F}_y$ of the response, which makes GMLM much more general than TSIR. If $\ten{F}_y$ is the fraction of observations in a slice, TSIR is in effect a special case of GMLM. %During the modeling process of GMLM we introduced .% $y$. - %This was assumed as a \emph{known} function of $y$, which in practice is subject to modeling. This is another major difference between GMLM and TSIR, manifesting in two parts. - - For general $\ten{F}_y\in\mathbb{R}^{q_1\times\ldots q_r}$, its dimension, $q = \prod_{j = 1}^r q_j$, inherently constrains the dimension of the reduction in \cref{thm:sdr}. TSIR also requires to provide a per-mode reduction dimension $\tilde{q}_j$ which leads to a final reduction of dimensionality $\tilde{q} = \prod_{j = 1}^r \tilde{q}_j$, but without a link to an explicitly provided function. This makes the specification of the reduction dimension simpler, while being equality constraint from a number theoretic divisibility point of view. - -\end{enumerate} - -\noindent So far, we required no additional constraints on the model parameters. - -\begin{enumerate}\setcounter{enumi}{4} - \item Given additional information about the regression at hand, one might want to incorporate that knowledge into the method. For example, for longitudinal data, the time dimension may be modeled as an AR process. GMLM allows (under the conditions outlined in \cref{sec:manifolds}) such modeling by describing the corresponding parameter manifolds of the covariances or the reductions themselves, a functionality \emph{not} available in TSIR. -\end{enumerate} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Parameter estimation for the Multi-Linear Ising model}\label{sec:ising-param-estimation} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Initial Values} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -The first step is to get reasonable starting values. Experiments showed that a good starting value of $\mat{\beta}_k$ is to use the multi-linear normal estimates from \cref{sec:tensor-normal-estimation} for $k = 1, \ldots, r$, considering $\ten{X}_i$ as continuous. For initial values of $\mat{\Omega}_k$, a different approach is required. Setting everything to the uninformative initial value results in $\mat{\Omega}_k = \mat{0}$ as this corresponds to the conditional log odds to be $1:1$ for every component and pairwise interaction. This is not possible, since $\mat{0}$ is a stationary point of the log-likelihood, as can be directly observed by considering the partial gradients of the log-likelihood in \cref{thm:grad}. Instead, we use a crude heuristic that threads every mode separately and ignores any relation to the covariates. It is computationally cheap and better than any of the alternatives we considered. For every $k = 1, \ldots, r$, let the $k$th mode second moment estimate be -\begin{equation}\label{eq:ising-mode-moments} - \hat{\mat{M}}_{2(k)} = \frac{p_k}{n p}\sum_{i = 1}^n (\ten{X}_i)_{(k)}\t{(\ten{X}_i)_{(k)}} -\end{equation} -which contains the $k$th mode first moment estimate in its diagonal $\hat{\mat{M}}_{1(k)} = \diag\hat{\mat{M}}_{2(k)}$. - -For the purpose of an initial value estimate, we threat each of the columns of the matricized observation $(\ten{X}_i)_{(k)}$ as an i.i.d. observation of a $p_k$ dimensional random variable $Z_k$. Through this reasoning we get with $n$ i.i.d. observations $\ten{X}_i$ a total of $n \prod_{j\neq k}p_j$ realizations of the random variable $Z_k$ for each of the modes $k = 1, \ldots, r$. - -Continuing this reasoning, the elements of $(\hat{\mat{M}}_{1(k)})_{j}$ are the estimates of the marginal probability $P((Z_k)_j = 1)$ of the $j$th element of $Z_k$ being $1$. Similarly, for $l \neq j$, the entry $(\hat{\mat{M}}_{2(k)})_{j l}$ estimates the marginal probability of two-way interactions, $P((Z_k)_j = 1, (Z_k)_l = 1)$. Now, we set the diagonal elements of $\mat{\Omega}_k$ to zero. For the off diagonal elements of $\mat{\Omega}_k$, we equate the conditional probabilities $P((Z_k)_j = 1 \mid (Z_k)_{-j} = \mat{0})$ and $P((Z_k)_j = 1, (Z_k)_l = 1\mid (Z_k)_{-j, -l} = \mat{0})$ with the marginal probability estimates $(\hat{\mat{M}}_{1(k)})_{j}$ and $(\hat{\mat{M}}_{2(k)})_{j l}$, respectively. Applying \eqref{eq:ising-two-way-log-odds} gives the initial component-wise estimates $\hat{\mat{\Omega}}_k^{(0)}$, -\begin{equation}\label{eq:ising-init-Omegas} - (\hat{\mat{\Omega}}_k^{(0)})_{j j} = 0, - \qquad - (\hat{\mat{\Omega}}_k^{(0)})_{j l} = \log\frac{1 - (\hat{\mat{M}}_{1(k)})_{j}(\hat{\mat{M}}_{1(k)})_{l}}{(\hat{\mat{M}}_{1(k)})_{j}(\hat{\mat{M}}_{1(k)})_{l}}\frac{(\hat{\mat{M}}_{2(k)})_{j l}}{1 - (\hat{\mat{M}}_{2(k)})_{j l}}, \, j \neq l. -\end{equation} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Gradient Optimization} -Given initial values, the gradients derived in \cref{thm:grad} can be evaluated for the Ising model. The first step therefore is to determine the values of the inverse link components $\ten{g}_1(\mat{\gamma}_y) = \E[\ten{X} \mid Y = y]$ and $\ten{G}_2(\mat{\gamma}_y) = \ten{g}_2(\mat{\gamma}_y) = \E[\ten{X}\circ\ten{X} \mid Y = y]$. An immediate simplification is that the first moment is part of the second moment. Its values are determined via $\vec(\E[\ten{X} \mid Y = y]) = \diag(\E[\ten{X}\circ\ten{X} \mid Y = y]_{(1, \ldots, r)})$; i.e., only the second moment needs to be computed, or estimated (see \cref{sec:ising-bigger-dim}) in the case of slightly bigger $p$. For the Ising model, the conditional second moment with parameters $\mat{\gamma}_y$ is given by the matricized relation -\begin{equation}\label{eq:ising-m2} - \ten{g}_2(\ten{\gamma}_y)_{(1, \ldots, r)} = \E\left[(\vec{\ten{X}})\t{(\vec{\ten{X}})}\mid Y = y\right] = p_0(\mat{\gamma}_y)\sum_{\mat{x}\in\{0, 1\}^{p}}\mat{x}\t{\mat{x}}\exp(\t{\vech(\mat{x}\t{\mat{x}})}\mat{\gamma}_y). -\end{equation} -The natural parameter $\mat{\gamma}_y$ is evaluated via \eqref{eq:ising-natural-params} enabling us to compute the partial gradients of the log-likelihood $l_n$ \eqref{eq:log-likelihood} for the Ising model by \cref{thm:grad} for the GMLM parameters $\mat{\beta}_k$ and $\mat{\Omega}_k$, $k = 1, \ldots, r$, at the current iterate $\mat{\theta}^{(I)} = (\mat{\beta}_1^{(I)}, \ldots, \mat{\beta}_r^{(I)}, \mat{\Omega}_1^{(I)}, \ldots, \mat{\Omega}_r^{(I)})$. Using classic gradient ascent for maximizing the log-likelihood, we have to specify a learning rate $\lambda\in\mathbb{R}_{+}$, usually a value close to $10^{-3}$. The update rule is -\begin{displaymath} - \mat{\theta}^{(I + 1)} = \mat{\theta}^{(I)} + \lambda\nabla_{\mat{\theta}} l_n(\mat{\theta})\bigr|_{\mat{\theta} = \mat{\theta}^{(I)}}, -\end{displaymath} -which is iterated till convergence. In practice, iteration is performed until either a maximum number of iterations is exhausted and/or some break condition is satisfied. A proper choice of the learning rate is needed as a large learning rate $\lambda$ may cause instability, while a very low learning rate requires an enormous amount of iterations. Generically, there are two approaches to avoid the need to determine a proper learning rate. First, \emph{line search methods} determine an appropriate step size for every iteration. This works well if the evaluation of the object function (the log-likelihood) is cheap. This is not the case in our setting, see \cref{sec:ising-bigger-dim}. The second approach is an \emph{adaptive learning rate}, where one tracks specific statistics while optimizing and dynamically adapting the learning rate via well-tested heuristics using the gathered knowledge from past iterations. We opted to use an adaptive learning rate approach, which not only removes the need to determine an appropriate learning rate but also accelerates learning. - -Our method of choice is \emph{root mean squared propagation} (RMSprop) \cite[]{Hinton2012}. This is a well-known method in machine learning for training neural networks. It is a variation of gradient descent with a per scalar parameter adaptive learning rate. It tracks a moving average of the element-wise squared gradient $\mat{g}_2^{(I)}$, which is then used to scale (element-wise) the gradient in the update rule (see \cite{Hinton2012} and \cite{GoodfellowEtAl2016} among others). The update rule using RMSprop for maximization\footnote{Instead of the more common minimization, therefore $+$ in the update of $\mat{\theta}$.} is -\begin{align*} - \mat{g}_2^{(I + 1)} &= \nu \mat{g}_2^{(I)} + (1 - \nu)\nabla l_n(\mat{\theta}^{(I)})\odot\nabla l_n(\mat{\theta}^{(I)}), \\ - \mat{\theta}^{(I + 1)} &= \mat{\theta}^{(I)} + \frac{\lambda}{\sqrt{\mat{g}_2^{(I + 1)}} + \epsilon}\odot\nabla l_n(\mat{\theta}^{(I)}). -\end{align*} -The parameters $\nu = 0.9$, $\lambda = 10^{-3}$ and $\epsilon\approx 1.49\cdot 10^{-8}$ are fixed. The initial value of $\mat{g}_2^{(0)} = \mat{0}$, where the symbol $\odot$ denotes the Hadamard product, or element-wise multiplication. The division and square root operations are performed element-wise as well. According to our experiments, RMSprop requires iterations in the range of $50$ till $1000$ till convergence while gradient ascent with a learning rate of $10^{-3}$ is in the range of $1000$ till $10000$. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Small Data Sets}\label{sec:ising-small-data-sets} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -In the case of a finite number of observations, specifically in data sets with a small number of observations $n$, the situation where one component is always either zero or one can occur. It is also possible to observe two exclusive components. In practice, this situation of a ``degenerate'' data set should be protected against. Working with parameters on a log scale, gives estimates of $\pm\infty$, which is outside the parameter space and breaks our optimization algorithm. - -The first situation where this needs to be addressed is in \eqref{eq:ising-init-Omegas}, where we set initial estimates for $\mat{\Omega}_k$. To avoid division by zero as well as evaluating the log of zero, we adapt \eqref{eq:ising-mode-moments}, the mode-wise moment estimates $\hat{\mat{M}}_{2(k)}$. A simple method is to replace the ``degenerate'' components, that are entries with value $0$ or $1$, with the smallest positive estimate of exactly one occurrence $p_k / n p$, or all but one occurrence $1 - p_k / n p$, respectively. - -The same problem is present in gradient optimization. Therefore, before starting the optimization, we detect degenerate combinations. We compute upper and lower bounds for the ``degenerate'' element in the Kronecker product $\hat{\mat{\Omega}} = \bigkron_{k = r}^{1}\hat{\mat{\Omega}}_k$. After every gradient update, we check if any of the ``degenerate'' elements fall outside of the bounds. In that case, we adjust all the elements of the Kronecker component estimates $\hat{\mat{\Omega}}_k$, corresponding to the ``degenerate'' element of their Kronecker product, to fall inside the precomputed bounds. While doing so, we try to alter every component as little as possible to ensure that the non-degenerate elements in $\hat{\mat{\Omega}}$, affected by this change due to its Kronecker structure, are altered as little as possible. The exact details are technically cumbersome while providing little insight. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Slightly Bigger Dimensions}\label{sec:ising-bigger-dim} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -A big challenge for the Ising model is its high computational complexity as it involves summing over all binary vectors of length $p = \prod_{k = 1}^{r}p_k$ in the partition function \eqref{eq:ising-partition-function}. Exact computation of the partition function requires summing all $2^p$ binary vectors. For small dimensions, say $p\approx 10$, this is easily computed. Increasing the dimension beyond $20$ becomes extremely expensive and %absolutely -impossible for a dimension bigger than $30$. Trying to avoid the evaluation of the log-likelihood and only computing its partial gradients via \cref{thm:grad} does not resolve the issue. The gradients require the inverse link, that is the second moment \eqref{eq:ising-m2}, which still involves summing $2^p$ terms if the scaling factor $p_0$ is dropped. Basically, with our model, this means that the optimization of the Ising model using exactly computed gradients is impossible for moderately sized problems. - -When $p=\prod_{i=1}^r p_i > 20$, we use a Monte-Carlo method to estimate the second moment \eqref{eq:ising-m2}, required to compute the partial gradients of the log-likelihood. Specifically, we use a Gibbs-Sampler to sample from the conditional distribution and approximate the second moment in an importance sampling framework. This can be implemented quite efficiently and the estimation accuracy for the second moment is evaluated experimentally. %which seems to be very reliable. -Simultaneously, we use the same approach to estimate the partition function. This, though, is inaccurate and may only be used to get a rough idea of the log-likelihood. Regardless, for our method, we only need the gradient for optimization where appropriate break conditions, not based on the likelihood, lead to a working method for MLE estimation. - -\begin{figure}[!hpt] - \centering - \includegraphics[width=0.5\textwidth]{../plots/sim-ising-perft-m2.pdf} - \caption{\label{fig:ising-m2-perft}Performance test for computing/estimating the second moment of the Ising model of dimension $p$ using either the exact method or a Monte-Carlo (MC) simulation.} -\end{figure} - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Chess}\label{sec:chess} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -We provide a \emph{proof of concept} analysis of chess positions based on the Ising GMLM model where we build a mixture of matrix Ising models. Our modeling is based on analyzed games to build a sufficient reduction for winning positions. - -The data set is provided by the \emph{lichess.org open database}.\footnote{\emph{lichess.org open database}. visited on December 8, 2023. \url{https://database.lichess.org}} We randomly selected the November of 2023 data that consist of more than $92$ million games. We removed all games without position evaluations. The evaluations, also denoted as scores, are from Stockfish,\footnote{The Stockfish developers [see \href{https://github.com/official-stockfish/Stockfish/blob/master/AUTHORS}{AUTHORS} file] (since 2008). \textit{Stockfish}. Stockfish is a free and strong UCI chess engine. \url{https://stockfishchess.org}} a free and strong chess engine. The scores take the role of the response $Y$ and correspond to a winning probability from the white pieces' point of view. Positive scores are good for white and negative scores indicate an advantage for black pieces. We ignore all highly unbalanced positions, which we set to be positions with absolute score above $5$. We also remove all positions with a mate score (one side can force checkmate). Furthermore, we only consider positions after $10$ half-moves to avoid oversampling the beginning of the most common openings including the start position which is in every game. Finally, we only consider positions with white to move. This leads to a final data set of roughly $64$ million positions, including duplicates. We did not filter according to the players strength nor the time control of the game. This means that our data set contains games from very weak to very strong players as well as very fast games, like Bullet, to classic chess. - -A chess position is encoded as a set of $12$ binary matrices $\ten{X}_{\mathrm{piece}}$ of dimensions $8\times 8$. Every binary matrix encodes the positioning of a particular piece by containing a $1$ if the piece is present at the corresponding board position. The $12$ pieces derive from the $6$ types of pieces, namely pawns (\pawn), knights (\knight), bishops (\bishop), rooks (\rook), queens (\queen), and kings (\king) of two colors, black and white. See \cref{fig:fen2tensor} for a visualization. - -\begin{figure}[!hpt] - \centering - %\includegraphics[width = \textwidth]{../images/fen2tensor.pdf} - \includegraphics[scale=0.8]{../images/fen2tensor.pdf}\caption{\label{fig:fen2tensor}The chess start position and its 3D binary tensor representation, empty entries are $0$.} -\end{figure} - -We assume that $\ten{X}_{\mathrm{piece}}\mid Y = y$ follows an Ising GMLM model as in \cref{sec:ising_estimation} with different conditional piece predictors being independent. %The independence assumption is for the sake of simplicity even though this is not the case in the underlying true distribution. -The simplifying assumption of independence results in a mixture model with log-likelihood -\begin{displaymath} - l_n(\mat{\theta}) = \frac{1}{12}\sum_{\mathrm{piece}}l_n(\mat{\theta}_{\mathrm{piece}}) -\end{displaymath} -where $l_n(\mat{\theta}_{\mathrm{piece}})$ is the Ising GMLM log-likelihood as in \cref{sec:ising_estimation} for $\ten{X}_{\mathrm{piece}}\mid Y = y$. For every component the same relation to the scores $y$ is modeled via a $2\times 2$ dimensional matrix-valued function $\ten{F}_y$ consisting of the monomials $1, y, y^2$, specifically $(\ten{F}_y)_{i j} = y^{i + j - 2}$. - -Due to the volume of the data (millions of observations), it is computationally infeasible to compute the gradients on the entire data set. %Simply using a computationally manageable subset is not an option. -The dimension of the binary data is $12$ times a $8\times 8 =768$ for every observation. %The main issue is that a manageable subset, say one million observations, still leads to a degenerate data set. In our simplified mixture model, the pawns are a specific issue as there are multiple millions of different combinations of the $8$ pawns per color on the $6\times 8$ sub-grid where the pawns can be positioned. This alone does not allow us to take a reasonable sized subset for estimation. -The solution is to switch from a classic gradient-based optimization to a stochastic version; that is, every gradient update uses a new random subset of the entire data set. We draw independent random samples from the data consisting of $64$ million positions. The independence of samples is derived from the independence of games, and every sample is drawn from a different game. - -\subsection{Validation} -Given the non-linear nature of the reduction, due to the quadratic matrix-valued function $\ten{F}_y$ of the score $y$, we use a \emph{generalized additive model}\footnote{using the function \texttt{gam()} from the \texttt{R} package \texttt{mgcv}.} (GAM) to predict position scores from reduced positions. The reduced positions are $48$ dimensional continuous values by combining the $12$ mixture components from the $2\times 2$ matrix-valued reductions per piece. The per-piece reduction is -\begin{displaymath} - \ten{R}(\ten{X}_{\mathrm{piece}}) = \mat{\beta}_{1,\mathrm{piece}}(\ten{X}_{\mathrm{piece}} - \E\ten{X}_{\mathrm{piece}})\t{\mat{\beta}_{2, \mathrm{piece}}} -\end{displaymath} -which gives the complete $48$ dimensional vectorized reduction by stacking the piece-wise reductions -\begin{displaymath} - \vec{\ten{R}(\ten{X}}) - = (\vec{\ten{R}(\ten{X}_{\text{white pawn}})}, \ldots, \vec{\ten{R}(\ten{X}_{\text{black king}})}) - = \t{\mat{B}}\vec(\ten{X} - \E\ten{X}). -\end{displaymath} -The second line encodes all the piece-wise reductions in a block diagonal full reduction matrix $\mat{B}$ of dimension $768\times 48$ which is applied to the vectorized 3D tensor $\ten{X}$ combining all the piece components $\ten{X}_{\mathrm{piece}}$ into a single tensor of dimension $8\times 8\times 12$. This is a reduction to $6.25\%$ of the original dimension. The $R^2$ statistic of the GAM fitted on $10^5$ new reduced samples is $R^2_{\mathrm{gam}}\approx 46\%$. A linear model on the reduced data achieves $R^2_{\mathrm{lm}}\approx 26\%$ which clearly shows the non-linear relation. On the other hand, the static evaluation of the \emph{Schach H\"ornchen}\footnote{Main author's chess engine.} engine, given the full position (\emph{not} reduced), achieves an $R^2_{\mathrm{hce}}\approx 52\%$. The $42\%$ are reasonably well compared to $51\%$ of the engine static evaluation which gets the original position and uses chess specific expert knowledge. Features the static evaluation includes, which are expected to be learned by the GMLM mixture model, are the \emph{material} (piece values) and \emph{piece square tables} (PSQT, preferred piece type positions). In addition, the static evaluation includes chess specific features like \emph{king safety}, \emph{pawn structure}, or \emph{rooks on open files}. This lets us conclude that the reduction captures most of the relevant features possible, given the oversimplified modeling we performed. - -\subsection{Interpretation} -For a compact interpretation of the estimated reduction we construct PSQTs. To do so we use the linear model from the validation section. Then, we rewrite the combined linear reduction and linear model in terms of PSQTs. Due to the nature of our analysis, it does not provide the usual PSQT interpreted as the square where a piece is most powerful, but instead that the presence of a piece on a particular square is indicative of a winning position. Those two are different in the sense that the first indicates the potential of a piece on a particular square while the second also incorporates the cases where this potential was already used, resulting in a winning position (often due to an oversight of the opponent). - -Let $\mat{B}$ be the $768\times 48$ full vectorized linear reduction. This is the block diagonal matrix with the $64\times 4$ dimensional per piece reductions $\mat{B}_{\mathrm{piece}} = \mat{\beta}^{\mathrm{piece}}_2\otimes\mat{\beta}^{\mathrm{piece}}_1$. Then, the linear model with coefficients $\mat{b}$ and intercept $a$ on the reduced data is given by -\begin{equation}\label{eq:chess-lm} - y = a + \t{\mat{b}}\t{\mat{B}}\vec(\ten{X} - \E\ten{X}) + \epsilon -\end{equation} -with an unknown mean zero error term $\epsilon$ and treating the binary tensor $\ten{X}$ as continuous. Decomposing the linear model coefficients into blocks of $4$ gives per piece coefficients $\mat{b}_{\mathrm{piece}}$ which combine with the diagonal blocks $\mat{B}_{\mathrm{piece}}$ of $\mat{B}$ only. Rewriting \eqref{eq:chess-lm} gives -\begin{align*} - y &= a + \sum_{\mathrm{piece}}\t{(\mat{B}_{\mathrm{piece}}\mat{b}_{\mathrm{piece}})}\vec(\ten{X}_{\mathrm{piece}} - \E\ten{X}_{\mathrm{piece}}) + \epsilon \\ - &= \tilde{a} + \sum_{\mathrm{piece}}\langle - \mat{B}_{\mathrm{piece}}\mat{b}_{\mathrm{piece}}, - \vec(\ten{X}_{\mathrm{piece}}) - \rangle + \epsilon -\end{align*} -with a new intercept term $\tilde{a}$, which is of no interest to us. Finally, we enforce color symmetry, using known mechanisms from chess engines. Specifically, mirroring the position changes the sign of the score $y$. Here, mirroring reverses the rank (row) order, this is the image in a mirror behind a chess board. Let every $\mat{C}_{\mathrm{piece}}$ be a $8\times 8$ matrix with elements $(\mat{C}_{\mathrm{piece}})_{i j} = (\mat{B}_{\mathrm{piece}}\mat{b}_{\mathrm{piece}})_{i + 8 (j - 1)}$. And denote with $\mat{M}(\mat{A})$ the matrix mirror operation which reverses the row order of a matrix. -The new notation allows to enforce the symmetry, resulting in an approximate linear relationship. -\begin{align*} - y &= \tilde{a} + \sum_{\mathrm{piece}}\langle - \mat{C}_{\mathrm{piece}}, - \ten{X}_{\mathrm{piece}} - \rangle + \epsilon \\ - &\approx \tilde{a} + \sum_{\text{piece type}}\frac{1}{2}\langle - \mat{C}_{\text{white piece}} - \mat{M}(\mat{C}_{\text{black piece}}), - \ten{X}_{\text{white piece}} - \mat{M}(\ten{X}_{\text{white piece}}) - \rangle + \epsilon -\end{align*} -If $\mat{C}_{\text{white piece}} = -\mat{M}(\mat{C}_{\text{black piece}})$ for every piece type, then we have equality ($6$ types, \emph{not} distinguishing between color.) In our case, this is valid given that the estimates $\hat{\mat{C}}_{\mathrm{piece}}$ fulfill this property with a small error. The $6$ matrices $(\mat{C}_{\text{white piece}} - \mat{M}(\mat{C}_{\text{black piece}})) / 2$ are called \emph{piece square tables} (PSQT) which are visualized in \cref{fig:psqt}. The interpretation of those tables is straightforward. A high positive value (blue) means that it is usually good to have a piece of the corresponding type on that square while a high negative value (red) means the opposite. It needs to be considered that the PSQTs are for quiet positions only, which means all pieces are save in the sense that there is no legal capturing moves nor is the king in check. - -\begin{figure}[t] - \centering - %\includegraphics[width = \textwidth]{../plots/psqt.pdf} - \includegraphics[scale=0.8]{../plots/psqt.pdf} - \caption{\label{fig:psqt}Extracted PSQTs (piece square tables) from the chess example GMLM reduction.} -\end{figure} - -The first visual effect in \cref{fig:psqt} is the dark blue PSQT of the Queen followed by a not-so-dark Rook PSQT. This indicates that the Queen, followed by the Rook, are the most valuable pieces (after the king which is the most valuable, which also implies that assigning value to the king makes no sense). The next two are the Knight and Bishop which have higher value than the Pawns, ignoring the $6$th and $7$th rank as this makes the pawns potential queens. This is the classic piece value order known in chess. - -Next, going over the PSQTs one by one, a few words about the preferred positions for every piece type. The pawn positions are specifically good on the $6$th and especially on the $7$th rank as this threatens a promotion to a Queen (or Knight, Bishop, Rook). The Knight PSQT is a bit surprising, the most likely explanation for the knight being good in the enemy territory is that it got there by capturing an enemy piece for free. A common occurrence in low-rated games is a big chunk of the training data, ranging over all levels. The Bishops seem to have no specific preferred placement, only a slightly higher overall value than pawns, excluding pawns imminent for a promotion. Continuing with the rooks, we see that the rook is a good attacking piece, indicated by a save rook infiltration\footnote{Rook infiltration is a strategic concept in chess that involves skillfully maneuvering your rook to penetrate deep into your opponent's territory.}. It is well known chess knowledge that the Rook is most powerful on the 7th rank, but this is different from our analysis as this is related to the potential of a Rook in contrast to the position of a Rook in a winning position over all states of the game. The Queen is powerful almost everywhere, only the outer back rank squares (lower left and right) tend to reduce her value. This is rooted in the queen's presence there being a sign for being chased by enemy pieces. Leading to a lot of squares being controlled by the enemy hindering one own movement. Finally, given the goal of the game is to checkmate the king, a safe position for the king is very valuable. This is seen by the back rank (rank $1$) being the only non-penalized squares. Furthermore, the safest squares are the castling\footnote{Castling is a maneuver that combines king safety with rook activation.} target squares ($g1$ and $c1$) as well as the $b1$ square. Shifting the king over to $b1$ is quite common to protect the $a2$ pawn so that the entire pawn shield in front of the king is protected. - -The results of our analysis above agree with the configuration of the chess board most associated with observed chess game outcomes. This analysis also aligns with the understanding of human chess players of an average configuration at any moment during the game when considering the different interpretation of being in a winning position in contrast to the power of a piece on a specific square. Moreover, our analysis was performed over a wide range of player skill levels while disregarding if a position is in the middle or end game. - -\end{appendix} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Support information, if any, %% %% should be provided in the %% %% Acknowledgements section. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\begin{acks}[Acknowledgments] -%The authors would like to thank the anonymous referees, an Associate Editor and the Editor for their constructive comments that improved the quality of this paper. -%\end{acks} +\begin{acks}[Acknowledgments] + We would like to thank the Editor, the Associate Editor and the anonymous referees for their careful reading of the paper and suggestions that improved the quality of this paper. +\end{acks} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Funding information, if any, %% @@ -1920,8 +857,7 @@ The results of our analysis above agree with the configuration of the chess boar %% funding section. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{funding} -Both authors were partially supported by the Vienna Science and Technology Fund (WWTF) [10.47379/ICT19018] and the Austrian Science Fund (FWF) research -project P 30690-N35. + Both authors were partially supported by the Vienna Science and Technology Fund (WWTF) [10.47379/ICT19018] and the Austrian Science Fund (FWF) research project P 30690-N35. \end{funding} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1934,10 +870,10 @@ project P 30690-N35. %% available to the reader on Project %% %% Euclid with the published article. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% \begin{supplement} -% \stitle{???} -% \sdescription{???.} -% \end{supplement} +\begin{supplement} +\stitle{Supplement to ``Generalized Multilinear Models for Sufficient Dimension Reduction on Tensor-valued Predictors''} +\sdescription{The supplement \cite{KaplaBura2025sup} consists of the Appendices to the main paper. An example for disambiguating vectorization and matricization is in Appendix~A. Appendix~B contains the proofs omitted in the paper and the regularity conditions required in \cref{thm:asymptotic-normality-gmlm}. In Appendix~C we provide a numerical example of the advantages of tensor versus vector representation. An investigation into the behavior of TSIR versus GMLM applied to the EEG data including the description of TSIR (reg) is found in Appendix~D. Technical details for the parameter estimation of the multi-linear Ising model are given in Appendix~E. Appendix~F is a proof of concept application of the Ising GMLM model to chess.} +\end{supplement} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% The Bibliography %% diff --git a/AOS-accepted/plots/psqt.pdf b/AOS-accepted/plots/psqt.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e18cf8396c7d9a225d465a7e922467b369796c8 GIT binary patch literal 30989 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 literal 0 HcmV?d00001 diff --git a/AOS-accepted/plots/psqt.tex b/AOS-accepted/plots/psqt.tex new file mode 100644 index 0000000..4416594 --- /dev/null +++ b/AOS-accepted/plots/psqt.tex @@ -0,0 +1,43 @@ +% Authomatically generated by `dataAnalysis/chess.R` + +\documentclass{standalone} + +\usepackage[LSB, T1]{fontenc} +\usepackage{chessboard} +\usepackage{skak} +\usepackage{tikz} +\usepackage{amsmath} +\usepackage{xcolor} + +\setboardfontencoding{LSB} + +\setchessboard{linewidth = 0.1em, showmover = false, smallboard} + +\definecolor{col1}{HTML}{5F1415} \definecolor{col2}{HTML}{641818} \definecolor{col3}{HTML}{681B1C} \definecolor{col4}{HTML}{6D1F1F} \definecolor{col5}{HTML}{722222} \definecolor{col6}{HTML}{772526} \definecolor{col7}{HTML}{7C2829} \definecolor{col8}{HTML}{812B2C} \definecolor{col9}{HTML}{862F2F} \definecolor{col10}{HTML}{8B3232} \definecolor{col11}{HTML}{903535} \definecolor{col12}{HTML}{953838} \definecolor{col13}{HTML}{9A3B3B} \definecolor{col14}{HTML}{9F3E3E} \definecolor{col15}{HTML}{A44141} \definecolor{col16}{HTML}{A94444} \definecolor{col17}{HTML}{AE4747} \definecolor{col18}{HTML}{B34A4A} \definecolor{col19}{HTML}{B74E4E} \definecolor{col20}{HTML}{BA5353} \definecolor{col21}{HTML}{BD5758} \definecolor{col22}{HTML}{C05C5C} \definecolor{col23}{HTML}{C26061} \definecolor{col24}{HTML}{C56565} \definecolor{col25}{HTML}{C7696A} \definecolor{col26}{HTML}{CA6E6E} \definecolor{col27}{HTML}{CD7272} \definecolor{col28}{HTML}{CF7677} \definecolor{col29}{HTML}{D17A7B} \definecolor{col30}{HTML}{D47F7F} \definecolor{col31}{HTML}{D68383} \definecolor{col32}{HTML}{D88787} \definecolor{col33}{HTML}{DA8B8C} \definecolor{col34}{HTML}{DC8F90} \definecolor{col35}{HTML}{DE9394} \definecolor{col36}{HTML}{E09898} \definecolor{col37}{HTML}{E29C9C} \definecolor{col38}{HTML}{E4A0A0} \definecolor{col39}{HTML}{E6A4A4} \definecolor{col40}{HTML}{E8A8A8} \definecolor{col41}{HTML}{E9ABAC} \definecolor{col42}{HTML}{EBAFAF} \definecolor{col43}{HTML}{EDB3B3} \definecolor{col44}{HTML}{EEB7B7} \definecolor{col45}{HTML}{EFBBBB} \definecolor{col46}{HTML}{F1BEBF} \definecolor{col47}{HTML}{F2C2C2} \definecolor{col48}{HTML}{F3C6C6} \definecolor{col49}{HTML}{F4C9C9} \definecolor{col50}{HTML}{F5CDCD} \definecolor{col51}{HTML}{F6D0D0} \definecolor{col52}{HTML}{F7D4D4} \definecolor{col53}{HTML}{F8D7D7} \definecolor{col54}{HTML}{F8DADA} \definecolor{col55}{HTML}{F9DEDE} \definecolor{col56}{HTML}{F9E1E1} \definecolor{col57}{HTML}{FAE4E4} \definecolor{col58}{HTML}{FAE7E7} \definecolor{col59}{HTML}{FAEAEA} \definecolor{col60}{HTML}{FAECEC} \definecolor{col61}{HTML}{F9EFEF} \definecolor{col62}{HTML}{F9F1F1} \definecolor{col63}{HTML}{F8F4F4} \definecolor{col64}{HTML}{F7F6F6} \definecolor{col65}{HTML}{F6F6F7} \definecolor{col66}{HTML}{F4F5F8} \definecolor{col67}{HTML}{F1F3F8} \definecolor{col68}{HTML}{EFF1F8} \definecolor{col69}{HTML}{ECEFF8} \definecolor{col70}{HTML}{EAEDF8} \definecolor{col71}{HTML}{E7EBF8} \definecolor{col72}{HTML}{E4E8F8} \definecolor{col73}{HTML}{E1E6F7} \definecolor{col74}{HTML}{DEE3F7} \definecolor{col75}{HTML}{DAE1F6} \definecolor{col76}{HTML}{D7DEF5} \definecolor{col77}{HTML}{D4DCF4} \definecolor{col78}{HTML}{D0D9F4} \definecolor{col79}{HTML}{CDD6F3} \definecolor{col80}{HTML}{C9D3F2} \definecolor{col81}{HTML}{C5D0F1} \definecolor{col82}{HTML}{C2CDEF} \definecolor{col83}{HTML}{BECAEE} \definecolor{col84}{HTML}{BAC7ED} \definecolor{col85}{HTML}{B6C4EC} \definecolor{col86}{HTML}{B2C1EA} \definecolor{col87}{HTML}{AEBEE9} \definecolor{col88}{HTML}{AABAE8} \definecolor{col89}{HTML}{A6B7E6} \definecolor{col90}{HTML}{A2B4E5} \definecolor{col91}{HTML}{9EB1E3} \definecolor{col92}{HTML}{9AADE2} \definecolor{col93}{HTML}{95AAE0} \definecolor{col94}{HTML}{91A6DF} \definecolor{col95}{HTML}{8DA3DD} \definecolor{col96}{HTML}{88A0DB} \definecolor{col97}{HTML}{849CDA} \definecolor{col98}{HTML}{7F99D8} \definecolor{col99}{HTML}{7A95D6} \definecolor{col100}{HTML}{7592D4} \definecolor{col101}{HTML}{708ED3} \definecolor{col102}{HTML}{6B8BD1} \definecolor{col103}{HTML}{6687CF} \definecolor{col104}{HTML}{6184CD} \definecolor{col105}{HTML}{5B80CC} \definecolor{col106}{HTML}{567DCA} \definecolor{col107}{HTML}{5079C8} \definecolor{col108}{HTML}{4975C7} \definecolor{col109}{HTML}{4372C5} \definecolor{col110}{HTML}{3B6EC3} \definecolor{col111}{HTML}{356BC1} \definecolor{col112}{HTML}{3167BC} \definecolor{col113}{HTML}{2E63B6} \definecolor{col114}{HTML}{2B60B1} \definecolor{col115}{HTML}{275CAC} \definecolor{col116}{HTML}{2459A7} \definecolor{col117}{HTML}{2055A2} \definecolor{col118}{HTML}{1C529D} \definecolor{col119}{HTML}{174E98} \definecolor{col120}{HTML}{124B93} \definecolor{col121}{HTML}{0C478E} \definecolor{col122}{HTML}{05448A} \definecolor{col123}{HTML}{004085} \definecolor{col124}{HTML}{003D80} \definecolor{col125}{HTML}{00397C} \definecolor{col126}{HTML}{003678} \definecolor{col127}{HTML}{003274} \definecolor{col128}{HTML}{002F70} + +\begin{document} +\begin{tikzpicture} + +\coordinate (pawn) at (0, 0); +\coordinate (knight) at (5, 0); +\coordinate (bishop) at (10, 0); +\coordinate (rook) at (0, -5.2); +\coordinate (queen) at (5, -5.2); +\coordinate (king) at (10, -5.2); + +\node (pawn) at (pawn) {\chessboard[color=col64,colorbackfield=a8,color=col107,colorbackfield=a7,color=col76,colorbackfield=a6,color=col66,colorbackfield=a5,color=col67,colorbackfield=a4,color=col65,colorbackfield=a3,color=col66,colorbackfield=a2,color=col64,colorbackfield=a1,color=col64,colorbackfield=b8,color=col102,colorbackfield=b7,color=col75,colorbackfield=b6,color=col66,colorbackfield=b5,color=col66,colorbackfield=b4,color=col65,colorbackfield=b3,color=col66,colorbackfield=b2,color=col64,colorbackfield=b1,color=col64,colorbackfield=c8,color=col101,colorbackfield=c7,color=col75,colorbackfield=c6,color=col66,colorbackfield=c5,color=col66,colorbackfield=c4,color=col65,colorbackfield=c3,color=col66,colorbackfield=c2,color=col64,colorbackfield=c1,color=col64,colorbackfield=d8,color=col102,colorbackfield=d7,color=col74,colorbackfield=d6,color=col66,colorbackfield=d5,color=col67,colorbackfield=d4,color=col65,colorbackfield=d3,color=col66,colorbackfield=d2,color=col64,colorbackfield=d1,color=col64,colorbackfield=e8,color=col102,colorbackfield=e7,color=col74,colorbackfield=e6,color=col66,colorbackfield=e5,color=col67,colorbackfield=e4,color=col65,colorbackfield=e3,color=col66,colorbackfield=e2,color=col64,colorbackfield=e1,color=col64,colorbackfield=f8,color=col105,colorbackfield=f7,color=col76,colorbackfield=f6,color=col66,colorbackfield=f5,color=col67,colorbackfield=f4,color=col65,colorbackfield=f3,color=col66,colorbackfield=f2,color=col64,colorbackfield=f1,color=col64,colorbackfield=g8,color=col103,colorbackfield=g7,color=col74,colorbackfield=g6,color=col66,colorbackfield=g5,color=col67,colorbackfield=g4,color=col65,colorbackfield=g3,color=col66,colorbackfield=g2,color=col64,colorbackfield=g1,color=col64,colorbackfield=h8,color=col110,colorbackfield=h7,color=col76,colorbackfield=h6,color=col67,colorbackfield=h5,color=col67,colorbackfield=h4,color=col65,colorbackfield=h3,color=col67,colorbackfield=h2,color=col64,colorbackfield=h1]}; +\node (knight) at (knight) {\chessboard[color=col88,colorbackfield=a8,color=col82,colorbackfield=a7,color=col78,colorbackfield=a6,color=col69,colorbackfield=a5,color=col70,colorbackfield=a4,color=col66,colorbackfield=a3,color=col70,colorbackfield=a2,color=col68,colorbackfield=a1,color=col105,colorbackfield=b8,color=col83,colorbackfield=b7,color=col75,colorbackfield=b6,color=col67,colorbackfield=b5,color=col68,colorbackfield=b4,color=col66,colorbackfield=b3,color=col68,colorbackfield=b2,color=col66,colorbackfield=b1,color=col88,colorbackfield=c8,color=col81,colorbackfield=c7,color=col77,colorbackfield=c6,color=col68,colorbackfield=c5,color=col69,colorbackfield=c4,color=col66,colorbackfield=c3,color=col69,colorbackfield=c2,color=col67,colorbackfield=c1,color=col104,colorbackfield=d8,color=col88,colorbackfield=d7,color=col79,colorbackfield=d6,color=col69,colorbackfield=d5,color=col70,colorbackfield=d4,color=col66,colorbackfield=d3,color=col70,colorbackfield=d2,color=col68,colorbackfield=d1,color=col88,colorbackfield=e8,color=col79,colorbackfield=e7,color=col74,colorbackfield=e6,color=col67,colorbackfield=e5,color=col68,colorbackfield=e4,color=col65,colorbackfield=e3,color=col68,colorbackfield=e2,color=col66,colorbackfield=e1,color=col92,colorbackfield=f8,color=col83,colorbackfield=f7,color=col78,colorbackfield=f6,color=col68,colorbackfield=f5,color=col70,colorbackfield=f4,color=col66,colorbackfield=f3,color=col70,colorbackfield=f2,color=col68,colorbackfield=f1,color=col125,colorbackfield=g8,color=col91,colorbackfield=g7,color=col78,colorbackfield=g6,color=col69,colorbackfield=g5,color=col70,colorbackfield=g4,color=col67,colorbackfield=g3,color=col70,colorbackfield=g2,color=col68,colorbackfield=g1,color=col93,colorbackfield=h8,color=col83,colorbackfield=h7,color=col78,colorbackfield=h6,color=col69,colorbackfield=h5,color=col70,colorbackfield=h4,color=col66,colorbackfield=h3,color=col70,colorbackfield=h2,color=col68,colorbackfield=h1]}; +\node (bishop) at (bishop) {\chessboard[color=col73,colorbackfield=a8,color=col72,colorbackfield=a7,color=col71,colorbackfield=a6,color=col80,colorbackfield=a5,color=col70,colorbackfield=a4,color=col76,colorbackfield=a3,color=col67,colorbackfield=a2,color=col66,colorbackfield=a1,color=col70,colorbackfield=b8,color=col70,colorbackfield=b7,color=col69,colorbackfield=b6,color=col74,colorbackfield=b5,color=col69,colorbackfield=b4,color=col72,colorbackfield=b3,color=col66,colorbackfield=b2,color=col68,colorbackfield=b1,color=col71,colorbackfield=c8,color=col66,colorbackfield=c7,color=col66,colorbackfield=c6,color=col78,colorbackfield=c5,color=col66,colorbackfield=c4,color=col68,colorbackfield=c3,color=col66,colorbackfield=c2,color=col67,colorbackfield=c1,color=col68,colorbackfield=d8,color=col68,colorbackfield=d7,color=col67,colorbackfield=d6,color=col70,colorbackfield=d5,color=col67,colorbackfield=d4,color=col69,colorbackfield=d3,color=col66,colorbackfield=d2,color=col67,colorbackfield=d1,color=col68,colorbackfield=e8,color=col68,colorbackfield=e7,color=col67,colorbackfield=e6,color=col71,colorbackfield=e5,color=col67,colorbackfield=e4,color=col70,colorbackfield=e3,color=col66,colorbackfield=e2,color=col65,colorbackfield=e1,color=col73,colorbackfield=f8,color=col70,colorbackfield=f7,color=col68,colorbackfield=f6,color=col82,colorbackfield=f5,color=col66,colorbackfield=f4,color=col75,colorbackfield=f3,color=col67,colorbackfield=f2,color=col65,colorbackfield=f1,color=col71,colorbackfield=g8,color=col70,colorbackfield=g7,color=col69,colorbackfield=g6,color=col73,colorbackfield=g5,color=col70,colorbackfield=g4,color=col70,colorbackfield=g3,color=col66,colorbackfield=g2,color=col79,colorbackfield=g1,color=col73,colorbackfield=h8,color=col72,colorbackfield=h7,color=col70,colorbackfield=h6,color=col79,colorbackfield=h5,color=col70,colorbackfield=h4,color=col75,colorbackfield=h3,color=col67,colorbackfield=h2,color=col64,colorbackfield=h1]}; +\node (rook) at (rook) {\chessboard[color=col104,colorbackfield=a8,color=col95,colorbackfield=a7,color=col105,colorbackfield=a6,color=col103,colorbackfield=a5,color=col97,colorbackfield=a4,color=col81,colorbackfield=a3,color=col84,colorbackfield=a2,color=col89,colorbackfield=a1,color=col95,colorbackfield=b8,color=col90,colorbackfield=b7,color=col97,colorbackfield=b6,color=col97,colorbackfield=b5,color=col92,colorbackfield=b4,color=col77,colorbackfield=b3,color=col81,colorbackfield=b2,color=col84,colorbackfield=b1,color=col105,colorbackfield=c8,color=col96,colorbackfield=c7,color=col106,colorbackfield=c6,color=col104,colorbackfield=c5,color=col98,colorbackfield=c4,color=col82,colorbackfield=c3,color=col85,colorbackfield=c2,color=col90,colorbackfield=c1,color=col89,colorbackfield=d8,color=col86,colorbackfield=d7,color=col91,colorbackfield=d6,color=col91,colorbackfield=d5,color=col87,colorbackfield=d4,color=col74,colorbackfield=d3,color=col79,colorbackfield=d2,color=col80,colorbackfield=d1,color=col93,colorbackfield=e8,color=col88,colorbackfield=e7,color=col95,colorbackfield=e6,color=col94,colorbackfield=e5,color=col90,colorbackfield=e4,color=col75,colorbackfield=e3,color=col80,colorbackfield=e2,color=col83,colorbackfield=e1,color=col100,colorbackfield=f8,color=col93,colorbackfield=f7,color=col102,colorbackfield=f6,color=col100,colorbackfield=f5,color=col95,colorbackfield=f4,color=col79,colorbackfield=f3,color=col83,colorbackfield=f2,color=col88,colorbackfield=f1,color=col97,colorbackfield=g8,color=col92,colorbackfield=g7,color=col99,colorbackfield=g6,color=col98,colorbackfield=g5,color=col93,colorbackfield=g4,color=col79,colorbackfield=g3,color=col83,colorbackfield=g2,color=col84,colorbackfield=g1,color=col106,colorbackfield=h8,color=col96,colorbackfield=h7,color=col108,colorbackfield=h6,color=col105,colorbackfield=h5,color=col99,colorbackfield=h4,color=col82,colorbackfield=h3,color=col85,colorbackfield=h2,color=col91,colorbackfield=h1]}; +\node (queen) at (queen) {\chessboard[color=col126,colorbackfield=a8,color=col125,colorbackfield=a7,color=col124,colorbackfield=a6,color=col122,colorbackfield=a5,color=col117,colorbackfield=a4,color=col110,colorbackfield=a3,color=col108,colorbackfield=a2,color=col99,colorbackfield=a1,color=col125,colorbackfield=b8,color=col125,colorbackfield=b7,color=col124,colorbackfield=b6,color=col123,colorbackfield=b5,color=col118,colorbackfield=b4,color=col111,colorbackfield=b3,color=col110,colorbackfield=b2,color=col101,colorbackfield=b1,color=col124,colorbackfield=c8,color=col126,colorbackfield=c7,color=col126,colorbackfield=c6,color=col125,colorbackfield=c5,color=col122,colorbackfield=c4,color=col117,colorbackfield=c3,color=col115,colorbackfield=c2,color=col105,colorbackfield=c1,color=col109,colorbackfield=d8,color=col118,colorbackfield=d7,color=col120,colorbackfield=d6,color=col120,colorbackfield=d5,color=col122,colorbackfield=d4,color=col124,colorbackfield=d3,color=col122,colorbackfield=d2,color=col111,colorbackfield=d1,color=col124,colorbackfield=e8,color=col128,colorbackfield=e7,color=col128,colorbackfield=e6,color=col127,colorbackfield=e5,color=col126,colorbackfield=e4,color=col122,colorbackfield=e3,color=col120,colorbackfield=e2,color=col109,colorbackfield=e1,color=col125,colorbackfield=f8,color=col126,colorbackfield=f7,color=col126,colorbackfield=f6,color=col124,colorbackfield=f5,color=col120,colorbackfield=f4,color=col114,colorbackfield=f3,color=col113,colorbackfield=f2,color=col103,colorbackfield=f1,color=col127,colorbackfield=g8,color=col125,colorbackfield=g7,color=col124,colorbackfield=g6,color=col122,colorbackfield=g5,color=col115,colorbackfield=g4,color=col106,colorbackfield=g3,color=col105,colorbackfield=g2,color=col97,colorbackfield=g1,color=col127,colorbackfield=h8,color=col123,colorbackfield=h7,color=col122,colorbackfield=h6,color=col120,colorbackfield=h5,color=col112,colorbackfield=h4,color=col102,colorbackfield=h3,color=col101,colorbackfield=h2,color=col94,colorbackfield=h1]}; +\node (king) at (king) {\chessboard[color=col55,colorbackfield=a8,color=col56,colorbackfield=a7,color=col56,colorbackfield=a6,color=col56,colorbackfield=a5,color=col56,colorbackfield=a4,color=col55,colorbackfield=a3,color=col58,colorbackfield=a2,color=col65,colorbackfield=a1,color=col57,colorbackfield=b8,color=col59,colorbackfield=b7,color=col59,colorbackfield=b6,color=col58,colorbackfield=b5,color=col58,colorbackfield=b4,color=col57,colorbackfield=b3,color=col60,colorbackfield=b2,color=col69,colorbackfield=b1,color=col58,colorbackfield=c8,color=col58,colorbackfield=c7,color=col58,colorbackfield=c6,color=col58,colorbackfield=c5,color=col58,colorbackfield=c4,color=col58,colorbackfield=c3,color=col60,colorbackfield=c2,color=col65,colorbackfield=c1,color=col57,colorbackfield=d8,color=col58,colorbackfield=d7,color=col58,colorbackfield=d6,color=col57,colorbackfield=d5,color=col57,colorbackfield=d4,color=col57,colorbackfield=d3,color=col59,colorbackfield=d2,color=col64,colorbackfield=d1,color=col57,colorbackfield=e8,color=col58,colorbackfield=e7,color=col58,colorbackfield=e6,color=col58,colorbackfield=e5,color=col58,colorbackfield=e4,color=col58,colorbackfield=e3,color=col60,colorbackfield=e2,color=col64,colorbackfield=e1,color=col62,colorbackfield=f8,color=col62,colorbackfield=f7,color=col62,colorbackfield=f6,color=col61,colorbackfield=f5,color=col61,colorbackfield=f4,color=col61,colorbackfield=f3,color=col63,colorbackfield=f2,color=col67,colorbackfield=f1,color=col61,colorbackfield=g8,color=col62,colorbackfield=g7,color=col62,colorbackfield=g6,color=col62,colorbackfield=g5,color=col62,colorbackfield=g4,color=col61,colorbackfield=g3,color=col63,colorbackfield=g2,color=col70,colorbackfield=g1,color=col60,colorbackfield=h8,color=col61,colorbackfield=h7,color=col61,colorbackfield=h6,color=col60,colorbackfield=h5,color=col60,colorbackfield=h4,color=col60,colorbackfield=h3,color=col61,colorbackfield=h2,color=col64,colorbackfield=h1]}; + +\node[anchor = north, yshift = -0.4em] at (pawn.north) {Pawn}; +\node[anchor = north, yshift = -0.4em] at (knight.north) {Knight}; +\node[anchor = north, yshift = -0.4em] at (bishop.north) {Bishop}; +\node[anchor = north, yshift = -0.4em] at (rook.north) {Rook}; +\node[anchor = north, yshift = -0.4em] at (queen.north) {Queen}; +\node[anchor = north, yshift = -0.4em] at (king.north) {King}; + +\end{tikzpicture} +\end{document} diff --git a/AOS-accepted/plots/sim-ising-perft-m2.pdf b/AOS-accepted/plots/sim-ising-perft-m2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..85267b03dd223bc59268798d8582cb06fb425838 GIT binary patch literal 61187 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 LP*F)JNh16g0o*Bw literal 0 HcmV?d00001 diff --git a/AOS-accepted/plots/sim-ising-perft-m2.tex b/AOS-accepted/plots/sim-ising-perft-m2.tex new file mode 100644 index 0000000..aab0b76 --- /dev/null +++ b/AOS-accepted/plots/sim-ising-perft-m2.tex @@ -0,0 +1,95 @@ +%%% R code to generate the input data files from corresponding simulation logs +% R> setwd("~/Work/tensorPredictors") +% R> +% R> for (sim.name in c("2a")) { +% R> pattern <- paste0("sim\\_", sim.name, "\\_ising\\-[0-9T]*\\.csv") +% R> log.file <- sort( +% R> list.files(path = "sim/", pattern = pattern, full.names = TRUE), +% R> decreasing = TRUE +% R> )[[1]] +% R> +% R> sim <- read.csv(log.file) +% R> +% R> aggr <- aggregate(sim[, names(sim) != "sample.size"], list(sample.size = sim$sample.size), mean) +% R> +% R> write.table(aggr, file = paste0("LaTeX/plots/aggr-", sim.name, "-ising.csv"), row.names = FALSE, quote = FALSE) +% R> } +\documentclass[border=0cm]{standalone} + +\usepackage{tikz} +\usepackage{pgfplots} +\usepackage{amssymb, bm} + +\definecolor{exact}{RGB}{230,0,0} +\definecolor{MC}{RGB}{30,180,30} +\definecolor{MCthrd}{RGB}{0,0,230} + +\pgfplotsset{ + compat=newest, + grid=both, + grid style={gray!15} +} +\tikzset{ + legend entry/.style={ + mark = *, + mark size = 1pt, + mark indices = {2}, + line width=0.8pt + } +} + +\begin{document} +\begin{tikzpicture}[>=latex] + + \begin{axis}[ + name=perft, + xmode = normal, ymode = log, + xtick={10, 30, 50, 70, 90, 110, 130}, + mark = *, + mark size = 1pt, + ytick={1,1e1,1e2,1e3,1e4,1e5,1e6,1e7}, + yticklabels={$1\mu s$,$10\mu s$,$100\mu s$,$1 ms$,$10 ms$,$100 ms$,$1 s$,$10 s$}, + xlabel = {Dimension $p$}, + ylabel = {Time} + ] + \addplot[ + only marks, + color = exact + ] table[x = dim, y = exact] {aggr-ising-perft-m2.csv}; + \addplot[ + only marks, + color = MC + ] table[x = dim, y = MC] {aggr-ising-perft-m2.csv}; + \addplot[ + only marks, + color = MCthrd + ] table[x = dim, y = MCthrd] {aggr-ising-perft-m2.csv}; + + \addplot[smooth, domain = 8:25, color = exact, samples = 64] { 2^(x - 3) }; + \addplot[smooth, domain = 1:130, color = MC, samples = 64] { + -18340.8 + 7557.0 * x + 200.3 * x^2 + }; + \addplot[smooth, domain = 1:130, color = MCthrd, samples = 64] { + 8413.21 + 3134.98 * x + 41.87 * x^2 + }; + \end{axis} + + \matrix[anchor = west] at (perft.east) { + \draw[color=exact, only marks, mark = *, mark size = 1pt, mark indices = {2}] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; + & \node[anchor=west] {exact}; \\ + \draw[color=exact, line width = 0.8pt] plot coordinates {(0, 0) (.4, 0)}; + & \node[anchor=west] {$\mathcal{O}(2^p)$}; \\ + \draw[color=MC, only marks, mark = *, mark size = 1pt, mark indices = {2}] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; + & \node[anchor=west] {MC}; \\ + \draw[color=MC, line width = 0.8pt] plot coordinates {(0, 0) (.4, 0)}; + & \node[anchor=west] {$\mathcal{O}(p^2)$}; \\ + \draw[color=MCthrd, only marks, mark = *, mark size = 1pt, mark indices = {2}] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; + & \node[anchor=west] {MC (8 thrd)}; \\ + \draw[color=MCthrd, line width = 0.8pt] plot coordinates {(0, 0) (.4, 0)}; + & \node[anchor=west] {$\mathcal{O}(p^2)$}; \\ + }; + + \node[anchor = south] at (current bounding box.north) {Ising Second Moment Performance Test}; + +\end{tikzpicture} +\end{document} diff --git a/AOS-accepted/plots/sim-ising.pdf b/AOS-accepted/plots/sim-ising.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ced7ce3fa414feef6824368dc1093acd5ef9ec26 GIT binary patch literal 62720 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 G5&j3})zrHH literal 0 HcmV?d00001 diff --git a/AOS-accepted/plots/sim-ising.tex b/AOS-accepted/plots/sim-ising.tex new file mode 100644 index 0000000..09a2136 --- /dev/null +++ b/AOS-accepted/plots/sim-ising.tex @@ -0,0 +1,139 @@ +%%% R code to generate the input data files from corresponding simulation logs +% R> setwd("~/Work/tensorPredictors") +% R> +% R> for (sim.name in c("2a", "2b", "2c", "2d")) { +% R> pattern <- paste0("sim\\_", sim.name, "\\_ising\\-[0-9T]*\\.csv") +% R> log.file <- sort( +% R> list.files(path = "sim/", pattern = pattern, full.names = TRUE), +% R> decreasing = TRUE +% R> )[[1]] +% R> +% R> sim <- read.csv(log.file) +% R> +% R> aggr <- aggregate(sim[, names(sim) != "sample.size"], list(sample.size = sim$sample.size), mean) +% R> +% R> write.table(aggr, file = paste0("LaTeX/plots/aggr-", sim.name, "-ising.csv"), row.names = FALSE, quote = FALSE) +% R> } +\documentclass[border=0cm]{standalone} + +\usepackage{tikz} +\usepackage{pgfplots} +\usepackage{bm} + +\definecolor{gmlm}{RGB}{0,0,0} +\definecolor{mgcca}{RGB}{86,180,233} +\definecolor{tsir}{RGB}{0,158,115} +\definecolor{pca}{RGB}{240,228,66} +\definecolor{hopca}{RGB}{230,159,0} +\definecolor{lpca}{RGB}{127,127,127} +\definecolor{clpca}{RGB}{191,191,191} + +\pgfplotsset{ + every axis/.style={ + xtick={100,200,300,500,750}, + ymin=-0.05, ymax=1.05, + grid=both, + grid style={gray, dotted} + }, + every axis plot/.append style={ + mark = *, + mark size = 1pt, + line width=0.8pt + } +} +\tikzset{ + legend entry/.style={ + mark = *, + mark size = 1pt, + mark indices = {2}, + line width=0.8pt + } +} + +\begin{document} +\begin{tikzpicture}[>=latex, scale = 0.58] + + \begin{axis}[ + name=sim-2a, + xticklabel=\empty + ] + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1a-normal.csv}; + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-2a-ising.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-2a-ising.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-2a-ising.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-2a-ising.csv}; + \addplot[color = lpca] table[x = sample.size, y = dist.subspace.lpca] {aggr-2a-ising.csv}; + \addplot[color = clpca] table[x = sample.size, y = dist.subspace.clpca] {aggr-2a-ising.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-2a.north west) { + a: linear dependence + }; + \begin{axis}[ + name=sim-2b, + anchor=north west, at={(sim-2a.right of north east)}, xshift=0.1cm, + xticklabel=\empty, + ylabel near ticks, yticklabel pos=right + ] + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1a-normal.csv}; + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-2b-ising.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-2b-ising.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-2b-ising.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-2b-ising.csv}; + \addplot[color = lpca] table[x = sample.size, y = dist.subspace.lpca] {aggr-2b-ising.csv}; + \addplot[color = clpca] table[x = sample.size, y = dist.subspace.clpca] {aggr-2b-ising.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-2b.north west) { + b: quadratic dependence + }; + \begin{axis}[ + name=sim-2c, + anchor=north west, at={(sim-2a.below south west)}, yshift=-1.3em + ] + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1a-normal.csv}; + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-2c-ising.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-2c-ising.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-2c-ising.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-2c-ising.csv}; + \addplot[color = lpca] table[x = sample.size, y = dist.subspace.lpca] {aggr-2c-ising.csv}; + \addplot[color = clpca] table[x = sample.size, y = dist.subspace.clpca] {aggr-2c-ising.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-2c.north west) { + c: rank 1 $\boldsymbol{\beta}$'s + }; + + \begin{axis}[ + name=sim-2d, + anchor=north west, at={(sim-2c.right of north east)}, xshift=0.1cm, + ylabel near ticks, yticklabel pos=right + ] + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1a-normal.csv}; + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-2d-ising.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-2d-ising.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-2d-ising.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-2d-ising.csv}; + \addplot[color = lpca] table[x = sample.size, y = dist.subspace.lpca] {aggr-2d-ising.csv}; + \addplot[color = clpca] table[x = sample.size, y = dist.subspace.clpca] {aggr-2d-ising.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-2d.north west) { + d: interaction constraints% via $\boldsymbol{\Omega}$'s + }; + + \node[anchor = north] at (current bounding box.south) {Sample Size $n$}; + + \matrix[anchor = west] at (current bounding box.east) { + \draw[color=gmlm, legend entry, line width=1pt] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {GMLM}; \\ + \draw[color=tsir, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {TSIR}; \\ + \draw[color=mgcca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {MGCCA}; \\ + \draw[color=hopca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {HOPCA}; \\ + \draw[color=pca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {PCA}; \\ + \draw[color=lpca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {LPCA}; \\ + \draw[color=clpca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {CLPCA}; \\ + }; + + \node[anchor = south, rotate = 90] at (current bounding box.west) {Subspace Distance $d(\boldsymbol{B}, \hat{\boldsymbol{B}})$}; + \node[anchor = south, rotate = 270] at (current bounding box.east) {\phantom{Subspace Distance $d(\boldsymbol{B}, \hat{\boldsymbol{B}})$}}; + + \node[anchor = south, font=\large] at (current bounding box.north) {Ising Simulation}; + +\end{tikzpicture} +\end{document} diff --git a/AOS-accepted/plots/sim-normal-2x3.pdf b/AOS-accepted/plots/sim-normal-2x3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d2d7cf8ff8cca50714e355b587f83fcbd00bae2f GIT binary patch literal 75538 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 z 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 literal 0 HcmV?d00001 diff --git a/AOS-accepted/plots/sim-normal-2x3.tex b/AOS-accepted/plots/sim-normal-2x3.tex new file mode 100644 index 0000000..142deaf --- /dev/null +++ b/AOS-accepted/plots/sim-normal-2x3.tex @@ -0,0 +1,149 @@ +%%% R code to generate the input data files from corresponding simulation logs +% R> setwd("~/Work/tensorPredictors") +% R> +% R> for (sim.name in c("1a", "1b", "1c", "1d", "1e")) { +% R> pattern <- paste0("sim\\_", sim.name, "\\_normal\\-[0-9T]*\\.csv") +% R> log.file <- sort( +% R> list.files(path = "sim/", pattern = pattern, full.names = TRUE), +% R> decreasing = TRUE +% R> )[[1]] +% R> +% R> sim <- read.csv(log.file) +% R> +% R> aggr <- aggregate(sim[, names(sim) != "sample.size"], list(sample.size = sim$sample.size), mean) +% R> +% R> write.table(aggr, file = paste0("LaTeX/plots/aggr-", sim.name, "-normal.csv"), row.names = FALSE, quote = FALSE) +% R> } +\documentclass[border=0cm]{standalone} + +\usepackage{tikz} +\usepackage{pgfplots} +\usepackage{bm} + +\definecolor{gmlm}{RGB}{0,0,0} +\definecolor{mgcca}{RGB}{86,180,233} +\definecolor{tsir}{RGB}{0,158,115} +\definecolor{hopca}{RGB}{230,159,0} +\definecolor{pca}{RGB}{240,228,66} +\definecolor{lpca}{RGB}{0,114,178} +\definecolor{clpca}{RGB}{213,94,0} + +\pgfplotsset{ + compat=newest, + every axis/.style={ + xtick={100,200,300,500,750}, + ymin=-0.05, ymax=1.05, + grid=both, + grid style={gray, dotted} + }, + every axis plot/.append style={ + mark = *, + mark size = 1pt, + line width=0.8pt + } +} +\tikzset{ + legend entry/.style={ + mark = *, + mark size = 1pt, + mark indices = {2}, + line width=0.8pt + } +} + +\begin{document} +\begin{tikzpicture}[>=latex, scale = 0.58] + + \begin{axis}[ + name=sim-1a, + xticklabel=\empty + ] + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1a-normal.csv}; + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-1a-normal.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-1a-normal.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-1a-normal.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-1a-normal.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-1a.north west) { + a: linear dependence + }; + + \begin{axis}[ + name=sim-1b, + anchor=north west, at={(sim-1a.right of north east)}, xshift=0.1cm, + xticklabel=\empty, + yticklabel=\empty + ] + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-1b-normal.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-1b-normal.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-1b-normal.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-1b-normal.csv}; + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1b-normal.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-1b.north west) { + b: cubic dependence + }; + + \begin{axis}[ + name=sim-1c, + anchor=north west, at={(sim-1b.right of north east)}, xshift=0.1cm, + ylabel near ticks, yticklabel pos=right + ] + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-1c-normal.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-1c-normal.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-1c-normal.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-1c-normal.csv}; + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1c-normal.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-1c.north west) { + c: rank $1$ $\boldsymbol{\beta}$'s + }; + + \begin{axis}[ + name=sim-1d, + anchor=north west, at={(sim-1a.below south west)}, yshift=-1.3em + ] + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-1d-normal.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-1d-normal.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-1d-normal.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-1d-normal.csv}; + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1d-normal.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-1d.north west) { + d: tri-diagonal $\boldsymbol{\Omega}$'s + }; + + \begin{axis}[ + name=sim-1e, + anchor=north west, at={(sim-1d.right of north east)}, xshift=0.1cm, + yticklabel=\empty + ] + \addplot[color = pca] table[x = sample.size, y = dist.subspace.pca] {aggr-1e-normal.csv}; + \addplot[color = hopca] table[x = sample.size, y = dist.subspace.hopca] {aggr-1e-normal.csv}; + \addplot[color = tsir] table[x = sample.size, y = dist.subspace.tsir] {aggr-1e-normal.csv}; + \addplot[color = mgcca] table[x = sample.size, y = dist.subspace.mgcca] {aggr-1e-normal.csv}; + \addplot[color = gmlm, line width=1pt] table[x = sample.size, y = dist.subspace.gmlm] {aggr-1e-normal.csv}; + \end{axis} + \node[anchor = base west, yshift = 0.3em] at (sim-1e.north west) { + e: misspecified + }; + + + \matrix[anchor = center] at (sim-1e.right of east -| sim-1c.south) { + \draw[color=gmlm, legend entry, line width=1pt] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {GMLM}; \\ + \draw[color=tsir, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {TSIR}; \\ + \draw[color=mgcca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {MGCCA}; \\ + \draw[color=hopca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {HOPCA}; \\ + \draw[color=pca, legend entry] plot coordinates {(0, 0) (.3, 0) (.6, 0)}; & \node[anchor=west, font=\footnotesize] {PCA}; \\ + }; + + + \node[anchor = north] at (current bounding box.south) {Sample Size $n$}; + + \node[anchor = south, rotate = 90] at (current bounding box.west) {Subspace Distance $d(\boldsymbol{B}, \hat{\boldsymbol{B}})$}; + \node[anchor = south, rotate = 270] at (current bounding box.east) {\phantom{Subspace Distance $d(\boldsymbol{B}, \hat{\boldsymbol{B}})$}}; + + \node[anchor = south, font=\large] at (current bounding box.north) {Tensor Normal Simulation}; + +\end{tikzpicture} +\end{document} diff --git a/AOS-accepted/plots/sim_efficiency.pdf b/AOS-accepted/plots/sim_efficiency.pdf new file mode 100644 index 0000000000000000000000000000000000000000..20cff9590dd54bd0a551e06cea93374bd552a7ba GIT binary patch literal 24649 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%0D-|ow~4Fsg9hfU?e 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 P^C0+$p-=@aMdJSf*AkpN literal 0 HcmV?d00001 diff --git a/AOS-accepted/references.bib b/AOS-accepted/references.bib index 2d19a18..b6fcb38 100644 --- a/AOS-accepted/references.bib +++ b/AOS-accepted/references.bib @@ -546,6 +546,13 @@ series = {Berliner Studienreihe zur Mathematik} } +@misc{KaplaBura2025sup, + author = {Daniel Kapla and Efstathia Bura}, + title = {Supplement to ``Generalized Multilinear Models for Sufficient Dimension Reduction on Tensor-valued Predictors''}, + year = {2025}, + doi = {10.1214/[provided by typesetter]} +} + @incollection {KofidisRegalia2001, author = {Kofidis, Eleftherios and Regalia, Phillip A.}, title = {Tensor approximation and signal processing applications}, diff --git a/AOS-accepted/supplement.tex b/AOS-accepted/supplement.tex new file mode 100644 index 0000000..bd74aaf --- /dev/null +++ b/AOS-accepted/supplement.tex @@ -0,0 +1,1196 @@ +\documentclass[aos]{imsart} + +%% Packages +\usepackage[utf8]{inputenc} +\usepackage[LSF, T1]{fontenc} +% \usepackage{lmodern} % TODO: interfers with "imsart" classed author address display +\usepackage{amsthm, amsmath, amsfonts, amssymb, bm, pifont} +\usepackage{float} +\usepackage{chessfss} +\usepackage{scalerel} +\usepackage[dvipsnames]{xcolor} +\usepackage{graphicx} +\usepackage[authoryear]{natbib} + +% External References to main file +\usepackage{xr} +\externaldocument{main} + +\usepackage[colorlinks, citecolor = blue, urlcolor = blue]{hyperref} +\usepackage[noabbrev, capitalize, nameinlink]{cleveref} % after hyperref + + +\startlocaldefs +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %% +%% Uncomment next line to change %% +%% the type of equation numbering %% +%% %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\numberwithin{equation}{section} +%% %% +%% For Axiom, Claim, Corollary, Hypothesis, %% +%% Lemma, Theorem, Proposition %% +%% use \theoremstyle{plain} %% +%% %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\theoremstyle{plain} +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}{Lemma} +\newtheorem{corollary}{Corollary} +\newtheorem{proposition}{Proposition} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %% +%% For Assumption, Definition, Example, %% +%% Notation, Property, Remark, Fact %% +%% use \theoremstyle{remark} %% +%% %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\theoremstyle{remark} +\newtheorem{definition}{Definition} +\newtheorem{condition}{Condition} +\newtheorem{example}{Example} +\newtheorem{remark}{Remark} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Please put your definitions here: %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Clever ref additional reference name +\crefname{condition}{Condition}{Conditions} +\Crefname{condition}{Condition}{Conditions} +\crefrangelabelformat{condition}{#3#1#4-#5#2#6} + +% matrices +\newcommand*{\mat}[1]{\boldsymbol{#1}} +% tensors (special case for lower case caligraphic letters) +\newcommand*{\ten}[1]{ + \ifnum\pdfstrcmp{#1}{`}=1 % lowercase argument + \mathfrak{#1} + \else % uppercase argument + \mathcal{#1} + \fi +} +\newcommand{\manifold}[1]{\mathfrak{#1}} + +% Define math macros +\renewcommand{\hat}{\widehat} +\renewcommand*{\vec}{\operatorname{vec}} +\newcommand*{\vech}{\operatorname{vech}} +\newcommand*{\rank}{\operatorname{rank}} +\newcommand*{\diag}{\operatorname{diag}} +\DeclareMathOperator{\tr}{tr} +\DeclareMathOperator{\var}{Var} +\DeclareMathOperator{\cov}{Cov} +\DeclareMathOperator{\Span}{span} +\DeclareMathOperator{\E}{\operatorname{\mathbb{E}}} +\DeclareMathOperator*{\argmax}{{arg\,max}} +\newcommand*{\D}{\textnormal{D}} % derivative +\renewcommand*{\H}{\textnormal{H}} % hessian +\renewcommand*{\d}{\textnormal{d}} % differential +\renewcommand*{\t}[1]{{#1^{T}}} % matrix transpose +\newcommand*{\pinv}[1]{{#1^{\dagger}}} % `Moore-Penrose pseudoinverse` +% rearangment operator, generalization of Van-Loan and Pitzianis rearrangement opreration +\newcommand*{\K}{\mathcal{K}} +% ternary operator (C style argments: ? : ) +\newcommand{\ternary}[3]{{#2}{\ \mathrm{if}\ }{#1}{\ \mathrm{else}\ }{#3}} + +\renewcommand{\checkmark}{{\color{Green}\ding{51}}} +\newcommand{\xmark}{{\color{Red!70}\ding{55}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\efi}[1]{{\color{teal}Effie: #1}} +\newcommand{\daniel}[1]{{\color{red!70!black}Daniel: #1}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Special Matrix Sets (Manifolds) +\newcommand{\StiefelNonCompact}[2]{\mathbb{R}_{*}^{{#1}\times {#2}}} +\newcommand{\Stiefel}[2]{\mathrm{St}^{{#1}\times {#2}}} +\newcommand{\SymMat}[1]{\mathrm{Sym}^{{#1}\times {#1}}} +\newcommand{\SymPosDefMat}[1]{\mathrm{Sym}_{++}^{{#1}\times {#1}}} +\newcommand{\OrthogonalGrp}[1]{\mathrm{O}(#1)} +\newcommand{\SpecialOrthogonalGrp}[1]{\mathrm{SO}(#1)} + +%%% Custom operators with ether one or two arguments (limits) +\makeatletter +%%% Multi-Linear Multiplication +% $\mlm_{k \in [r]}$ or $\mlm_{k = 1}^{r}$ (lower limit MUST be the first!) +% Save first argument as \arg@one +\def\mlm_#1{\def\arg@one{#1}\futurelet\next\mlm@i} +% Check for second argument +\def\mlm@i{\ifx\next^\expandafter\mlm@two\else\expandafter\mlm@one\fi} +% specialization for one or two arguments, both versions use saved first argument +\def\mlm@one{\mathchoice% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\makebox[0pt][c]{$\scriptstyle \arg@one$}}}% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\arg@one}}% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\arg@one}}% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\arg@one}}% +} +% this commands single argument is the second argument of \mlm, it gobbles the `^` +\def\mlm@two^#1{\mathchoice% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\makebox[0pt][c]{$\scriptstyle \arg@one$}}^{\makebox[0pt][c]{$\scriptstyle #1$}}}% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\arg@one}^{#1}}% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\arg@one}^{#1}}% + {\operatorname*{\scalerel*[1.65em]{\times}{\bigotimes}}_{\arg@one}^{#1}}% +} + +%%% Big Circle (Iterated Outer Product) +\def\bigouter_#1{\def\arg@one{#1}\futurelet\next\bigouter@i} +\def\bigouter@i{\ifx\next^\expandafter\bigouter@two\else\expandafter\bigouter@one\fi} +\def\bigouter@one{\mathchoice% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\makebox[0pt][c]{$\scriptstyle \arg@one$}}}% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\arg@one}}% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\arg@one}}% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\arg@one}}% +} +\def\bigouter@two^#1{\mathchoice% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\makebox[0pt][c]{$\scriptstyle \arg@one$}}^{\makebox[0pt][c]{$\scriptstyle #1$}}}% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\arg@one}^{#1}}% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\arg@one}^{#1}}% + {\operatorname*{\scalerel*{\circ}{\bigotimes}}_{\arg@one}^{#1}}% +} + +%%% Big Kronecker Product (with overflowing limits) +% Save first argument as \arg@one +\def\bigkron_#1{\def\arg@one{#1}\futurelet\next\bigkron@i} +% Check for second argument +\def\bigkron@i{\ifx\next^\expandafter\bigkron@two\else\expandafter\bigkron@one\fi} +% specialization for one or two arguments, both versions use saved first argument +\def\bigkron@one{\mathchoice% + {\bigotimes_{\makebox[0pt][c]{$\scriptstyle \arg@one$}}}% + {\bigotimes_{\arg@one}}% + {\bigotimes_{\arg@one}}% + {\bigotimes_{\arg@one}}% +} +% this commands single argument is the second argument of \bigkron +\def\bigkron@two^#1{\mathchoice% + {\bigotimes_{\makebox[0pt][c]{$\scriptstyle \arg@one$}}^{\makebox[0pt][c]{$\scriptstyle #1$}}}% + {\bigotimes_{\arg@one}^{#1}}% + {\bigotimes_{\arg@one}^{#1}}% + {\bigotimes_{\arg@one}^{#1}}% +} +\makeatother + +%%% "Fix" additional spacing around \left(...\right), +% see: https://tex.stackexchange.com/questions/2607/spacing-around-left-and-right +\let\originalleft\left +\let\originalright\right +\renewcommand{\left}{\mathopen{}\mathclose\bgroup\originalleft} +\renewcommand{\right}{\aftergroup\egroup\originalright} + +%%% Sets the max nr. of columns in AMSmath's matrix environments to 20 +\setcounter{MaxMatrixCols}{20} + +\endlocaldefs + + +\begin{document} + +\begin{frontmatter} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %% +%% Enter the title of your article here %% +%% %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{Supplement to ``Generalized Multilinear Models for Sufficient Dimension Reduction on Tensor-valued Predictors''} +\runtitle{GMLM for SDR on tensor-valued Predictors} + +\begin{aug} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Only one address is permitted per author. %% +%% Only division, organization and e-mail is %% +%% included in the address. %% +%% Additional information can be included in %% +%% the Acknowledgments section if necessary. %% +%% ORCID can be inserted by command: %% +%% \orcid{0000-0000-0000-0000} %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\author[A]{\fnms{Daniel}~\snm{Kapla}\ead[label=es1]{daniel.kapla@tuwien.ac.at}} +\and +\author[A]{\fnms{Efstathia}~\snm{Bura}\ead[label=es2]{efstathia.bura@tuwien.ac.at}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Addresses %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\address[A]{Institute of Statistics and Mathematical Methods in Economics, Faculty of Mathematics and Geoinformation, TU Wien \\ +\printead[presep={\ }]{es1,es2}} +\end{aug} + +\end{frontmatter} + + +%%% Set counters to continue from main paper counters (after frontmatter!) +\setcounter{theorem}{5} +\setcounter{definition}{2} +\setcounter{figure}{3} +\setcounter{equation}{19} +\setcounter{footnote}{10} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Multiple Appendixes: %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{appendix} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Examples}\label{app:examples} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{example}[Vectorization]\label{ex:vectorization} + Given a matrix + \begin{displaymath} + \mat{A} = \begin{pmatrix} + 1 & 4 & 7 \\ + 2 & 5 & 8 \\ + 3 & 6 & 9 + \end{pmatrix} + \end{displaymath} + its vectorization is $\vec{\mat{A}} = \t{(1, 2, 3, 4, 5, 6, 7, 8, 9)}$ and its half vectorization $\vech{\mat{A}} = \t{(1, 2, 3, 5, 6, 9)}$. Let $\ten{A}$ be a tensor of dimension $3\times 3\times 3$ given by + \begin{displaymath} + \ten{A}_{:,:,1} = \begin{pmatrix} + 1 & 4 & 7 \\ + 2 & 5 & 8 \\ + 3 & 6 & 9 + \end{pmatrix}, + \qquad + \ten{A}_{:,:,2} = \begin{pmatrix} + 10 & 13 & 16 \\ + 11 & 14 & 17 \\ + 12 & 15 & 18 + \end{pmatrix}, + \qquad + \ten{A}_{:,:,3} = \begin{pmatrix} + 19 & 22 & 25 \\ + 20 & 23 & 26 \\ + 21 & 24 & 27 + \end{pmatrix}. + \end{displaymath} + Then the vectorization of $\ten{A}$ is given by + \begin{displaymath} + \vec{\ten{A}} = \t{(1, 2, 3, 4, ..., 26, 27)}\in\mathbb{R}^{27}. + \end{displaymath} +\end{example} + +\begin{example}[Matricization] + Let $\ten{A}$ be the $3\times 4\times 2$ tensor given by + \begin{displaymath} + \ten{A}_{:,:,1} = \begin{pmatrix} + 1 & 4 & 7 & 10 \\ + 2 & 5 & 8 & 11 \\ + 3 & 6 & 9 & 12 + \end{pmatrix}, + \ten{A}_{:,:,2} = \begin{pmatrix} + 13 & 16 & 19 & 22 \\ + 14 & 17 & 20 & 23 \\ + 15 & 18 & 21 & 24 + \end{pmatrix}. + \end{displaymath} + Its matricizations are then + \begin{gather*} + \ten{A}_{(1)} = \begin{pmatrix} + 1 & 4 & 7 & 10 & 13 & 16 & 19 & 22 \\ + 2 & 5 & 8 & 11 & 14 & 17 & 20 & 23 \\ + 3 & 6 & 9 & 12 & 15 & 18 & 21 & 24 + \end{pmatrix}, + \qquad + \ten{A}_{(2)} = \begin{pmatrix} + 1 & 2 & 3 & 13 & 14 & 15 \\ + 4 & 5 & 6 & 16 & 17 & 18 \\ + 7 & 8 & 9 & 19 & 20 & 21 \\ + 10 & 11 & 12 & 22 & 23 & 24 + \end{pmatrix}, \\ + \ten{A}_{(3)} = \begin{pmatrix} + 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\ + 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 + \end{pmatrix}. + \end{gather*} +\end{example} + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \section{Multi Linear Algebra}\label{app:multi-linear-algebra} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \begin{displaymath} +% (\ten{A}\circ\ten{B})\mlm_{k = 1}^{r + s} \mat{C}_k +% = +% \Bigl(\ten{A}\mlm_{k = 1}^r \mat{C}_k\Bigr)\circ\Bigl(\ten{B}\mlm_{l = 1}^s \mat{C}_{l + r}\Bigr) +% \end{displaymath} +% Using $\K(\ten{A}\circ\ten{B}) = \ten{A}\otimes\ten{B}$ gives +% \begin{displaymath} +% \K\Bigl((\ten{A}\circ\ten{B})\mlm_{k = 1}^{r + s} \mat{C}_k\Bigr) +% = +% \Bigl(\ten{A}\mlm_{k = 1}^r \mat{C}_k\Bigr)\otimes\Bigl(\ten{B}\mlm_{l = 1}^s \mat{C}_{l + r}\Bigr) +% \end{displaymath} +% A generalization of the well-known identity $\vec(\mat{A}\mat{B}\mat{C}) = (\t{\mat{C}}\otimes\mat{A})\vec{\mat{B}}$ is given by +% \begin{displaymath} +% \Bigl(\ten{A}\mlm_{k = 1}^r \mat{B}_k \Bigr)_{(\mat{i}, \mat{j})} +% = +% \Bigl( \bigotimes_{k = \#\mat{i}}^{1}\mat{B}_{\mat{i}_k} \Bigr) +% \ten{A}_{(\mat{i}, \mat{j})} +% \Bigl( \bigotimes_{l = \#\mat{j}}^{1}\t{\mat{B}_{\mat{j}_l}} \Bigr) +% \end{displaymath} +% with the special case +% \begin{displaymath} +% \vec\Bigl(\ten{A}\mlm_{k = 1}^r \mat{B}_k\Bigr) +% = +% \Bigl(\bigotimes_{k = r}^{1}\mat{B}_k\Bigr)\vec{\ten{A}} +% \end{displaymath} + +% Furthermore, we have +% \begin{displaymath} +% (\ten{A}\otimes\ten{B})\mlm_{k = 1}^{r}\t{(\vec\mat{C}_k)} +% = +% \Bigl\langle \ten{A}\mlm_{k = 1}^{r} \mat{C}_k, \ten{B} \Bigr\rangle +% = +% \Bigl\langle \ten{A}, \ten{B}\mlm_{k = 1}^{r} \t{\mat{C}_k} \Bigr\rangle +% = +% \t{(\vec{\ten{B}})}\Bigl(\bigotimes_{k = r}^{1}\mat{C}_k\Bigr)\vec{\ten{A}} +% \end{displaymath} +% as well as for any tensor $\ten{A}$ of even order $2 r$ and matching square matrices $\mat{B}_k$ holds +% \begin{displaymath} +% \K(\ten{A})\mlm_{k = 1}^{r}\t{(\vec\mat{B}_k)} +% = +% \t{(\vec{\ten{A}})}\vec\Bigl(\bigotimes_{k = r}^{1}\t{\mat{B}_k}\Bigr) +% \end{displaymath} + +% \begin{lemma}\label{thm:kron-perm} +% Given $r \geq 2$ matrices $\mat{A}_k$ of dimension $p_j\times q_j$ for $k = 1, \ldots, r$, then there exists a unique permutation matrix $\mat{S}_{\mat{p}, \mat{q}}$ such that +% \begin{equation}\label{eq:kron-to-outer-perm} +% \vec\bigkron_{k = r}^{1}\mat{A}_k = \mat{S}_{\mat{p}, \mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. +% \end{equation} +% The permutation $\mat{S}_{\mat{p}, \mat{q}}$ with indices $\mat{p} = (p_1, \ldots, p_r)$ and $\mat{q} = (q_1, \ldots, q_r)$ is defined recursively as +% \begin{equation}\label{eq:S_pq} +% \mat{S}_{\mat{p}, \mat{q}} = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_r q_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr) +% \end{equation} +% with initial value +% \begin{displaymath} +% \mat{S}_{(p_1, p_2), (q_1, q_2)} = \mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1} +% \end{displaymath} +% where $\mat{K}_{p, q}$ is the \emph{commutation matrix} \cite[][Ch.~11]{AbadirMagnus2005}, that is the permutation such that $\vec{\t{\mat{A}}} = \mat{K}_{p, q}\vec{\mat{A}}$ for every $p\times q$ dimensional matrix $\mat{A}$. +% \end{lemma} +% \begin{proof} +% Lemma~7 in \cite{MagnusNeudecker1986} states that +% \begin{align} +% \vec(\mat{A}_2\otimes\mat{A}_1) +% &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})(\vec{\mat{A}_2}\otimes\vec{\mat{A}_1}) \label{eq:MagnusNeudecker1986-vec-kron-identity} \\ +% &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})\vec(\mat{A}_1\circ \mat{A}_2). \nonumber +% \end{align} +% This proves the statement for $r = 2$. The general statement for $r > 2$ follows via induction. Assuming \eqref{eq:kron-to-outer-perm} holds for $r - 1$, the induction step is then; +% \begin{multline*} +% \vec{\bigkron_{k = r}^{1}}\mat{A}_k +% = \vec\Bigl(\mat{A}_r\otimes\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ +% \overset{\eqref{eq:MagnusNeudecker1986-vec-kron-identity}}{=} \Bigl( \mat{I}_{q_r}\otimes\mat{K}_{\prod_{k = 1}^{r - 1}q_k, p_r}\otimes\mat{I}_{\prod_{k = 1}^{r - 1}p_k} \Bigr)\vec\Bigl((\vec\mat{A}_r)\otimes\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ +% = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\Bigl(\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ +% \overset{\eqref{eq:kron-to-outer-perm}}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ +% \overset{(a)}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_r q_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr)\vec\Bigl[\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ +% = \mat{S}_{\mat{p}, \mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. +% \end{multline*} +% Equality $(a)$ uses the relation $\vec(\mat{C}\mat{a}\t{\mat{b}}) = (\mat{I}_{\dim(\mat{b})}\otimes\mat{C})\vec(\mat{a}\t{\mat{b}})$ for a matrix $\mat{C}$ and vectors $\mat{a}, \mat{b}$. +% \end{proof} + +% \begin{remark} +% The permutation matrix $\mat{K}_{p, q}$ represents a perfect outer $p$-shuffle of $p q$ elements. +% \end{remark} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Proofs}\label{app:proofs} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{proof}[\hypertarget{proof:sdr}{Proof of \cref{thm:sdr}}] + A direct implication of Theorem~1 from \cite{BuraDuarteForzani2016} is that, under the exponential family \eqref{eq:quad-density} with natural statistic $\mat{t}(\ten{X})$, + \begin{displaymath} + \t{\mat{\alpha}}(\mat{t}(\ten{X}) - \E\mat{t}(\ten{X})) + \end{displaymath} + is a sufficient reduction, where $\mat{\alpha}\in\mathbb{R}^{p (p + 3) / 2\times q}$ with $\Span(\mat{\alpha}) = \Span(\{\mat{\eta}_y - \E_{Y}\mat{\eta}_Y : y\in\mathcal{S}_Y\})$ where $\mathcal{S}_Y$ denotes the sample space of $Y$. Since $\E_Y\ten{F}_Y = 0$ and $\E_Y\mat{\eta}_{1 Y} = \E[\vec\overline{\ten{\eta}} - \mat{B}\vec\ten{F}_Y] = \vec\overline{\ten{\eta}}$ is follows that + \begin{displaymath} + \mat{\eta}_y - \E_{Y}\mat{\eta}_Y = \begin{pmatrix} + \mat{\eta}_{1 y} - \E_{Y}\mat{\eta}_{1 Y} \\ + \mat{\eta}_{2} - \E_{Y}\mat{\eta}_{2} + \end{pmatrix} = \begin{pmatrix} + \mat{B}\vec\ten{F}_y \\ + \mat{0} + \end{pmatrix}. + \end{displaymath} + because $\mat{\eta}_{2}$ does not depend on $y$. The set $\{ \vec{\ten{F}_y} : y\in\mathcal{S}_Y \}$ is a subset of $\mathbb{R}^q$. Therefore, + \begin{displaymath} + \Span\left(\{\mat{\eta}_y - \E_{Y}\mat{\eta}_Y : y\in\mathcal{S}_Y\}\right) = \Span\left(\left\{\begin{pmatrix} + \mat{B}\vec\ten{F}_Y \\ \mat{0} + \end{pmatrix} : y\in\mathcal{S}_Y \right\}\right) + \subseteq + \Span\begin{pmatrix} + \mat{B} \\ \mat{0} + \end{pmatrix}, + \end{displaymath} + which obtains with $\mat{t}(\ten{X}) = (\vec\ten{X}, \vech(\t{(\vec\ten{X})}(\vec\ten{X})))$ that + \begin{displaymath} + \t{\begin{pmatrix} + \mat{B} \\ \mat{0} + \end{pmatrix}}(\mat{t}(\ten{X}) - \E\mat{t}(\ten{X})) + = + \t{\mat{B}}\vec(\ten{X} - \E\ten{X}) + = \vec\Bigl(\ten{F}_y\mlm_{k = 1}^{r}\mat{\beta}_k\Bigr) + \end{displaymath} + is also a sufficient reduction, though not necessarily minimal, using $\mat{B} = \bigkron_{k = 1}^{r}\mat{\beta}_k$. When the exponential family is full rank, which in our setting amounts to all $\mat{\beta}_j$'s being full rank matrices for $j = 1, \ldots, r$, then Theorem~1 from \cite{BuraDuarteForzani2016} also obtains the minimality of the reduction. +\end{proof} + +\begin{proof}[\hypertarget{proof:kron-manifolds}{Proof of \cref{thm:kron-manifolds}}] + We start by considering the first case and assume that $\manifold{B}$ is spherical with radius $1$ w.l.o.g. We equip $\manifold{K} = \{ \mat{A}\otimes \mat{B} : \mat{A}\in\manifold{A}, \mat{B}\in\manifold{B} \}\subset\mathbb{R}^{p_1 p_2\times q_1 q_2}$ with the subspace topology.\footnote{Given a topological space $(\manifold{M}, \mathcal{T})$ and a subset $\mathcal{S}\subseteq\manifold{M}$ the \emph{subspace topology} on $\manifold{S}$ induced by $\manifold{M}$ consists of all open sets in $\manifold{M}$ intersected with $\manifold{S}$, that is $\{ O\cap\manifold{S} : O\in\mathcal{T} \}$ \cite[]{Lee2012,Lee2018,Kaltenbaeck2021}.} Define the hemispheres $H_i^{+} = \{ \mat{B}\in\manifold{B} : (\vec{\mat{B}})_i > 0 \}$ and $H_i^{-} = \{ \mat{B}\in\manifold{B} : (\vec{\mat{B}})_i < 0 \}$ for $i = 1, ..., p_2 q_2$. The hemispheres are an open cover of $\manifold{B}$ with respect to the subspace topology. Define for every $H_i^{\pm}$, where $\pm$ is a placeholder for ether $+$ or $-$, the function + \begin{displaymath} + f_{H_i^{\pm}} : \manifold{A}\times H_i^{\pm}\to\mathbb{R}^{p_1 p_2\times q_1 q_2} + : (\mat{A}, \mat{B})\mapsto \mat{A}\otimes \mat{B} + \end{displaymath} + which is smooth. With the spherical property of $\manifold{B}$ the relation $\|\mat{A}\otimes \mat{B}\|_F = \|\mat{A}\|_F$ for all $\mat{A}\otimes \mat{B}\in\manifold{K}$ ensures that the function $f_{H_i^{\pm}}$, constrained to its image, is bijective with inverse function (identifying $\mathbb{R}^{p\times q}$ with $\mathbb{R}^{p q}$) given by + \begin{displaymath} + f_{H_i^{\pm}}^{-1} = \begin{cases} + f_{H_i^{\pm}}(\manifold{A}\times H_i^{\pm})\to\manifold{A}\times H_i^{\pm} \\ + \mat{C}\mapsto \left(\pm\frac{\|\mat{C}\|_F}{\|\mat{R}(\mat{C})\mat{e}_i\|_2}\mat{R}(\mat{C})\mat{e}_i, \pm\frac{1}{\|\mat{C}\|_F\|\mat{R}(\mat{C})\mat{e}_i\|_2}\mat{R}(\mat{C})\t{\mat{R}(\mat{C})}\mat{e}_i\right) + \end{cases} + \end{displaymath} + where $\pm$ is $+$ for a ``positive'' hemisphere $H_i^{+}$ and $-$ otherwise, $\mat{e}_i\in\mathbb{R}^{p_2 q_2}$ is the $i$th unit vector and $\mat{R}(\mat{C})$ is a ``reshaping'' permutation\footnote{Relating to $\K$ the operation $\mat{R}$ is basically its inverse as $\K(\mat{A}\circ\mat{B}) = \mat{A}\otimes\mat{B}$ with a mismatch in the shapes only.} which acts on Kronecker products as $\mat{R}(\mat{A}\otimes \mat{B}) = (\vec{\mat{A}})\t{(\vec{\mat{B}})}$. This makes $f_{H_i^{\pm}}^{-1}$ a combination of smooth functions ($\mat{0}$ is excluded from $\manifold{A}, \manifold{B}$ guarding against division by zero) and as such it is also smooth. This ensures that $f_{H_i^{\pm}} : \manifold{A}\times {H_i^{\pm}}\to f_{H_i^{\pm}}(\manifold{A}\times {H_i^{\pm}})$ is a diffeomorphism. + + Next, we construct an atlas\footnote{A collection of charts $\{ \varphi_i : i\in I \}$ with index set $I$ of a manifold $\manifold{A}$ is called an \emph{atlas} if the pre-images of the charts $\varphi_i$ cover the entire manifold $\manifold{A}$.} for $\manifold{K}$ which is equipped with the subspace topology. Let $(\varphi_j, U_j)_{j\in J}$ be a atlas of $\manifold{A}\times\manifold{B}$. Such an atlas exists and admits a unique smooth structure as both $\manifold{A}, \manifold{B}$ are embedded manifolds from which we take the product manifold. The images of the coordinate domains $f_H(U_j)$ are open in $\manifold{K}$, since $f_H$ is a diffeomorphism, with the corresponding coordinate maps + \begin{displaymath} + \phi_{H_i^{\pm},j} : f_{H_i^{\pm}}(U_j)\to \varphi_j(U_j) + : \mat{C}\mapsto \varphi_j(f_{H_i^{\pm}}^{-1}(\mat{C})). + \end{displaymath} + By construction the set $\{ \phi_{H_i^{\pm},j} : i = 1, ..., p_2 q_2, \pm\in\{+, -\}, j\in J \}$ is an atlas if the charts are compatible. This means we need to check if the transition maps are diffeomorphisms. Let $(\phi_{H, j}, V_j), (\phi_{\widetilde{H}, k}, V_k)$ be two arbitrary charts from our atlas, then the transition map $\phi_{\widetilde{H}, k}\circ\phi_{H,j}^{-1}:\phi_{H,j}^{-1}(V_j\cap V_k)\to\phi_{\widetilde{H},k}^{-1}(V_j\cap V_k)$ has the form + \begin{displaymath} + \phi_{\widetilde{H}, k}\circ\phi_{H,j}^{-1} + = \varphi_k\circ f_{\widetilde{H}}^{-1}\circ f_{H}\circ\varphi_{j}^{-1} + = \varphi_k\circ (\pm\mathrm{id})\circ\varphi_{j}^{-1} + \end{displaymath} + where $\pm$ depends on $H, \widetilde{H}$ being of the same ``sign'' and $\mathrm{id}$ is the identity. We conclude that the charts are compatible, which makes the constructed set of charts an atlas. With that we have shown the topological manifold $\manifold{K}$ with the subspace topology admit a smooth atlas that makes it an embedded smooth manifold with dimension equal to the dimension of the product topology $\manifold{A}\times\manifold{B}$; that is, $d = \dim\manifold{A} + \dim\manifold{B}$. + + It remains to show that the cone condition also admits a smooth manifold. $\manifold{K} = \{ \mat{A}\otimes \mat{B} : \mat{A}\in\manifold{A}, \mat{B}\in\widetilde{\manifold{B}} \}$, where $\widetilde{\manifold{B}} = \{ \mat{B}\in\manifold{B} : \|\mat{B}\|_F = 1 \}$, holds if both $\manifold{A}, \manifold{B}$ are cones. Since $g:\manifold{B}\to\mathbb{R}:\mat{B}\mapsto \|\mat{B}\|_F$ is continuous on $\manifold{B}$ with full rank $1$ everywhere, $\widetilde{\manifold{B}} = g^{-1}(1)$ is a $\dim{\manifold{B}} - 1$ dimensional embedded submanifold of $\manifold{B}$. An application of the spherical case proves the cone case. +\end{proof} + +\begin{proof}[\hypertarget{proof:param-manifold}{Proof of \cref{thm:param-manifold}}] + Induction using \cref{thm:kron-manifolds} ensures that $\manifold{K}_{\mat{B}}$ and $\manifold{K}_{\mat{\Omega}}$ are embedded submanifolds. + + Since $\vech : \mathbb{R}^{p^2}\to\mathbb{R}^{p(p+1)/2}$ is linear and $\manifold{K}_{\mat{\Omega}}$ is embedded we get by the linearity of $\vech$ that $\vech(\manifold{K}_{\mat{\Omega}}) = \{\vech\mat{\Omega}:\mat{\Omega}\in\manifold{K}_{\mat{\Omega}}\}$ is embedded in $\mathbb{R}^{p(p+1)/2}$. + + Finally, the finite product manifold of embedded submanifolds is embedded in the finite product space of their ambient spaces, that is $\Theta = \mathbb{R}^p \times \manifold{K}_{\mat{B}}\times\vech(\manifold{K}_{\mat{\Omega}}) \subset \mathbb{R}^p\times\mathbb{R}^{p\times q}\times\mathbb{R}^{p(p + 1)/2}$ is embedded. +\end{proof} + +\begin{proof}[\hypertarget{proof:grad}{Proof of \cref{thm:grad}}] + We first note that for any exponential family with density \eqref{eq:quad-density} the term $b(\mat{\eta}_{y})$ differentiated with respect to the natural parameter $\mat{\eta}_{y}$ is the expectation of the statistic $\mat{t}(\ten{X})$ given $Y = y$. In our case, we get $\nabla_{\mat{\eta}_{y}}b = (\nabla_{\mat{\eta}_{1{y}}}b, \nabla_{\mat{\eta}_2}b)$ with components + \begin{displaymath} + \nabla_{\mat{\eta}_{1{y}}}b + = \E[\vec(\ten{X})\mid Y = y] + = \vec\E[\ten{X}\mid Y = y] + % = \vec\ten{g}_1(\mat{\eta}_{y}) + \end{displaymath} + and + \begin{multline*} + \nabla_{\mat{\eta}_{2}}b + % &= \E[\mat{t}_2(\ten{X})\mid Y = y_i] + = \E[\vech((\vec\ten{X})\t{(\vec\ten{X})})\mid Y = y] \\ + = \E[\pinv{\mat{D}_p}\vec(\ten{X}\circ\ten{X})\mid Y = y] + % = \pinv{\mat{D}_p}\vec\ten{g}_2(\mat{\eta}_{y}). + = \pinv{\mat{D}_p}\vec\E[\ten{X}\circ\ten{X}\mid Y = y]. + \end{multline*} + The gradients are related to their derivatives by transposition, $\nabla_{\mat{\eta}_{1{y_i}}}b = \t{\D b(\mat{\eta}_{1{y}})}$ and $\nabla_{\mat{\eta}_2}b = \t{\D b(\mat{\eta}_2)}$. + Next, we provide the differentials of the natural parameter components from \eqref{eq:eta1} and \eqref{eq:eta2} in a quite direct form, without any further ``simplifications,'' because the down-stream computations will not benefit from re-expressing + \begin{align*} + \d\mat{\eta}_{1{y}}(\overline{\ten{\eta}}) + &= \d\vec{\overline{\ten{\eta}}}, \\ + \d\mat{\eta}_{1{y}}(\mat{\beta}_j) + &= \vec\Bigl( \ten{F}_{y}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\times_j\d\mat{\beta}_j \Bigr), \\ + \d\mat{\eta}_2(\mat{\Omega}_j) + = c\t{\mat{D}_p}\vec\d\bigotimes_{j = r}^1\mat{\Omega}_j + &= c\t{\mat{D}_p}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr). + \end{align*} + All other combinations, namely $\d\mat{\eta}_{1{y}}(\mat{\Omega}_j)$, $\d\mat{\eta}_2(\overline{\ten{\eta}})$ and $\d\mat{\eta}_2(\mat{\beta}_j)$, are zero. + + Continuing with the partial differentials of $l_n$ from \eqref{eq:log-likelihood} + \begin{multline*} + \d l_n(\overline{\ten{\eta}}) + = \sum_{i = 1}^{n} (\langle \d\overline{\ten{\eta}}, \ten{X}_i \rangle - \D b(\mat{\eta}_{1{y_i}})\d\mat{\eta}_{1{y_i}}(\overline{\ten{\eta}})) + = \sum_{i = 1}^{n} \t{(\vec{\ten{X}_i} - \vec\E[\ten{X} \mid Y = y_i])}\d\vec{\overline{\ten{\eta}}} \\ + = \t{(\d\vec{\overline{\ten{\eta}}})}\vec\sum_{i = 1}^{n} (\ten{X}_i - \E[\ten{X} \mid Y = y_i]). + \end{multline*} + For every $j = 1, ..., r$ we get the differentials + \begin{align*} + \d l_n(\mat{\beta}_j) + &= \sum_{i = 1}^{n} \biggl(\Bigl\langle \ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\times_j\d\mat{\beta}_j, \ten{X}_i \Bigr\rangle - \D b(\mat{\eta}_{1{y_i}})\d\mat{\eta}_{1{y_i}}(\mat{\beta}_j)\biggr) \\ + &= \sum_{i = 1}^{n} \Bigl\langle \ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\times_j\d\mat{\beta}_j, \ten{X}_i - \E[\ten{X} \mid Y = y_i] \Bigr\rangle \\ + &= \sum_{i = 1}^{n} \tr\biggl( \d\mat{\beta}_j\Bigl(\ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\Bigr)_{(j)} \t{(\ten{X}_i - \E[\ten{X} \mid Y = y_i])_{(j)}} \biggr) \\ + &= \t{(\d\vec{\mat{\beta}_j})}\vec\sum_{i = 1}^{n} (\ten{X}_i - \E[\ten{X} \mid Y = y_i])_{(j)} \t{\Bigl(\ten{F}_{y_i}\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\beta}_k\Bigr)_{(j)}} + \end{align*} + as well as + \begin{align*} + \d l_n(\mat{\Omega}_j) + &= \sum_{i = 1}^{n} \biggl( c\Bigl\langle \ten{X}_i\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\Omega}_k\times_j\d\mat{\Omega}_j, \ten{X}_i \Bigr\rangle - \D b(\mat{\eta}_2)\d\mat{\eta}_2(\mat{\Omega}_j) \biggr) \\ + &= c\sum_{i = 1}^{n} \biggl( \Bigl\langle \ten{X}_i\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\Omega}_k\times_j\d\mat{\Omega}_j, \ten{X}_i \Bigr\rangle \\ + &\qquad\qquad - \t{(\pinv{\mat{D}_p}\vec\E[\ten{X}\circ\ten{X}\mid Y = y_i])}\t{\mat{D}_p}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr) \biggr) \\ + &\overset{(a)}{=} c\sum_{i = 1}^{n} \biggl( \Bigl\langle \ten{X}_i\mlm_{\substack{k = 1\\k\neq j}}^{r}\mat{\Omega}_k\times_j\d\mat{\Omega}_j, \ten{X}_i \Bigr\rangle \\ + &\qquad\qquad - \t{(\vec\E[\ten{X}\circ\ten{X}\mid Y = y_i])}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr) \biggr) \\ + &= c\sum_{i = 1}^{n} \biggl( \t{\vec(\ten{X}_i\circ\ten{X}_i - \E[\ten{X}\circ\ten{X}\mid Y = y_i])}\vec\Bigl(\,\bigkron_{k = r}^{j + 1}\mat{\Omega}_k\otimes\d\mat{\Omega}_j\otimes\bigkron_{l = j - 1}^{1}\mat{\Omega}_l \Bigr) \biggr) \\ + &= c\sum_{i = 1}^{n} \bigl(\ten{X}_i\otimes\ten{X}_i - \E[\ten{X}\otimes\ten{X}\mid Y = y_i]\bigr)\mlm_{\substack{k = 1\\k\neq j}}^{r}\t{(\vec{\mat{\Omega}_k})}\times_j\t{(\d\vec{\mat{\Omega}_j})} \\ + &= c\t{(\d\vec{\mat{\Omega}_j})}\sum_{i = 1}^{n} \Bigl(\bigl(\ten{X}_i\otimes\ten{X}_i - \E[\ten{X}\otimes\ten{X}\mid Y = y_i]\bigr)\mlm_{\substack{k = 1\\k\neq j}}^{r}\t{(\vec{\mat{\Omega}_k})}\Bigr)_{(j)} \\ + &= c\t{(\d\vec{\mat{\Omega}_j})}\vec\sum_{i = 1}^{n} \bigl(\ten{X}_i\otimes\ten{X}_i - \E[\ten{X}\otimes\ten{X}\mid Y = y_i]\bigr)\mlm_{\substack{k = 1\\k\neq j}}^{r}\t{(\vec{\mat{\Omega}_k})}. + \end{align*} + Equality $(a)$ holds because $\mat{N}_p = \mat{D}_p\pinv{\mat{D}_p}$ is the symmetrizer matrix \cite[][Ch.~11]{AbadirMagnus2005}. The symmetrizer matrix $\mat{N}_p$ satisfies $\mat{N}_p\vec{\mat{A}} = \vec{\mat{A}}$ if $\mat{A} = \t{\mat{A}}$, and + \begin{displaymath} + \vec\E[\ten{X}\circ\ten{X}\mid Y = y] = \vec\E[(\vec{\ten{X}})\t{(\vec{\ten{X}})}\mid Y = y] + \end{displaymath} + is the vectorization of a symmetric matrix. + + Finally, using the identity $\d \ten{A}(\ten{B}) = \t{(\d\vec{\ten{B}})}\nabla_{\ten{B}}\ten{A}$ identifies the partial gradients. +\end{proof} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Asymptotic Normality for M-estimators on Manifolds} +To proof asymptotic results, we need some technical lemmas as well as the definition of the tangent space of a manifold provided herein. We conclude this subsection with \cref{thm:M-estimator-asym-normal-on-manifolds}, a more general form of \cref{thm:asymptotic-normality-gmlm}. + +The following is a reformulation of Lemma~2.3 from \cite{BuraEtAl2018} which assumes Condition~2.2 to hold. %The existence of a mapping in Condition~2.2 is not needed for Lemma~2.3. It suffices that the restricted parameter space $\Theta$ is a subset of the unrestricted parameter space $\Xi$, which is trivially satisfied in our setting. Under this, \cref{thm:exists-strong-M-estimator-on-subsets} follows directly from Lemma~2.3 in \cite{BuraEtAl2018}. +Condition~2.2 assumes the existence of a mapping from an open set into the unrestricted parameter space $\Xi$ such that the image of the mapping is the restricted parameter space $\Theta$. The existence of this mapping is not needed, instead the weaker assumption $\Theta\subseteq\Xi$ is sufficient with an almost identical proof. + +\begin{lemma}[Existence of strong M-estimators on Subsets]\label{thm:exists-strong-M-estimator-on-subsets} + Assume there exists a (weak/strong) M-estimator $\hat{\mat{\xi}}_n$ for $M_n$ over $\Xi$. Then, there exists a strong M-estimator $\hat{\mat{\theta}}_n$ for $M_n$ over any non-empty $\Theta\subseteq\Xi$. +\end{lemma} +\begin{proof}%[\hypertarget{proof:exists-strong-M-estimator-on-subsets}{Proof of \cref{thm:exists-strong-M-estimator-on-subsets}}] + Let $\hat{\mat{\xi}}_n$ be a (weak/strong) M-estimator for the unconstrained problem. This gives by definition, in any case, that + \begin{displaymath} + \sup_{\mat{\xi}\in\Xi} M_n(\mat{\xi}) \leq M_n(\hat{\mat{\xi}}_n) + o_P(1). + \end{displaymath} + Since $\emptyset\neq\Theta\subseteq\Xi$, $\sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) \leq \sup_{\mat{\xi}\in\Xi} M_n(\mat{\xi})$ and with $M_n(\mat{\xi}) < \infty$ for any $\mat{\xi}\in\Xi$ + \begin{displaymath} + P\Bigl( \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) < \infty \Bigr) + \geq + P\Bigl( \sup_{\mat{\xi}\in\Xi} M_n(\mat{\xi}) < \infty \Bigr) + \xrightarrow{n\to\infty} + 1. + \end{displaymath} + If $\sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) < \infty$, then, for any $0 < \epsilon_n$ there exists $\hat{\mat{\theta}}_n\in\Theta$ such that $\sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) - \epsilon_n \leq M_n(\hat{\mat{\theta}}_n)$. Therefore, we can choose $\epsilon_n\in o(n^{-1})$, which yields + \begin{displaymath} + P\Bigl( M_n(\hat{\mat{\theta}}_n) \geq \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) - o(n^{-1}) \Bigr) + \geq + P\Bigl( \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) < \infty \Bigr) + \xrightarrow{n\to\infty} + 1. + \end{displaymath} + The last statement is equivalent to + \begin{displaymath} + M_n(\hat{\mat{\theta}}_n) \geq \sup_{\mat{\theta}\in\Theta} M_n(\mat{\theta}) - o_P(n^{-1}), + \end{displaymath} + which is the definition of $\hat{\mat{\theta}}_n$ being a strong M-estimator over $\Theta$. +\end{proof} + + + +\begin{lemma}[Existence and Consistency of M-estimators on Subsets]\label{thm:M-estimator-consistency-on-subsets} + Let $\Xi$ be a convex open subset of a Euclidean space and $\Theta\subseteq\Xi$ non-empty. Assume $\mat{\xi}\mapsto m_{\mat{\xi}}(z)$ is a strictly concave function on $\Xi$ for almost all $z$ and $z\mapsto m_{\mat{\xi}}(z)$ is measurable for all $\mat{\xi}\in\Xi$. Let $M(\mat{\xi}) = \E m_{\mat{\xi}}(Z)$ be a well defined function with a unique maximizer $\mat{\theta}_0\in\Theta\subseteq\Xi$; that is, $M(\mat{\theta}_0) > M(\mat{\xi})$ for all $\mat{\xi}\neq\mat{\theta}_0$. Also, assume + \begin{displaymath} + \E\sup_{\mat{\xi}\in K}|m_{\mat{\xi}}(Z)| < \infty, + \end{displaymath} + for every non-empty compact $K\subset\Xi$. Then, there exists a strong M-estimator $\hat{\mat{\theta}}_n$ of $M_n(\mat{\theta}) = \frac{1}{n}\sum_{i = 1}^{n} m_{\mat{\theta}}(Z_i)$ over the subset $\Theta$. Moreover, any strong M-estimator $\hat{\mat{\theta}}_n$ of $M_n$ over $\Theta$ converges in probability to $\mat{\theta}_0$, that is $\hat{\mat{\theta}}_n\xrightarrow{p}\mat{\theta}_0$. +\end{lemma} +\begin{proof}%[Proof of \cref{thm:M-estimator-consistency-on-subsets}] + The proof follows the proof of Proposition~2.4 in \cite{BuraEtAl2018} with the same assumptions, except that we only require $\Theta$ to be a subset of $\Xi$. This is accounted for by replacing Lemma~2.3 in \cite{BuraEtAl2018} with \cref{thm:exists-strong-M-estimator-on-subsets} to obtain the existence of a strong M-estimator on $\Theta$. +\end{proof} + + +We also need the concept of a \emph{tangent space} to formulate asymptotic normality in a way that is independent of a particular coordinate representation. Intuitively, the tangent space at a point $\mat{x}\in\manifold{A}$ of the manifold $\manifold{A}$ is the hyperspace of all velocity vectors $\t{\nabla\gamma(0)}$ of any curve $\gamma:(-1, 1)\to\manifold{A}$ passing through $\mat{x} = \gamma(0)$, see \cref{fig:torus}. Locally, at $\mat{x} = \gamma(0)$ with a chart $\varphi$ we can write $\gamma(t) = \varphi^{-1}(\varphi(\gamma(t)))$ that gives $\Span\t{\nabla\gamma(0)} \subseteq \Span\t{\nabla\varphi^{-1}(\varphi(\mat{x}))}$. Taking the union over all smooth curves through $\mat{x}$ gives equality. The following definition leverages the simplified setup of smooth manifolds in Euclidean space. + +\begin{figure}[!hpt] + \centering + \includegraphics[width = 0.5\textwidth]{images/TorustangentSpace.pdf} + \caption{\label{fig:torus}Visualization of the tangent space $T_{\mat{x}}\manifold{A}$ at $\mat{x}$ of the torus $\manifold{A}$. The torus $\manifold{A}$ is a 2-dimensional embedded manifold in $\mathbb{R}^3$. The tangent space $T_{\mat{x}}\manifold{A}\subset\mathbb{R}^3$ is a 2-dimensional hyperplane visualized with its origin $\mat{0}$ shifted to $\mat{x}$. Two curves $\gamma_1, \gamma_2$ with $\mat{x} = \gamma_1(0) = \gamma_2(0)$ are drawn on the torus. The curve velocity vectors $\t{\nabla\gamma_1(0)}$ and $\t{\nabla\gamma_2(0)}$ are drawn as tangent vectors with root $\mat{x}$.} +\end{figure} + +\begin{definition}[Tangent Space]\label{def:tangent-space} + Let $\manifold{A}\subseteq\mathbb{R}^p$ be an embedded smooth manifold and $\mat{x}\in\manifold{A}$. The \emph{tangent space} at $\mat{x}$ of $\manifold{A}$ is defined as + \begin{displaymath} + T_{\mat{x}}\manifold{A} := \Span\t{\nabla\varphi^{-1}(\varphi(\mat{x}))} + \end{displaymath} + for any chart $\varphi$ with $\mat{x}$ in the pre-image of $\varphi$. +\end{definition} + +\Cref{def:tangent-space} is consistent since it can be shown that two different charts at the same point have identical span. + +We are now ready to provide and prove \cref{thm:M-estimator-asym-normal-on-manifolds}, a more general version of \cref{thm:asymptotic-normality-gmlm}. + +\begin{theorem}[\hyperlink{proof:M-estimator-asym-normal-on-manifolds}{Asymptotic Normality for M-estimators on Manifolds}]\label{thm:M-estimator-asym-normal-on-manifolds} + Let $\Theta\subseteq\mathbb{R}^p$ be a smooth embedded manifold. For each $\mat{\theta}$ in a neighborhood in $\mathbb{R}^p$ of the true parameter $\mat{\theta}_0\in\Theta$ let $z\mapsto m_{\mat{\theta}}(z)$ be measurable and $\mat{\theta}\mapsto m_{\mat{\theta}}(z)$ be differentiable at $\mat{\theta}_0$ for almost all $z$. Assume also that there exists a measurable function $u$ such that $\E[u(Z)^2] < \infty$, and for almost all $z$ as well as all $\mat{\theta}_1, \mat{\theta}_2$ in a neighborhood of $\mat{\theta}_0$ such that + \begin{displaymath} + | m_{\mat{\theta}_1}\!(z) - m_{\mat{\theta}_2}\!(z) | \leq u(z) \| \mat{\theta}_1 - \mat{\theta}_2 \|_2. + \end{displaymath} + Moreover, assume that $\mat{\theta}\mapsto\E[m_{\mat{\theta}}(Z)]$ admits a second-order Taylor expansion at $\mat{\theta}_0$ in a neighborhood of $\mat{\theta}_0$ in $\mathbb{R}^p$ with a non-singular Hessian $\mat{H}_{\mat{\theta}_0} = \nabla^2_{\mat{\theta}}\E[m_{\mat{\theta}}(Z)]|_{\mat{\theta} = \mat{\theta}_0}\in\mathbb{R}^{p\times p}$. + + If $\hat{\mat{\theta}}_n$ is a strong M-estimator of $\mat{\theta}_0$ in $\Theta$, then $\hat{\mat{\theta}}_n$ is asymptotically normal + \begin{displaymath} + \sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0) \xrightarrow{d} \mathcal{N}_p\left(\mat{0}, \mat{\Pi}_{\mat{\theta}_0} \E\left[\nabla_{\mat{\theta}} m_{\mat{\theta}_0}(Z)\t{(\nabla_{\mat{\theta}} m_{\mat{\theta}_0}(Z))}\right] \mat{\Pi}_{\mat{\theta}_0}\right) + \end{displaymath} + where $\mat{\Pi}_{\mat{\theta}_0} = \mat{P}_{\mat{\theta}_0}\pinv{(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})}\t{\mat{P}_{\mat{\theta}_0}}$ and $\mat{P}_{\mat{\theta}_0}$ is any matrix whose span is the tangent space $T_{\mat{\theta}_0}\Theta$ of $\Theta$ at $\mat{\theta}_0$. +\end{theorem} +\begin{proof}[\hypertarget{proof:M-estimator-asym-normal-on-manifolds}{Proof of \cref{thm:M-estimator-asym-normal-on-manifolds}}] + Let $\varphi:U\to\varphi(U)$ be a coordinate chart\footnote{By \cref{def:manifold}, the chart $\varphi : U\to\varphi(U)$ is bi-continuous, infinitely often continuously differentiable, and has a continuously differentiable inverse $\varphi^{-1} : \varphi(U) \to U$. Furthermore, the domain $U$ is open with respect to the trace topology on $\Theta$, which means that there exists an open set $O\subseteq\mathbb{R}^p$ such that $U = \Theta\cap O$.} with $\mat{\theta}_0\in U\subseteq\Theta$. As $\varphi$ is continuous, $\varphi(\hat{\mat{\theta}}_n)\xrightarrow{p}\varphi(\mat{\theta}_0)$ by the continuous mapping theorem on metric spaces \cite[][Theorem~18.11]{vanderVaart1998}, which implies $P(\varphi(\hat{\mat{\theta}}_n)\in\varphi(U))\xrightarrow{n\to\infty}1$. + + The next step is to apply Theorem~5.23 in \cite{vanderVaart1998} to $\hat{\mat{s}}_n = \varphi(\hat{\mat{\theta}}_n)$. Therefore, assume that $\hat{\mat{s}}_n\in\varphi(U)$. Denote with $\mat{s} = \varphi(\mat{\theta})\in\varphi(U)\subseteq\mathbb{R}^d$ the coordinates of the parameter $\mat{\theta}\in U\subseteq\Theta$ of the $d = \dim(\Theta)$ dimensional manifold $\Theta\subseteq\mathbb{R}^p$. Since $\varphi : U\to\varphi(U)$ is bijective, we can express $m_{\mat{\theta}}$ in terms of $\mat{s} = \varphi(\mat{\theta})$ as $m_{\mat{\theta}} = m_{\varphi^{-1}(\mat{s})}$ for every $\mat{\theta}\in U$. Furthermore, we let + \begin{displaymath} + M(\mat{\theta}) = \E[m_{\mat{\theta}}(Z)] \qquad\text{and}\qquad M_{\varphi}(\mat{s}) = \E[m_{\varphi^{-1}(\mat{s})}(Z)] = M(\varphi^{-1}(\mat{s})). + \end{displaymath} + + \begin{figure}[H] + \centering + \includegraphics{images/embeddImage.pdf} + \caption{\label{fig:proof:M-estimator-asym-normal-on-manifolds}Depiction of the notation used in the proof of \cref{thm:M-estimator-asym-normal-on-manifolds}. Example with $p = 3$ and $d = \dim(\Theta) = 2$.} + \end{figure} + + By assumption, the function $M(\mat{\theta})$ is twice continuously differentiable in a neighborhood\footnote{A set $N$ is called a neighborhood of $u$ if there exists an open set $O$ such that $u\in O\subseteq N$.} of $\mat{\theta}_0$. Without loss of generality, we can assume that $U$ is contained in that neighborhood. Then, using the chain rule, we compute the gradient of $M_{\varphi}$ at $\mat{s}_0$ to be $\mat{0}$, + \begin{displaymath} + \nabla M_{\varphi}(\mat{s}_0) = {\nabla\varphi^{-1}(\mat{s}_0)}{\nabla M(\varphi^{-1}(\mat{s}_0))} = {\nabla\varphi^{-1}(\mat{s}_0)}{\nabla M(\mat{\theta}_0)} = {\nabla\varphi^{-1}(\mat{s}_0)}\mat{0} = \mat{0} + \end{displaymath} + because $\mat{\theta}_0 = \varphi^{-1}(\mat{s}_0)$ is a maximizer of $M$. The second-derivative of $M$, evaluated at $\mat{s}_0 = \varphi(\mat{\theta}_0)$ and using $\nabla M_{\varphi}(\mat{s}_0) = \mat{0}$, is + \begin{displaymath} + \nabla^2 M_{\varphi}(\mat{s}_0) + = \nabla\varphi^{-1}(\mat{s}_0)\nabla^2 M(\varphi^{-1}(\mat{s}_0))\t{\nabla\varphi^{-1}(\mat{s}_0)} + = \nabla\varphi^{-1}(\mat{s}_0)\mat{H}_{\mat{\theta}_0}\t{\nabla\varphi^{-1}(\mat{s}_0)}. + \end{displaymath} + This gives the second-order Taylor expansion of $M_{\varphi}$ at $\mat{s}_0$ as + \begin{displaymath} + M_{\varphi}(\mat{s}) = M_{\varphi}(\mat{s}_0) + \frac{1}{2}\t{(\mat{s} - \mat{s}_0)} \nabla^2 M_{\varphi}(\mat{s}_0) (\mat{s} - \mat{s}_0) + \mathcal{O}(\|\mat{s} - \mat{s}_0\|^3) + \end{displaymath} + We also need to check the local Lipschitz condition of $m_{\varphi^{-1}(\mat{s})}$. Let $V_{\epsilon}(\mat{s}_0)$ be the open $\epsilon$-ball with center $\mat{s}_0$; i.e., $V_{\epsilon}(\mat{s}_0) = \{ \mat{s}\in\mathbb{R}^d : \|\mat{s} - \mat{s}_0\| < \epsilon \}$. Since $\varphi(U)$ contains $\mat{s}_0$, and is open in $\mathbb{R}^d$, there exists an $\epsilon > 0$ such that $V_{\epsilon}(\mat{s}_0)\subseteq\varphi(U)$. The closed $\epsilon/2$ ball $\overline{V}_{\epsilon / 2}(\mat{s}_0)$ is a neighborhood of $\mat{s}_0$ and $\sup_{\mat{s}\in \overline{V}_{\epsilon / 2}(\mat{s}_0)}\|\nabla\varphi^{-1}(\mat{s})\| < \infty$ due to the continuity of $\nabla\varphi^{-1}$ on $\varphi(U)$ with $\overline{V}_{\epsilon / 2}(\mat{s}_0)\subset V_{\epsilon}(\mat{s}_0)\subseteq\varphi(U)$. Then, for almost every $z$ and every $\mat{s}_1 = \varphi(\mat{\theta}_1), \mat{s}_2 = \varphi(\mat{\theta}_2)\in\overline{V}_{\epsilon / 2}(\mat{s}_0)$, + \begin{multline*} + | m_{\varphi^{-1}(\mat{s}_1)}(z) - m_{\varphi^{-1}(\mat{s}_2)}(z) | + = | m_{\mat{\theta}_1}(z) - m_{\mat{\theta}_2}(z) | + \overset{(a)}{\leq} u(z) \| \mat{\theta}_1 - \mat{\theta}_2 \| \\ + = u(z) \| \varphi^{-1}(\mat{s}_1) - \varphi^{-1}(\mat{s}_2) \| + \overset{(b)}{\leq} u(z) \sup_{\mat{s}\in \overline{V}_{\epsilon / 2}(\mat{s}_0)}\|\nabla\varphi^{-1}(\mat{s})\| \|\mat{s}_1 - \mat{s}_2\| + =: v(z) \|\mat{s}_1 - \mat{s}_2\|. + \end{multline*} + Here, $(a)$ holds by assumption and $(b)$ is a result of the mean value theorem. Now, $v(z)$ is measurable and square integrable as a scaled version of $u(z)$. Finally, since $\varphi$ is one-to-one, $\hat{\mat{s}}_n = \varphi(\hat{\mat{\theta}}_n)$ is a strong M-estimator for $\mat{s}_0 = \varphi(\mat{\theta}_0)$ of the objective $M_{\varphi}$. We next apply Theorem~5.23 in \cite{vanderVaart1998} to obtain the asymptotic normality of $\hat{\mat{s}}_n$, + \begin{displaymath} + \sqrt{n}(\hat{\mat{s}}_n - \mat{s}_0) \xrightarrow{d} \mathcal{N}_{d}(0, \mat{\Sigma}_{\mat{s}_0}), + \end{displaymath} + where the $d\times d$ variance-covariance matrix $\mat{\Sigma}_{\mat{s}_0}$ is given by + \begin{align*} + \mat{\Sigma}_{\mat{s}_0} &= (\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}\E[\nabla_{\mat{s}} m_{\varphi^{-1}(\mat{s}_0)}(Z)\t{(\nabla_{\mat{s}} m_{\varphi^{-1}(\mat{s}_0)}(Z))}](\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}. + \end{align*} + { + \def\PP{\mat{\varPhi}_{\mat{\theta}_0}} + \def\EE#1#2{\E[\nabla_{#2} m_{#1}(Z)\t{(\nabla_{#2} m_{#1}(Z))}]} + Applying the delta method, we obtain + \begin{displaymath} + \sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0)= \sqrt{n}(\varphi^{-1}(\hat{\mat{s}}_n) - \varphi^{-1}(\mat{s}_0)) + \xrightarrow{d} \mathcal{N}_p(0, \t{\nabla\varphi^{-1}(\mat{s}_0)}\mat{\Sigma}_{\mat{s}_0}{\nabla\varphi^{-1}(\mat{s}_0)}). + \end{displaymath} + We continue by reexpressing the $p\times p$ asymptotic variance-covariance matrix of $\hat{\mat{\theta}}_n$ in terms of $\mat{\theta}_0$ instead of $\mat{s}_0 = \varphi(\mat{\theta}_0)$. We let $\PP = \t{\nabla\varphi^{-1}(\varphi(\mat{\theta}_0))} = \t{\nabla\varphi^{-1}(\mat{s}_0)}$ and observe that for all $\mat{s}\in\varphi(U)$, the gradient of $\mat{s}\mapsto m_{\varphi^{-1}(\mat{s})}(z)$ evaluated at $\mat{s}_0 = \varphi(\mat{\theta}_0)$ has the form + \begin{displaymath} + \nabla_{\mat{s}}m_{\varphi^{-1}(\mat{s}_0)}(z)= \nabla\varphi^{-1}(\mat{s}_0)\nabla_{\mat{\theta}}m_{\mat{\theta}_0}(z)= \t{\PP}\nabla_{\mat{\theta}}m_{\mat{\theta}_0}(z). + \end{displaymath} + Then, + \begin{multline*} + \t{\nabla\varphi^{-1}(\mat{s}_0)}\mat{\Sigma}_{\mat{s}_0}{\nabla\varphi^{-1}(\mat{s}_0)}= \PP\mat{\Sigma}_{\mat{s}_0}\t{\PP} \\ + = \PP(\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}\EE{\varphi^{-1}(\mat{s}_0)}{}(\nabla^2 M_{\varphi}(\mat{s}_0))^{-1}\t{\PP} \\ + = {\PP}(\t{\PP}\mat{H}_{\mat{\theta}_0}\PP)^{-1}\t{\PP}\EE{\mat{\theta}_0}{\mat{\theta}}{\PP}(\t{\PP}\mat{H}_{\mat{\theta}_0}\PP)^{-1}\t{\PP} \\ + = \mat{\Pi}_{\mat{\theta}_0}\EE{\mat{\theta}_0}{\mat{\theta}}\mat{\Pi}_{\mat{\theta}_0} + \end{multline*} + where the last equality holds because $\Span\PP = T_{\mat{\theta}_0}\Theta$, by \cref{def:tangent-space} of the tangent space $T_{\mat{\theta}_0}\Theta$. + + It remains to show that $\mat{\Pi}_{\mat{\theta}_0} = \mat{P}_{\mat{\theta}_0}\pinv{(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})}\t{\mat{P}_{\mat{\theta}_0}}$ for any $p\times k$ matrix $\mat{P}_{\mat{\theta}_0}$ such that $k\geq d$ and $\Span{\mat{P}_{\mat{\theta}_0}} = T_{\mat{\theta}_0}\Theta$. This also ensures that the final result is independent of the chosen chart $\varphi$, since the tangent space does not depend on a specific chart. Therefore, let $\PP = {\mat{Q}}{\mat{R}}$ and $\mat{P}_{\mat{\theta}_0} = \widetilde{\mat{Q}}\widetilde{\mat{R}}$ be their thin QR decompositions, respectively. Both $\mat{Q}, \widetilde{\mat{Q}}$ have dimension $p\times d$, $\mat{Q}$ is semi-orthogonal, and $\mat{R}$ is invertible of dimension $d\times d$ while $\widetilde{\mat{R}}$ is a $d\times k$ full row-rank matrix. Since $\mat{Q}$ is semi-orthogonal, the $p\times p$ matrix $\mat{Q}\t{\mat{Q}}$ is an orthogonal projection onto $\Span\mat{Q} = \Span\mat{P}_{\mat{\theta}_0} = T_{\mat{\theta}_0}\Theta$. This allows to express $\mat{P}_{\mat{\theta}_0}$ in terms of $\mat{Q}$ as + \begin{displaymath} + \mat{P}_{\mat{\theta}_0} = \mat{Q}\t{\mat{Q}}\mat{P}_{\mat{\theta}_0} + = \mat{Q}\t{\mat{Q}}\widetilde{\mat{Q}}\widetilde{\mat{R}} =: {\mat{Q}}\mat{M}. + \end{displaymath} + From $\Span\mat{Q} = \Span\mat{P}_{\mat{\theta}_0}$, it follows that the $d\times k$ matrix $\mat{M}$ is also of full row-rank. Also, $\mat{M}\pinv{\mat{M}} = \mat{I}_d = \mat{R}\mat{R}^{-1}$ as a property of the Moore-Penrose pseudo inverse with $\mat{M}$ being of full row-rank. Another property of the pseudo inverse is that for matrices $\mat{A}, \mat{B}$, where $\mat{A}$ has full column-rank and $\mat{B}$ has full row-rank, $\pinv{(\mat{A}\mat{B})} = \pinv{\mat{B}}\pinv{\mat{A}}$. This enables the computation + \begin{multline*} + \mat{P}_{\mat{\theta}_0}\pinv{(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})}\t{\mat{P}_{\mat{\theta}_0}}= \mat{Q} \mat{M} \pinv{\mat{M}} (\t{\mat{Q}} \mat{H}_{\mat{\theta}_0} \mat{Q})^{-1} \t{(\mat{M} \pinv{\mat{M}})} \t{\mat{Q}} \\ + = \mat{Q} {\mat{R}} {\mat{R}}^{-1} (\t{\mat{Q}} \mat{H}_{\mat{\theta}_0} \mat{Q})^{-1} \t{({\mat{R}} {\mat{R}}^{-1})} \t{\mat{Q}} + = \PP(\t{\PP}\mat{H}_{\mat{\theta}_0}\PP)^{-1}\t{\PP} + = \mat{\Pi}_{\mat{\theta}_0}. + \end{multline*} + } +\end{proof} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Asymptotic Normality of GMLM} +We rewrite the log-likelihood \eqref{eq:log-likelihood} in a different form to simplify the proof of \cref{thm:asymptotic-normality-gmlm} and to provide the notation to express the regularity conditions of \cref{thm:asymptotic-normality-gmlm} in a compact form. + +The first natural parameter component $\mat{\eta}_{1y}$ defined in \eqref{eq:eta1-manifold} can be written as +\begin{align*} + \mat{\eta}_{1y} + &= \vec{\overline{\ten{\eta}}} + \mat{B}\vec{\ten{F}_y}= \mat{I}_p\vec{\overline{\ten{\eta}}} + (\t{(\vec{\ten{F}_y})}\otimes\mat{I}_p)\vec{\mat{B}} \\ + &= \begin{pmatrix} + \mat{I}_p & \t{(\vec{\ten{F}_y})}\otimes\mat{I}_p + \end{pmatrix}\begin{pmatrix} + \vec{\overline{\ten{\eta}}} \\ + \vec{\mat{B}} + \end{pmatrix}. +\end{align*} +The second natural parameter component $\mat{\eta}_2$, modeled in \eqref{eq:eta2-manifold}, relates to $\vech{\mat{\Omega}}$ linearly as +\begin{displaymath} + \mat{\eta}_2 = c\t{\mat{D}_p}\vec{\mat{\Omega}} = c\t{\mat{D}_p}\mat{D}_p\vech{\mat{\Omega}}. +\end{displaymath} +This gives the following relation between $\mat{\eta}_y = (\mat{\eta}_{1y}, \mat{\eta}_2)$ and $\mat{\xi} = (\vec{\overline{\ten{\eta}}}, \vec{\mat{B}}, \vech{\mat{\Omega}})\in\Xi$, +\begin{equation} + \mat{\eta}_y = \begin{pmatrix} + \mat{I}_p & \ \ \ \t{(\vec{\ten{F}_y})}\otimes\mat{I}_p\ \ & 0 \\ + 0 & 0 & c\t{\mat{D}_p}\mat{D}_p + \end{pmatrix} +\begin{pmatrix} +\vec{\overline{\ten{\eta}}} \\ +\vec{\mat{B}} \\ +\vech{\mat{\Omega}} +\end{pmatrix} =: \mat{F}(y)\mat{\xi} \label{eq:eta-to-xi-linear-relation} +\end{equation} +where $\mat{F}(y)$ is a $p (p + 3) / 2\times p (p + 2 q + 3) / 2$ dimensional matrix-valued function in $y$. Moreover, for every $y$ the matrix $\mat{F}(y)$ is of full rank. +The log-likelihood of model \eqref{eq:quad-density} for the unconstrained parameters $\xi\in\Xi$ is +\begin{displaymath} + l_n(\mat{\xi}) + = \frac{1}{n}\sum_{i = 1}^{n} (\langle \mat{t}(\ten{X}), \mat{\eta}_{y} \rangle - b(\mat{\eta}_y)) + =: \frac{1}{n}\sum_{i = 1}^{n} m_{\mat{\xi}}(Z_i) +\end{displaymath} +where $Z_i = (\ten{X}_i, Y_i)$. Using \eqref{eq:eta-to-xi-linear-relation} we can write +\begin{displaymath} + m_{\mat{\xi}}(z) = \langle\mat{t}(\ten{X}), \mat{F}(y)\mat{\xi}\rangle - b(\mat{F}(y)\mat{\xi}). +\end{displaymath} + +The following are the regularity conditions for the log-likelihood required by \cref{thm:asymptotic-normality-gmlm}. + +\begin{condition}\label{cond:differentiable-and-convex} +The mapping $\mat{\xi}\mapsto m_{\mat{\xi}}(z)$ is twice continuously differentiable for almost every $z$ and $z\mapsto m_{\mat{\xi}}(z)$ is measurable. Moreover, $\mat{\eta}\mapsto b(\mat{\eta})$ is strictly convex. Furthermore, for every $\widetilde{\mat{\eta}}$, $P(\mat{F}(Y)\mat{\xi} = \widetilde{\mat{\eta}}) < 1$. +\end{condition} + +\begin{condition}\label{cond:moments} +$\E\|\t{\mat{t}(\ten{X})}\mat{F}(Y)\| < \infty$, and $\E\|\t{\mat{t}(\ten{X})}\mat{F}(Y)\|^2 < \infty$. +\end{condition} + +\begin{condition}\label{cond:finite-sup-on-compacta} +The mapping $\mat{\eta}\mapsto b(\mat{\eta})$ is twice continuously differentiable and for every non-empty compact $K\subseteq\Xi$, \begin{gather*} +\E\sup_{\mat{\xi}\in K}\|b(\mat{F}(Y)\mat{\xi})\| < \infty, \qquad +\E\sup_{\mat{\xi}\in K}\|\t{\nabla b(\mat{F}(Y)\mat{\xi})}\mat{F}(Y)\|^2 < \infty, \\ +\E\sup_{\mat{\xi}\in K}\| \t{\mat{F}(Y)}\nabla^2 b(\mat{F}(Y)\mat{\xi})\mat{F}(Y) \| < \infty. +\end{gather*} +\end{condition} + +We continue with some more technical lemmas needed for the proof of \cref{thm:asymptotic-normality-gmlm}. + +\begin{lemma}\label{thm:kron-perm} + Given $r \geq 2$ matrices $\mat{A}_k$ of dimension $p_j\times q_j$ for $k = 1, \ldots, r$, then there exists a unique permutation matrix $\mat{S}_{\mat{p}, \mat{q}}$ such that + \begin{equation}\label{eq:kron-to-outer-perm} + \vec\bigkron_{k = r}^{1}\mat{A}_k = \mat{S}_{\mat{p}, \mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. + \end{equation} + The permutation $\mat{S}_{\mat{p}, \mat{q}}$ with indices $\mat{p} = (p_1, \ldots, p_r)$ and $\mat{q} = (q_1, \ldots, q_r)$ is defined recursively as + \begin{equation}\label{eq:S_pq} + \mat{S}_{\mat{p}, \mat{q}} = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_r q_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr) + \end{equation} + with initial value + \begin{displaymath} + \mat{S}_{(p_1, p_2), (q_1, q_2)} = \mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1} + \end{displaymath} + where $\mat{K}_{p, q}$ is the \emph{commutation matrix} \cite[][Ch.~11]{AbadirMagnus2005}; that is, the permutation such that $\vec{\t{\mat{A}}} = \mat{K}_{p, q}\vec{\mat{A}}$ for every $p\times q$ dimensional matrix $\mat{A}$. +\end{lemma} +\begin{proof} + Lemma~7 in \cite{MagnusNeudecker1986} states that + \begin{align} + \vec(\mat{A}_2\otimes\mat{A}_1) + &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})(\vec{\mat{A}_2}\otimes\vec{\mat{A}_1}) \label{eq:MagnusNeudecker1986-vec-kron-identity} \\ + &= (\mat{I}_{q_2}\otimes\mat{K}_{q_1, p_2}\otimes\mat{I}_{p_1})\vec(\mat{A}_1\circ \mat{A}_2). \nonumber + \end{align} + This proves the statement for $r = 2$. The general statement for $r > 2$ follows by induction. Assuming \eqref{eq:kron-to-outer-perm} holds for $r - 1$, the induction step is + \begin{multline*} + \vec{\bigkron_{k = r}^{1}}\mat{A}_k + = \vec\Bigl(\mat{A}_r\otimes\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ + \overset{\eqref{eq:MagnusNeudecker1986-vec-kron-identity}}{=} \Bigl( \mat{I}_{q_r}\otimes\mat{K}_{\prod_{k = 1}^{r - 1}q_k, p_r}\otimes\mat{I}_{\prod_{k = 1}^{r - 1}p_k} \Bigr)\vec\Bigl((\vec\mat{A}_r)\otimes\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr) \\ + = \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\Bigl(\vec\bigkron_{k = r - 1}^{1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ + \overset{\eqref{eq:kron-to-outer-perm}}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)}\vec\Bigl[\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ + \overset{(a)}{=} \mat{S}_{\bigl( \prod_{k = 1}^{r - 1}p_k, p_r \bigr), \bigl( \prod_{k = 1}^{r - 1}q_k, q_r \bigr)} \bigl(\mat{I}_{p_rq_r}\otimes\mat{S}_{(p_1, \ldots, p_{r-1}), (q_1, \ldots, q_{r-1})}\bigr)\vec\Bigl[\Bigl(\vec\bigouter_{k = 1}^{r - 1}\mat{A}_k\Bigr)\t{(\vec\mat{A}_r)}\Bigr] \\ + =\mat{S}_{\mat{p},\mat{q}}\vec\bigouter_{k = 1}^{r}\mat{A}_k. + \end{multline*} + Equality $(a)$ uses the relation $\vec(\mat{C}\mat{a}\t{\mat{b}}) = (\mat{I}_{\dim(\mat{b})}\otimes\mat{C})\vec(\mat{a}\t{\mat{b}})$ for a matrix $\mat{C}$ and vectors $\mat{a}, \mat{b}$. +\end{proof} + +\begin{lemma}\label{thm:kron-manifold-tangent-space} + Let $\manifold{A}_k\subseteq\mathbb{R}^{p_k\times q_k}\backslash\{\mat{0}\}$ for $k = 1, \ldots, r$ be smooth embedded submanifolds as well as ether a sphere or a cone. Then + \begin{displaymath} + \manifold{K} = \Bigl\{ \bigkron_{k = r}^{1}\mat{A}_k : \mat{A}_k\in\manifold{A}_k \Bigr\} + \end{displaymath} + is an embedded manifold in $\mathbb{R}^{p\times q}$ for $p = \prod_{k = 1}^{r} p_k$ and $q = \prod_{k = 1}^{r} q_k$. + Furthermore, define for $j = 1, \ldots, r$ the matrices + \begin{equation}\label{eq:kron-differential-span} + \mat{\Gamma}_j + = \bigkron_{k = r}^{1}(\mat{I}_{p_k q_k}\mathrm{\ if\ } j = k \mathrm{\ else\ }\vec{\mat{A}_k}) + = \bigkron_{k = r}^{j + 1}(\vec{\mat{A}_k})\otimes\mat{I}_{p_j q_j}\otimes\bigkron_{k = j - 1}^{1}(\vec{\mat{A}_k}) + \end{equation} + and let $\gamma_j$ be $p_j q_j\times d_j$ matrices with $d_j \geq\dim\manifold{A}_j$ which span the tangent space $T_{\mat{A}_j}\manifold{A}_j$ of $\manifold{A}$ at $\mat{A}_j\in\manifold{A}_j$, that is $\Span\gamma_j = T_{\mat{A}_j}\manifold{A}_j$. + Then, with the permutation matrix $\mat{S}_{\mat{p}, \mat{q}}$ defined in \eqref{eq:S_pq}, the $p q \times \sum_{k = 1}^{r} d_j$ dimensional matrix + \begin{displaymath} + \mat{P}_{\mat{A}} = \mat{S}_{\mat{p}, \mat{q}}\left[\mat{\Gamma}_1\mat{\gamma}_1, \mat{\Gamma}_2\mat{\gamma}_2, \ldots, \mat{\Gamma}_r\mat{\gamma}_r\right] + \end{displaymath} + spans the tangent space $T_{\mat{A}}\manifold{K}$ of $\manifold{K}$ at $\mat{A} = \bigkron_{k = r}^{1}\mat{A}_k\in\manifold{K}$, in formula $\Span\mat{P}_{\mat{A}} = T_{\mat{A}}\manifold{K}$. +\end{lemma} +\begin{proof} + The statement that $\manifold{K}$ is an embedded manifold follows via induction using \cref{thm:kron-manifolds}. + We compute the differential of the vectorized Kronecker product using \cref{thm:kron-perm} where $\mat{S}_{\mat{p}, \mat{q}}$ is the permutation \eqref{eq:S_pq} defined therein. + \begin{multline*} + \d\vec\bigotimes_{k = r}^{1}\mat{A}_k + = \vec\sum_{j = 1}^{r}\bigkron_{k = r}^{1}(\ternary{k = j}{\d\mat{A}_j}{\mat{A}_k}) \\ + = \mat{S}_{\mat{p},\mat{q}}\vec\sum_{j = 1}^{r}\Bigl(\bigouter_{k = 1}^{r}(\ternary{k = j}{\d\mat{A}_j}{\mat{A}_k})\Bigr) \\ + = \mat{S}_{\mat{p}, \mat{q}}\sum_{j = 1}^{r}\bigkron_{k = r}^{1}(\ternary{k = j}{\vec\d\mat{A}_j}{\vec\mat{A}_k}) \\ + =\mat{S}_{\mat{p}, \mat{q}}\sum_{j =1}^{r}\Bigl(\bigkron_{k = r}^{1}(\ternary{k = j}{\mat{I}_{p_j q_j}}{\vec\mat{A}_k})\Bigr)\vec\d\mat{A}_j \\ + = \mat{S}_{\mat{p}, \mat{q}}\sum_{j = 1}^{r}\mat{\Gamma}_j\vec\d\mat{A}_j + = \mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_1, \ldots, \mat{\Gamma}_r]\begin{pmatrix} + \vec\d\mat{A}_1 \\ \vdots \\ \vec\d\mat{A}_r + \end{pmatrix} + \end{multline*} + Due to the definition of the manifold, this differential provides the gradient of a surjective map into the manifold. The span of the gradient then spans the tangent space. + + Now, we take a closer look at the differentials $\vec{\d\mat{A}_j}$ for $j = 1, \ldots, r$. Let $\varphi_j$ be a chart of $\manifold{A}_j$ in a neighborhood of $\mat{A}_j$. Then, $\mat{A}_j = \varphi_j^{-1}(\varphi_j(\mat{A}_j))$ which gives + \begin{displaymath}\vec{\d\mat{A}_j} = \t{\nabla\varphi_j^{-1}(\varphi_j(\mat{A}_j))}\vec\d\varphi_j(\mat{A}_j). + \end{displaymath} + Therefore, for every matrix $\mat{\gamma}_j$ such that $\Span{\mat{\gamma}_j} = T_{\mat{A}_j}\manifold{A}_j$ holds $\Span{\t{\nabla\varphi_j^{-1}(\varphi_j(\mat{A}_j))}} = \Span{\mat{\gamma}_j}$ by \cref{def:tangent-space} of the tangent space. We get + \begin{displaymath} + \Span\mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_1, \ldots, \mat{\Gamma}_r]\begin{pmatrix} + \vec\d\mat{A}_1 \\ \vdots \\ \vec\d\mat{A}_r + \end{pmatrix} + =\Span\mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_1\mat{\gamma}_1, \ldots, \mat{\Gamma}_r\mat{\gamma}_r] + =\Span\mat{P}_{\mat{A}} + \end{displaymath} + which concludes the proof. +\end{proof} + +\begin{proof}[\hypertarget{proof:asymptotic-normality-gmlm}{Proof of \cref{thm:asymptotic-normality-gmlm}}] + The proof consists of three parts. First, we show the existence of a consistent strong M-estimator by applying \cref{thm:M-estimator-consistency-on-subsets}. Next, we apply \cref{thm:M-estimator-asym-normal-on-manifolds} to obtain its asymptotic normality. We conclude by computing the missing parts of the asymtotic covariance matrix $\mat{\Sigma}_{\mat{\theta}_0}$ provided by \cref{thm:M-estimator-asym-normal-on-manifolds}. + + We check whether the conditions of \cref{thm:M-estimator-consistency-on-subsets} are satisfied. On $\Xi$, the mapping $\mat{\xi}\mapsto m_{\mat{\xi}}(z) = m_{\mat{\xi}}(\ten{X},y) = \langle \mat{F}(y)\mat{\xi}, \mat{t}(\ten{X}) \rangle - b(\mat{F}(y)\mat{\xi})$ is strictly concave for every $z$ because $\mat{\xi}\mapsto\mat{F}(y)\mat{\xi}$ is linear and $b$ is strictly convex by \cref{cond:differentiable-and-convex}. Since $\ten{X} \mid Y$ is distributed according to \eqref{eq:quad-density}, the function $M(\mat{\xi}) = \E m_{\mat{\xi}}(Z)$ is well defined by \cref{cond:moments}. Let $\mat{\xi}_k = (\vec{\overline{\ten{\eta}}_k}, \vec{\mat{B}_k}, \vech{\mat{\Omega}_k})$, and $f_{\mat{\xi}_k}$ be the pdf of $\ten{X} \mid Y$ indexed by $\mat{\xi}_k$, for $k = 1, 2$. If $\mat{\xi}_1\ne \mat{\xi}_2$, then $f_{\mat{\xi}_1} \neq f_{\mat{\xi}_2}$, which obtains that the true $\mat{\theta}_0$ is a unique maximizer of $\mat{\theta}_0\in\Theta\subseteq\Xi$ by applying Lemma~5.35 from \cite{vanderVaart1998}. Finally, under \cref{cond:finite-sup-on-compacta}, all assumptions of \cref{thm:M-estimator-consistency-on-subsets} are fulfilled yielding the existence of a consistent strong M-estimator over $\Theta\subseteq\Xi$. + + Next, let $\hat{\mat{\theta}}_n$ be a strong M-estimator on $\Theta\subseteq\Xi$, whose existence and consistency was shown in the previous step. Since $z\mapsto m_{\mat{\xi}}(z)$ is measurable for all $\mat{\xi}\in\Xi$, it is also measurable in a neighborhood of $\mat{\theta}_0$. The differentiability of $\mat{\theta}\mapsto m_{\mat{\theta}}(z)$ is stated in \cref{cond:differentiable-and-convex}. For the Lipschitz condition, let $K\subseteq\Xi$ be a compact neighborhood of $\mat{\theta}_0$, which exists since $\Xi$ is open. Then, + \begin{multline*} + \left| m_{\mat{\theta}_1}(z) - m_{\mat{\theta}_2}(z) \right| + = \left| \langle \mat{t}(\ten{X}), \mat{F}(y)(\mat{\theta}_1 - \mat{\theta}_2) \rangle - b(\mat{F}(z)\mat{\theta}_1) + b(\mat{F}(z)\mat{\theta}_2) \right| \\ + \leq (\| \t{\mat{F}(y)}\mat{t}(\ten{X}) \|_2 + \sup_{\mat{\theta}\in K}\| \nabla b(\mat{F}(y)\mat{\theta}) \mat{F}(y)\| ) \| \mat{\theta}_1 - \mat{\theta}_2 \|_2 + =: u(z)\| \mat{\theta}_1 - \mat{\theta}_2 \|_2 + \end{multline*} + with $u(z)$ being measurable and square integrable derives from \cref{cond:finite-sup-on-compacta}. The existence of a second-order Taylor expansion of $\mat{\theta}\mapsto M(\mat{\theta}) = \E m_{\mat{\theta}}(Z)$ in a neighborhood of $\mat{\theta}_0$ holds by \cref{cond:finite-sup-on-compacta}. Moreover, the Hessian $\mat{H}_{\mat{\theta}_0}$ is non-singular by the strict convexity of $b$ stated in \cref{cond:differentiable-and-convex}. Now, we can apply \cref{thm:M-estimator-asym-normal-on-manifolds} to obtain the asymptotic normality of $\sqrt{n}(\hat{\mat{\theta}}_n - \mat{\theta}_0)$ with variance-covariance structure + \begin{equation}\label{eq:asymptotic-covariance-gmlm} + \mat{\Sigma}_{\mat{\theta}_0} = \mat{\Pi}_{\mat{\theta}_0} \E[\nabla m_{\mat{\theta}_0}(Z)\t{(\nabla m_{\mat{\theta}_0}(Z))}]\mat{\Pi}_{\mat{\theta}_0} + \end{equation} + where $\mat{\Pi}_{\mat{\theta}_0} = \mat{P}_{\mat{\theta}_0}(\t{\mat{P}_{\mat{\theta}_0}}\mat{H}_{\mat{\theta}_0}\mat{P}_{\mat{\theta}_0})^{-1}\t{\mat{P}_{\mat{\theta}_0}}$ and $\mat{P}_{\mat{\theta}_0}$ is any $p\times \dim(\Theta)$ matrix such that it spans the tangent space of $\Theta$ at $\mat{\theta}_0$. That is, $\Span \mat{P}_{\mat{\theta}_0} = T_{\mat{\theta}_0}\Theta$. + + Finally, we compute a matrix $\mat{P}_{\mat{\theta}_0}$ such that $\Span{\mat{P}_{\mat{\theta}_0}} = T_{\mat{\theta}_0}\Theta$ for $\Theta = \mathbb{R}^p\times\manifold{K}_{\mat{B}}\times\vech(\manifold{K}_{\mat{\Omega}})$ as in \cref{thm:param-manifold}. Since the manifold $\Theta$ is a product manifold we get a block diagonal structure for $\mat{P}_{\mat{\theta}_0}$ as + \begin{displaymath} + \mat{P}_{\mat{\theta}_0} = \begin{pmatrix} + \mat{I}_p & 0 & 0 \\ + 0 & \mat{P}_{\mat{B}_0} & 0 \\ + 0 & 0 & \mat{P}_{\mat{\Omega}_0} + \end{pmatrix} + \end{displaymath} + where $\mat{I}_p$ is the identity matrix spanning the tangent space of $\mathbb{R}^p$, which is identified with $\mathbb{R}^p$ itself. The blocks $\mat{P}_{\mat{B}_0}$ and $\mat{P}_{\mat{\Omega}_0}$ need to span the tangent spaces of $\manifold{K}_{\mat{B}}$ and $\vech(\manifold{K}_{\mat{\Omega}})$, respectively. Both $\manifold{K}_{\mat{B}}$ and $\vech(\manifold{K}_{\mat{\Omega}})$ are manifolds according to \cref{thm:param-manifold}. The manifold $\vech(\manifold{K}_{\mat{\Omega}})$ is the image of $\manifold{K}_{\mat{\Omega}}$ under the linear map $\vech(\mat{\Omega}) = \pinv{\mat{D}_p}\vec{\mat{\Omega}}$ leading to the differential $\d\vech{\mat{\Omega}} = \pinv{\mat{D}_p}\vec{\d\mat{\Omega}}$. By applying \cref{thm:kron-manifold-tangent-space} for $\manifold{K}_{\mat{B}}$ and $\manifold{K}_{\mat{\Omega}}$ gives + \begin{align*} + \mat{P}_{\mat{B}_0} &= \mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_{\mat{\beta}_1}\mat{\gamma}_{\mat{\beta}_1}, \ldots, \mat{\Gamma}_{\mat{\beta}_r}\mat{\gamma}_{\mat{\beta}_r}], \\ + \mat{P}_{\mat{\Omega}_0} &= \pinv{\mat{D}_p}\mat{S}_{\mat{p}, \mat{p}}[\mat{\Gamma}_{\mat{\Omega}_1}\mat{\gamma}_{\mat{\Omega}_1}, \ldots, \mat{\Gamma}_{\mat{\Omega}_r}\mat{\gamma}_{\mat{\Omega}_r}] + \end{align*} + where the matrices $\mat{S}_{\mat{p}, \mat{q}}$, $\mat{\Gamma}_{\mat{\beta}_j}$, $\mat{\gamma}_{\mat{\beta}_j}$, $\mat{\Gamma}_{\mat{\Omega}_j}$ and $\mat{\gamma}_{\mat{\Omega}_j}$ are described in \cref{thm:kron-manifold-tangent-space} for the Kronecker manifolds $\manifold{K}_{\mat{B}}$ and $\manifold{K}_{\mat{\Omega}}$. Leading to + \begin{equation}\label{eq:param-manifold-span} + \mat{P}_{\mat{\theta}_0} = \begin{pmatrix} + \mat{I}_p & 0 & 0 \\ + 0 & \mat{S}_{\mat{p}, \mat{q}}[\mat{\Gamma}_{\mat{\beta}_1}\mat{\gamma}_{\mat{\beta}_1}, \ldots, \mat{\Gamma}_{\mat{\beta}_r}\mat{\gamma}_{\mat{\beta}_r}] & 0 \\ + 0 & 0 & \pinv{\mat{D}_p}\mat{S}_{\mat{p}, \mat{p}}[\mat{\Gamma}_{\mat{\Omega}_1}\mat{\gamma}_{\mat{\Omega}_1}, \ldots, \mat{\Gamma}_{\mat{\Omega}_r}\mat{\gamma}_{\mat{\Omega}_r}] + \end{pmatrix}. + \end{equation} +\end{proof} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Demonstration of the Advantages of Tensor Representations}\label{sec:GMLMvsVecEfficiency} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% Minor revision reviewer comment +% My concerns have been largely resolved. One minor point remains: +% +% I appreciate the authors’ clarification that the Kronecker-structured +% parameterization improves efficiency by exploiting the tensor structure. +% While the rationale is sound, readers would benefit from a brief numerical +% illustration--perhaps in the supplementary material--demonstrating empirical +% variance reduction or faster convergence relative to an unconstrained fit. +% Including a small, illustrative example would make the claimed efficiency gain +% more concrete and convincing. + +We illustrate the competitive advantage of tensor structure as compared with vector representation using a simple example. We generate standard normal responses $y_i$, for $i = 1, \ldots, n$. +For this simulation, we set the GMLM parameters $\overline{\ten{\eta}} = \mat{0}$, $\mat{\beta}_1 = \mat{\beta}_2 = \t{(-1, 1, -1, 1, \ldots)}\in\mathbb{R}^{\tilde{p}}$ to vectors of alternating signs, and $\mat{\Sigma}_1 = \mat{\Sigma}_2 = \mat{I}_{\tilde{p}}$ so that $\mat{\alpha}_j=\mat{\Sigma}_j^{-1}\mat{\beta}_j=\mat{\beta}_j$, $j=1,2$, and %the precision matrices +$\mat{\Omega}_1 = \mat{\Omega}_2 = \mat{I}_{\tilde{p}}$. Given $y_i$, we draw matrix-valued $\ten{X}_i$'s of dimension $p_1\times p_2$, where $p_1 = p_2 = \tilde{p}$ from +\begin{displaymath} + \ten{X}_i = \bar{\mat{\eta}} + \mat{\alpha}_1\ten{F}_{y_i}\t{\mat{\alpha}_2} + \mat{\epsilon}_i +\end{displaymath} +where $\ten{F}_{y_i}\equiv y_i$ is a $1\times 1$ matrix, $\vec{\mat{\epsilon}_i}\sim\mathcal{N}(\mat{0}, \mat{\Sigma}_2\otimes\mat{\Sigma}_1)$. That is, $\ten{X}\mid Y = y_i$ is matrix normal with parameters as specified above. + + +We compare four different estimators for the vectorized reduction matrix $\mat{B} = \mat{\beta}_2\otimes\mat{\beta}_1\in\mathbb{R}^{\tilde{p}^2}$. First, a linear model, which, in this scenario, is equivalent to the vectorized GMLM model if the sample size exceeds the dimensionality $\tilde{p}^2$ of the vectorized predictors $\vec(\ten{X})$. Second, our GMLM model applied to the vectorized predictors, which are distributed as multi-variate normal (tensor order $r = 1$) conditionally on $y$. Third, our GMLM model as designed for matrix-valued predictors (tensor order $r = 2$). Fourth, another GMLM model for matrix-valued predictors but now with a manifold constraint on the precision matrices $\mat{\Omega}_1, \mat{\Omega}_2$ to be scaled diagonal matrices. This means we let $\mat{\Omega}_1, \mat{\Omega}_2\in\{ a\mat{I}_{\tilde{p}} : 0 < a \}$, which is a one-dimensional matrix manifold from \cref{tab:matrix-manifolds}. We did not specify $a$ to be 1 to operate in a context where there is not enough information to uniquely resolve the scale. In the first two cases the reduction matrix estimate, $\hat{\mat{B}}$, is computed directly. In contrast, the matrix-valued GMLM models provide the mode-wise estimates $\hat{\mat{\beta}}_1, \hat{\mat{\beta}}_2$ which are then used to compute $\hat{\mat{B}} = \hat{\mat{\beta}}_2\otimes\hat{\mat{\beta}}_1$. + +For accuracy assessment we use the subspace distance $d(\mat{B}, \hat{\mat{B}})$ from \cref{sec:simulations} for comparison of the estimates $\hat{\mat{B}}$ versus the true reduction $\mat{B} = \mat{\beta}_2\otimes\mat{\beta}_1$ used for data generation. + +The simulation was carried out for different sample sizes $n = 100, 200, 300, 500, 750$ and increasing matrix row and column dimension $\tilde{p} = 2, 3, 4, 5, 6, 7, 9, 11, 13, 15, 18, 22, 27, 32$ of the predictors $\ten{X}$. The results are visualized in \cref{fig:GMLMvsVecEfficiency}, where we plot the mean $\pm$ one standard deviation of the subspace distance over 100 replicates. + +Both GMLM estimators perform uniformly better irrespective of $\tilde{p}$ that ranges from 2 to 32 in this simulation. Between these two, the constrained model, which is the closest to the true variance-covariance structure, practically reproduces the true model. Also, they both exhibit roughly the same accuracy, and in particular no deterioration, despite the increase in dimension $\tilde{p}$. + +The linear model performs as expected. It drastically deteriorates as the dimension increases. The yellow lines stop where the dimension $\tilde{p}^2$ exceeds the sample size $n$. Similarly, the GMLM applied to the vectorized matrix-valued $\ten{X}$ has identical performance as the plain vanilla linear model up to the point that the regularization kicks in, as described in \cref{sec:tensor-normal-estimation}. For example, for $n=750$, the performance of the two models is identical up to $\tilde{p}=18$ and then it improves till it hits its floor. The latter will nevertheless always exceed the corresponding accuracy of either tensor versions of the GMLM model, with and without the constraint. + +The accuracy is monotone increasing as a function of the sample size across all four models. That is, the closer the lines are to the $x$-axis the higher the sample size is across $\tilde{p}$. The only exception can be seen in the GMLM applied to the vectorized predictors (red lines) in the transition phase of GMLM using regularization to deal with $\tilde{p}^2 > n$. + +\begin{figure} + \centering + \caption{\label{fig:GMLMvsVecEfficiency}Accuracy Gain: Tensor-valued versus Vectorized Predictors} + \includegraphics[width = \textwidth]{plots/sim_efficiency.pdf} +\end{figure} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Investigation and Comparison of GMLM versus TSIR}\label{sec:GMLMvsTSIR} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +TSIR suffers substantial loss in predictive accuracy in the full 2D EEG data (see \cref{tab:eeg}) as compared to the lower dimensional setting of pre-processed $\ten{X}$. Compelling evidence suggests that this is due to TSIR not directly estimating the mode-wise reduction matrices $\mat{\beta}_j$: It estimates the mode-wise covariances $\mat{\Sigma}_j$ and mode-wise reduction matrices $\mat{\Gamma}_j$ for standardized observations and sets $\widehat{\mat{\beta}}_j = \widehat{\mat{\Sigma}}_j^{-1}\widehat{\mat{\Gamma}}_j$. The estimation accuracy of the $\widehat{\mat{\beta}}_j$s depends on both $\widehat{\mat{\Sigma}}_j$ and $\widehat{\mat{\Gamma}}_j$. Specifically, as the dimensions increase, the mode-wise covariances are ill-conditioned, leading to massive errors in the estimation accuracy of the reduction matrices $\widehat{\mat{\beta}}_j$. + +\begin{figure} + \centering + \caption{\label{fig:TSIRvsGMLM}TSIR in red vs. GMLM in black} + \includegraphics[width = \textwidth]{plots/tsir_eeg_2d_bad_perf.pdf} +\end{figure} + +To observe this in practice, we took the full 2D EEG data (only the S1 stimulus) and computed $\widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_1, \widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_2$, $\widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_1, \widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_2$ from which we computed the reductions $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_1$ and $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_2$. For comparison, we used GMLM to estimate the reduction matrices $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_2$ and the scatter matrices $\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_2$. We also computed the GMLM analog of the standardized reductions $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_1 = (\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_1)^{-1}\widehat{\mat{\beta}}_1^{\mathrm{GMLM}}$ and $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_2 = (\widehat{\mat{\Omega}}^{\mathrm{GMLM}}_2)^{-1}\widehat{\mat{\beta}}_2^{\mathrm{GMLM}}$. We next plotted in \cref{fig:TSIRvsGMLM} the estimated reductions $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\beta}}^{\mathrm{GMLM}}_2$, $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_1$, $\widehat{\mat{\Gamma}}^{\mathrm{GMLM}}_2$ in black and $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_1$, $\widehat{\mat{\beta}}^{\mathrm{TSIR}}_2$, $\widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_1$, $\widehat{\mat{\Gamma}}^{\mathrm{TSIR}}_2$ in red (with appropriate scaling). Since the estimates of the reductions $\widehat{\mat{\beta}}_j$'s are completely different between GMLM and TSIR but the estimates of the standardized reductions $\mat{\Gamma}_j$'s agree to a high degree, we conclude that the loss of estimation accuracy happens in the final calculations that %That is in computing the estimates of the reductions $\mat{\beta}_j = \mat{\Sigma}_j^{-1}\mat{\Gamma}$, which +involve the inversion of the severely ill-conditioned mode-wise estimated covariances $\widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_1$ and $\widehat{\mat{\Sigma}}^{\mathrm{TSIR}}_2$. + +To check whether our conjecture holds, we introduced a regularization term similar to the regularization employed in GMLM to the mode-wise sample covariances $\mat{\Sigma}_j$ in TSIR. As can be seen in \cref{fig:TSIRregvsGMLM}, this produced roughly the same reductions $\widehat{\mat{\beta}}_j$ as well as the $\widehat{\mat{\Gamma}}_j$. + +\begin{figure} +\caption{TSIR (reg) in red vs. GMLM in black} +\label{fig:TSIRregvsGMLM} + \includegraphics[width = \textwidth]{plots/tsir_regularized.pdf} +\end{figure} + +To further study the relationship between GMLM and TSIR, we first consider a setting in which GMLM and TSIR are theoretically equivalent. We assume that $Y$ is categorical, $\ten{X}\mid Y = y$ is multi-linear normal and the reduction $\ten{R}(\ten{X})$ is one-dimensional. Additionally, $\mat{\Omega}_j$ is assumed to be positive definite but \emph{not} further constrained. Under these assumptions, GMLM and TSIR are equivalent since %Even though GMLM minimizes the log-likelihood and TSIR minimizes a squared error loss, +the theoretical mode-wise reduction matrices minimizing the log-likelihood (GMLM's objective) and the squared error loss (TSIR's objective) are theoretically identical. + +In practice though, even in this simplest of settings, both procedures do not agree fully in their estimates. This is based on multiple different factors. +\begin{enumerate} + \item Both procedures use different parameterizations. The reduction matrices $\mat{\beta}_j$ are parameters in GMLM in contrast to TSIR. As a result, TSIR first estimates its parameters $\mat{\Gamma}_j$ and mode-wise covariances $\mat{\Sigma}_j$ (corresponding to the marginal mode-wise covariances $\cov(\ten{X}_{(j)}$) and then estimates $\mat{\beta}_j$ with $\widehat{\mat{\beta}}_j =\widehat{\mat{\Sigma}}_j^{-1}\widehat{\mat{\Gamma}}_j$. This ``two-step'' approach induces accumulation of estimation errors. Moreover, if any $\widehat{\mat{\Sigma}}_j$ is ill-conditioned, the resulting $\widehat{\mat{\beta}}_j$ is very unstable. In contrast, GMLM incorporates the reductions $\mat{\beta}_j$ directly into the model and estimates both $\mat{\beta}_j$ and $\mat{\Omega}_j$ at the same time, so that the estimation error in $\mat{\Omega}_j$ does \emph{not} affect the reductions. %But, in contrast to TSIR, GMLM does estimate both $\mat{\beta}_j$ and $\mat{\Omega}_j$ at the same time, linking the estimation accuracy of both in a different way. + This is due to GMLM's mode-wise scatter matrices $\mat{\Omega}_j$ are estimated from the inverse regression residuals (corresponding to $(\E\cov(\ten{X}_{(j)}\mid Y))^{-1}$). + + \item The original version of TSIR \cite[]{DingCook2015} does \emph{not} incorporate any regularization. We introduced regularization to TSIR leading to the TSIR (reg) procedure by simply adding $0.2\lambda_1(\mat{\Sigma}_j)\mat{I}_{p_j}$ to $\mat{\Sigma}_j$ if and only if the condition number of $\mat{\Sigma}_j$ exceeds an arbitrary threshold of $25$, similar to the regularization used in GMLM. Without this regularization, TSIR can fail dramatically. + %in the final computation $\mat{\beta}_j = \mat{\Sigma}_j^{-1}\mat{\Gamma}_j$, which is the reason for the drop in AUC in \cref{tab:eeg} for TSIR in contrast to TSIR (reg). + In comparison, GMLM behaves more stable in regard to estimating the reductions $\mat{\beta}_j$ even without regularization. At the same time, the need for regularization is more pronounced in GMLM. This means that even in well behaved settings, the estimation algorithm for GMLM does rely on its regularization to guard against divergence in the iterative estimation procedure. In summary, without regularization, TSIR may encounter complete breakdown without regularization while GMLM has worse average performance (not directly reported since the regularization in GMLM is the default for the multi-linear normal algorithm, applied only in a subset of iterations). +\end{enumerate} + +If the response $Y$ is a univariate continuous variable, then GMLM and TSIR are no longer equivalent (from a theoretical point of view.) + +\begin{enumerate}\setcounter{enumi}{2} + \item TSIR performs slicing of the continuous response $y$ which misses fine-grained information. GMLM does not have this restriction, being able to directly work with the continuous response. This is the main reason for the slight performance gain of GMLM over TSIR in the simulations of \cref{sec:sim-tensor-normal} (due to the small dimensionality of the simulations, regularization for TSIR is not needed while GMLM applies regularization during its iterative estimation procedure for algorithmic stability only. Meaning, the final GMLM estimates are also almost never regularized). + \item Another major difference between GMLM and TSIR is the tensor-valued function $\ten{F}_y$ of the response, which makes GMLM much more general than TSIR. If $\ten{F}_y$ is the fraction of observations in a slice, TSIR is in effect a special case of GMLM. %During the modeling process of GMLM we introduced .% $y$. + %This was assumed as a \emph{known} function of $y$, which in practice is subject to modeling. This is another major difference between GMLM and TSIR, manifesting in two parts. + + For general $\ten{F}_y\in\mathbb{R}^{q_1\times\ldots q_r}$, its dimension, $q = \prod_{j = 1}^r q_j$, inherently constrains the dimension of the reduction in \cref{thm:sdr}. TSIR also requires to provide a per-mode reduction dimension $\tilde{q}_j$ which leads to a final reduction of dimensionality $\tilde{q} = \prod_{j = 1}^r \tilde{q}_j$, but without a link to an explicitly provided function. This makes the specification of the reduction dimension simpler, while being equality constraint from a number theoretic divisibility point of view. + +\end{enumerate} + +\noindent So far, we required no additional constraints on the model parameters. + +\begin{enumerate}\setcounter{enumi}{4} + \item Given additional information about the regression at hand, one might want to incorporate that knowledge into the method. For example, for longitudinal data, the time dimension may be modeled as an AR process. GMLM allows (under the conditions outlined in \cref{sec:manifolds}) such modeling by describing the corresponding parameter manifolds of the covariances or the reductions themselves, a functionality \emph{not} available in TSIR. +\end{enumerate} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Parameter estimation for the Multi-Linear Ising model}\label{sec:ising-param-estimation} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Initial Values} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +The first step is to get reasonable starting values. Experiments showed that a good starting value of $\mat{\beta}_k$ is to use the multi-linear normal estimates from \cref{sec:tensor-normal-estimation} for $k = 1, \ldots, r$, considering $\ten{X}_i$ as continuous. For initial values of $\mat{\Omega}_k$, a different approach is required. Setting everything to the uninformative initial value results in $\mat{\Omega}_k = \mat{0}$ as this corresponds to the conditional log odds to be $1:1$ for every component and pairwise interaction. This is not possible, since $\mat{0}$ is a stationary point of the log-likelihood, as can be directly observed by considering the partial gradients of the log-likelihood in \cref{thm:grad}. Instead, we use a crude heuristic that threads every mode separately and ignores any relation to the covariates. It is computationally cheap and better than any of the alternatives we considered. For every $k = 1, \ldots, r$, let the $k$th mode second moment estimate be +\begin{equation}\label{eq:ising-mode-moments} + \hat{\mat{M}}_{2(k)} = \frac{p_k}{n p}\sum_{i = 1}^n (\ten{X}_i)_{(k)}\t{(\ten{X}_i)_{(k)}} +\end{equation} +which contains the $k$th mode first moment estimate in its diagonal $\hat{\mat{M}}_{1(k)} = \diag\hat{\mat{M}}_{2(k)}$. + +For the purpose of an initial value estimate, we threat each of the columns of the matricized observation $(\ten{X}_i)_{(k)}$ as an i.i.d. observation of a $p_k$ dimensional random variable $Z_k$. Through this reasoning we get with $n$ i.i.d. observations $\ten{X}_i$ a total of $n \prod_{j\neq k}p_j$ realizations of the random variable $Z_k$ for each of the modes $k = 1, \ldots, r$. + +Continuing this reasoning, the elements of $(\hat{\mat{M}}_{1(k)})_{j}$ are the estimates of the marginal probability $P((Z_k)_j = 1)$ of the $j$th element of $Z_k$ being $1$. Similarly, for $l \neq j$, the entry $(\hat{\mat{M}}_{2(k)})_{j l}$ estimates the marginal probability of two-way interactions, $P((Z_k)_j = 1, (Z_k)_l = 1)$. Now, we set the diagonal elements of $\mat{\Omega}_k$ to zero. For the off diagonal elements of $\mat{\Omega}_k$, we equate the conditional probabilities $P((Z_k)_j = 1 \mid (Z_k)_{-j} = \mat{0})$ and $P((Z_k)_j = 1, (Z_k)_l = 1\mid (Z_k)_{-j, -l} = \mat{0})$ with the marginal probability estimates $(\hat{\mat{M}}_{1(k)})_{j}$ and $(\hat{\mat{M}}_{2(k)})_{j l}$, respectively. Applying \eqref{eq:ising-two-way-log-odds} gives the initial component-wise estimates $\hat{\mat{\Omega}}_k^{(0)}$, +\begin{equation}\label{eq:ising-init-Omegas} + (\hat{\mat{\Omega}}_k^{(0)})_{j j} = 0, + \qquad + (\hat{\mat{\Omega}}_k^{(0)})_{j l} = \log\frac{1 - (\hat{\mat{M}}_{1(k)})_{j}(\hat{\mat{M}}_{1(k)})_{l}}{(\hat{\mat{M}}_{1(k)})_{j}(\hat{\mat{M}}_{1(k)})_{l}}\frac{(\hat{\mat{M}}_{2(k)})_{j l}}{1 - (\hat{\mat{M}}_{2(k)})_{j l}}, \, j \neq l. +\end{equation} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Gradient Optimization} +Given initial values, the gradients derived in \cref{thm:grad} can be evaluated for the Ising model. The first step therefore is to determine the values of the inverse link components $\ten{g}_1(\mat{\gamma}_y) = \E[\ten{X} \mid Y = y]$ and $\ten{G}_2(\mat{\gamma}_y) = \ten{g}_2(\mat{\gamma}_y) = \E[\ten{X}\circ\ten{X} \mid Y = y]$. An immediate simplification is that the first moment is part of the second moment. Its values are determined via $\vec(\E[\ten{X} \mid Y = y]) = \diag(\E[\ten{X}\circ\ten{X} \mid Y = y]_{(1, \ldots, r)})$; i.e., only the second moment needs to be computed, or estimated (see \cref{sec:ising-bigger-dim}) in the case of slightly bigger $p$. For the Ising model, the conditional second moment with parameters $\mat{\gamma}_y$ is given by the matricized relation +\begin{equation}\label{eq:ising-m2} + \ten{g}_2(\ten{\gamma}_y)_{(1, \ldots, r)} = \E\left[(\vec{\ten{X}})\t{(\vec{\ten{X}})}\mid Y = y\right] = p_0(\mat{\gamma}_y)\sum_{\mat{x}\in\{0, 1\}^{p}}\mat{x}\t{\mat{x}}\exp(\t{\vech(\mat{x}\t{\mat{x}})}\mat{\gamma}_y). +\end{equation} +The natural parameter $\mat{\gamma}_y$ is evaluated via \eqref{eq:ising-natural-params} enabling us to compute the partial gradients of the log-likelihood $l_n$ \eqref{eq:log-likelihood} for the Ising model by \cref{thm:grad} for the GMLM parameters $\mat{\beta}_k$ and $\mat{\Omega}_k$, $k = 1, \ldots, r$, at the current iterate $\mat{\theta}^{(I)} = (\mat{\beta}_1^{(I)}, \ldots, \mat{\beta}_r^{(I)}, \mat{\Omega}_1^{(I)}, \ldots, \mat{\Omega}_r^{(I)})$. Using classic gradient ascent for maximizing the log-likelihood, we have to specify a learning rate $\lambda\in\mathbb{R}_{+}$, usually a value close to $10^{-3}$. The update rule is +\begin{displaymath} + \mat{\theta}^{(I + 1)} = \mat{\theta}^{(I)} + \lambda\nabla_{\mat{\theta}} l_n(\mat{\theta})\bigr|_{\mat{\theta} = \mat{\theta}^{(I)}}, +\end{displaymath} +which is iterated till convergence. In practice, iteration is performed until either a maximum number of iterations is exhausted and/or some break condition is satisfied. A proper choice of the learning rate is needed as a large learning rate $\lambda$ may cause instability, while a very low learning rate requires an enormous amount of iterations. Generically, there are two approaches to avoid the need to determine a proper learning rate. First, \emph{line search methods} determine an appropriate step size for every iteration. This works well if the evaluation of the object function (the log-likelihood) is cheap. This is not the case in our setting, see \cref{sec:ising-bigger-dim}. The second approach is an \emph{adaptive learning rate}, where one tracks specific statistics while optimizing and dynamically adapting the learning rate via well-tested heuristics using the gathered knowledge from past iterations. We opted to use an adaptive learning rate approach, which not only removes the need to determine an appropriate learning rate but also accelerates learning. + +Our method of choice is \emph{root mean squared propagation} (RMSprop) \cite[]{Hinton2012}. This is a well-known method in machine learning for training neural networks. It is a variation of gradient descent with a per scalar parameter adaptive learning rate. It tracks a moving average of the element-wise squared gradient $\mat{g}_2^{(I)}$, which is then used to scale (element-wise) the gradient in the update rule (see \cite{Hinton2012} and \cite{GoodfellowEtAl2016} among others). The update rule using RMSprop for maximization\footnote{Instead of the more common minimization, therefore $+$ in the update of $\mat{\theta}$.} is +\begin{align*} + \mat{g}_2^{(I + 1)} &= \nu \mat{g}_2^{(I)} + (1 - \nu)\nabla l_n(\mat{\theta}^{(I)})\odot\nabla l_n(\mat{\theta}^{(I)}), \\ + \mat{\theta}^{(I + 1)} &= \mat{\theta}^{(I)} + \frac{\lambda}{\sqrt{\mat{g}_2^{(I + 1)}} + \epsilon}\odot\nabla l_n(\mat{\theta}^{(I)}). +\end{align*} +The parameters $\nu = 0.9$, $\lambda = 10^{-3}$ and $\epsilon\approx 1.49\cdot 10^{-8}$ are fixed. The initial value of $\mat{g}_2^{(0)} = \mat{0}$, where the symbol $\odot$ denotes the Hadamard product, or element-wise multiplication. The division and square root operations are performed element-wise as well. According to our experiments, RMSprop requires iterations in the range of $50$ till $1000$ till convergence while gradient ascent with a learning rate of $10^{-3}$ is in the range of $1000$ till $10000$. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Small Data Sets}\label{sec:ising-small-data-sets} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +In the case of a finite number of observations, specifically in data sets with a small number of observations $n$, the situation where one component is always either zero or one can occur. It is also possible to observe two exclusive components. In practice, this situation of a ``degenerate'' data set should be protected against. Working with parameters on a log scale, gives estimates of $\pm\infty$, which is outside the parameter space and breaks our optimization algorithm. + +The first situation where this needs to be addressed is in \eqref{eq:ising-init-Omegas}, where we set initial estimates for $\mat{\Omega}_k$. To avoid division by zero as well as evaluating the log of zero, we adapt \eqref{eq:ising-mode-moments}, the mode-wise moment estimates $\hat{\mat{M}}_{2(k)}$. A simple method is to replace the ``degenerate'' components, that are entries with value $0$ or $1$, with the smallest positive estimate of exactly one occurrence $p_k / n p$, or all but one occurrence $1 - p_k / n p$, respectively. + +The same problem is present in gradient optimization. Therefore, before starting the optimization, we detect degenerate combinations. We compute upper and lower bounds for the ``degenerate'' element in the Kronecker product $\hat{\mat{\Omega}} = \bigkron_{k = r}^{1}\hat{\mat{\Omega}}_k$. After every gradient update, we check if any of the ``degenerate'' elements fall outside of the bounds. In that case, we adjust all the elements of the Kronecker component estimates $\hat{\mat{\Omega}}_k$, corresponding to the ``degenerate'' element of their Kronecker product, to fall inside the precomputed bounds. While doing so, we try to alter every component as little as possible to ensure that the non-degenerate elements in $\hat{\mat{\Omega}}$, affected by this change due to its Kronecker structure, are altered as little as possible. The exact details are technically cumbersome while providing little insight. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Slightly Bigger Dimensions}\label{sec:ising-bigger-dim} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +A big challenge for the Ising model is its high computational complexity as it involves summing over all binary vectors of length $p = \prod_{k = 1}^{r}p_k$ in the partition function \eqref{eq:ising-partition-function}. Exact computation of the partition function requires summing all $2^p$ binary vectors. For small dimensions, say $p\approx 10$, this is easily computed. Increasing the dimension beyond $20$ becomes extremely expensive and impossible for a dimension bigger than $30$. Trying to avoid the evaluation of the log-likelihood and only computing its partial gradients via \cref{thm:grad} does not resolve the issue. The gradients require the inverse link, that is the second moment \eqref{eq:ising-m2}, which still involves summing $2^p$ terms if the scaling factor $p_0$ is dropped. Basically, with our model, this means that the optimization of the Ising model using exactly computed gradients is impossible for moderately sized problems. + +When $p=\prod_{i=1}^r p_i > 20$, we use a Monte-Carlo method to estimate the second moment \eqref{eq:ising-m2}, required to compute the partial gradients of the log-likelihood. Specifically, we use a Gibbs-Sampler to sample from the conditional distribution and approximate the second moment in an importance sampling framework. This can be implemented quite efficiently and the estimation accuracy for the second moment is evaluated experimentally. Simultaneously, we use the same approach to estimate the partition function. This, though, is inaccurate and may only be used to get a rough idea of the log-likelihood. Regardless, for our method, we only need the gradient for optimization where appropriate break conditions, not based on the likelihood, lead to a working method for MLE estimation. + +\begin{figure}[!hpt] + \centering + \includegraphics[width=0.5\textwidth]{plots/sim-ising-perft-m2.pdf} + \caption{\label{fig:ising-m2-perft}Performance test for computing/estimating the second moment of the Ising model of dimension $p$ using either the exact method or a Monte-Carlo (MC) simulation.} +\end{figure} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Chess}\label{sec:chess} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +We provide a \emph{proof of concept} analysis of chess positions based on the Ising GMLM model where we build a mixture of matrix Ising models. Our modeling is based on analyzed games to build a sufficient reduction for winning positions. + +The data set is provided by the \emph{lichess.org open database}.\footnote{\emph{lichess.org open database}. visited on December 8, 2023. \url{https://database.lichess.org}} We randomly selected the November of 2023 data that consist of more than $92$ million games. We removed all games without position evaluations. The evaluations, also denoted as scores, are from Stockfish,\footnote{The Stockfish developers [see \href{https://github.com/official-stockfish/Stockfish/blob/master/AUTHORS}{AUTHORS} file] (since 2008). \textit{Stockfish}. Stockfish is a free and strong UCI chess engine. \url{https://stockfishchess.org}} a free and strong chess engine. The scores take the role of the response $Y$ and correspond to a winning probability from the white pieces' point of view. Positive scores are good for white and negative scores indicate an advantage for black pieces. We ignore all highly unbalanced positions, which we set to be positions with absolute score above $5$. We also remove all positions with a mate score (one side can force checkmate). Furthermore, we only consider positions after $10$ half-moves to avoid oversampling the beginning of the most common openings including the start position which is in every game. Finally, we only consider positions with white to move. This leads to a final data set of roughly $64$ million positions, including duplicates. We did not filter according to the players strength nor the time control of the game. This means that our data set contains games from very weak to very strong players as well as very fast games, like Bullet, to classic chess. + +A chess position is encoded as a set of $12$ binary matrices $\ten{X}_{\mathrm{piece}}$ of dimensions $8\times 8$. Every binary matrix encodes the positioning of a particular piece by containing a $1$ if the piece is present at the corresponding board position. The $12$ pieces derive from the $6$ types of pieces, namely pawns (\pawn), knights (\knight), bishops (\bishop), rooks (\rook), queens (\queen), and kings (\king) of two colors, black and white. See \cref{fig:fen2tensor} for a visualization. + +\begin{figure}[!hpt] + \centering + \includegraphics[scale=0.8]{images/fen2tensor.pdf}\caption{\label{fig:fen2tensor}The chess start position and its 3D binary tensor representation, empty entries are $0$.} +\end{figure} + +We assume that $\ten{X}_{\mathrm{piece}}\mid Y = y$ follows an Ising GMLM model as in \cref{sec:ising_estimation} with different conditional piece predictors being independent. %The independence assumption is for the sake of simplicity even though this is not the case in the underlying true distribution. +The simplifying assumption of independence results in a mixture model with log-likelihood +\begin{displaymath} + l_n(\mat{\theta}) = \frac{1}{12}\sum_{\mathrm{piece}}l_n(\mat{\theta}_{\mathrm{piece}}) +\end{displaymath} +where $l_n(\mat{\theta}_{\mathrm{piece}})$ is the Ising GMLM log-likelihood as in \cref{sec:ising_estimation} for $\ten{X}_{\mathrm{piece}}\mid Y = y$. For every component the same relation to the scores $y$ is modeled via a $2\times 2$ dimensional matrix-valued function $\ten{F}_y$ consisting of the monomials $1, y, y^2$, specifically $(\ten{F}_y)_{i j} = y^{i + j - 2}$. + +Due to the volume of the data (millions of observations), it is computationally infeasible to compute the gradients on the entire data set. %Simply using a computationally manageable subset is not an option. +The dimension of the binary data is $12$ times a $8\times 8 =768$ for every observation. %The main issue is that a manageable subset, say one million observations, still leads to a degenerate data set. In our simplified mixture model, the pawns are a specific issue as there are multiple millions of different combinations of the $8$ pawns per color on the $6\times 8$ sub-grid where the pawns can be positioned. This alone does not allow us to take a reasonable sized subset for estimation. +The solution is to switch from a classic gradient-based optimization to a stochastic version; that is, every gradient update uses a new random subset of the entire data set. We draw independent random samples from the data consisting of $64$ million positions. The independence of samples is derived from the independence of games, and every sample is drawn from a different game. + +\subsection{Validation} +Given the non-linear nature of the reduction, due to the quadratic matrix-valued function $\ten{F}_y$ of the score $y$, we use a \emph{generalized additive model}\footnote{using the function \texttt{gam()} from the \texttt{R} package \texttt{mgcv}.} (GAM) to predict position scores from reduced positions. The reduced positions are $48$ dimensional continuous values by combining the $12$ mixture components from the $2\times 2$ matrix-valued reductions per piece. The per-piece reduction is +\begin{displaymath} + \ten{R}(\ten{X}_{\mathrm{piece}}) = \mat{\beta}_{1,\mathrm{piece}}(\ten{X}_{\mathrm{piece}} - \E\ten{X}_{\mathrm{piece}})\t{\mat{\beta}_{2, \mathrm{piece}}} +\end{displaymath} +which gives the complete $48$ dimensional vectorized reduction by stacking the piece-wise reductions +\begin{displaymath} + \vec{\ten{R}(\ten{X}}) + = (\vec{\ten{R}(\ten{X}_{\text{white pawn}})}, \ldots, \vec{\ten{R}(\ten{X}_{\text{black king}})}) + = \t{\mat{B}}\vec(\ten{X} - \E\ten{X}). +\end{displaymath} +The second line encodes all the piece-wise reductions in a block diagonal full reduction matrix $\mat{B}$ of dimension $768\times 48$ which is applied to the vectorized 3D tensor $\ten{X}$ combining all the piece components $\ten{X}_{\mathrm{piece}}$ into a single tensor of dimension $8\times 8\times 12$. This is a reduction to $6.25\%$ of the original dimension. The $R^2$ statistic of the GAM fitted on $10^5$ new reduced samples is $R^2_{\mathrm{gam}}\approx 46\%$. A linear model on the reduced data achieves $R^2_{\mathrm{lm}}\approx 26\%$ which clearly shows the non-linear relation. On the other hand, the static evaluation of the \emph{Schach H\"ornchen}\footnote{Main author's chess engine.} engine, given the full position (\emph{not} reduced), achieves an $R^2_{\mathrm{hce}}\approx 52\%$. The $42\%$ are reasonably well compared to $51\%$ of the engine static evaluation which gets the original position and uses chess specific expert knowledge. Features the static evaluation includes, which are expected to be learned by the GMLM mixture model, are the \emph{material} (piece values) and \emph{piece square tables} (PSQT, preferred piece type positions). In addition, the static evaluation includes chess specific features like \emph{king safety}, \emph{pawn structure}, or \emph{rooks on open files}. This lets us conclude that the reduction captures most of the relevant features possible, given the oversimplified modeling we performed. + +\subsection{Interpretation} +For a compact interpretation of the estimated reduction we construct PSQTs. To do so we use the linear model from the validation section. Then, we rewrite the combined linear reduction and linear model in terms of PSQTs. Due to the nature of our analysis, it does not provide the usual PSQT interpreted as the square where a piece is most powerful, but instead that the presence of a piece on a particular square is indicative of a winning position. Those two are different in the sense that the first indicates the potential of a piece on a particular square while the second also incorporates the cases where this potential was already used, resulting in a winning position (often due to an oversight of the opponent). + +Let $\mat{B}$ be the $768\times 48$ full vectorized linear reduction. This is the block diagonal matrix with the $64\times 4$ dimensional per piece reductions $\mat{B}_{\mathrm{piece}} = \mat{\beta}^{\mathrm{piece}}_2\otimes\mat{\beta}^{\mathrm{piece}}_1$. Then, the linear model with coefficients $\mat{b}$ and intercept $a$ on the reduced data is given by +\begin{equation}\label{eq:chess-lm} + y = a + \t{\mat{b}}\t{\mat{B}}\vec(\ten{X} - \E\ten{X}) + \epsilon +\end{equation} +with an unknown mean zero error term $\epsilon$ and treating the binary tensor $\ten{X}$ as continuous. Decomposing the linear model coefficients into blocks of $4$ gives per piece coefficients $\mat{b}_{\mathrm{piece}}$ which combine with the diagonal blocks $\mat{B}_{\mathrm{piece}}$ of $\mat{B}$ only. Rewriting \eqref{eq:chess-lm} gives +\begin{align*} + y &= a + \sum_{\mathrm{piece}}\t{(\mat{B}_{\mathrm{piece}}\mat{b}_{\mathrm{piece}})}\vec(\ten{X}_{\mathrm{piece}} - \E\ten{X}_{\mathrm{piece}}) + \epsilon \\ + &= \tilde{a} + \sum_{\mathrm{piece}}\langle + \mat{B}_{\mathrm{piece}}\mat{b}_{\mathrm{piece}}, + \vec(\ten{X}_{\mathrm{piece}}) + \rangle + \epsilon +\end{align*} +with a new intercept term $\tilde{a}$, which is of no interest to us. Finally, we enforce color symmetry, using known mechanisms from chess engines. Specifically, mirroring the position changes the sign of the score $y$. Here, mirroring reverses the rank (row) order, this is the image in a mirror behind a chess board. Let every $\mat{C}_{\mathrm{piece}}$ be a $8\times 8$ matrix with elements $(\mat{C}_{\mathrm{piece}})_{i j} = (\mat{B}_{\mathrm{piece}}\mat{b}_{\mathrm{piece}})_{i + 8 (j - 1)}$. And denote with $\mat{M}(\mat{A})$ the matrix mirror operation which reverses the row order of a matrix. +The new notation allows to enforce the symmetry, resulting in an approximate linear relationship. +\begin{align*} + y &= \tilde{a} + \sum_{\mathrm{piece}}\langle + \mat{C}_{\mathrm{piece}}, + \ten{X}_{\mathrm{piece}} + \rangle + \epsilon \\ + &\approx \tilde{a} + \sum_{\text{piece type}}\frac{1}{2}\langle + \mat{C}_{\text{white piece}} - \mat{M}(\mat{C}_{\text{black piece}}), + \ten{X}_{\text{white piece}} - \mat{M}(\ten{X}_{\text{white piece}}) + \rangle + \epsilon +\end{align*} +If $\mat{C}_{\text{white piece}} = -\mat{M}(\mat{C}_{\text{black piece}})$ for every piece type, then we have equality ($6$ types, \emph{not} distinguishing between color.) In our case, this is valid given that the estimates $\hat{\mat{C}}_{\mathrm{piece}}$ fulfill this property with a small error. The $6$ matrices $(\mat{C}_{\text{white piece}} - \mat{M}(\mat{C}_{\text{black piece}})) / 2$ are called \emph{piece square tables} (PSQT) which are visualized in \cref{fig:psqt}. The interpretation of those tables is straightforward. A high positive value (blue) means that it is usually good to have a piece of the corresponding type on that square while a high negative value (red) means the opposite. It needs to be considered that the PSQTs are for quiet positions only, which means all pieces are save in the sense that there is no legal capturing moves nor is the king in check. + +\begin{figure}[t] + \centering + %\includegraphics[width = \textwidth]{plots/psqt.pdf} + \includegraphics[scale=0.8]{plots/psqt.pdf} + \caption{\label{fig:psqt}Extracted PSQTs (piece square tables) from the chess example GMLM reduction.} +\end{figure} + +The first visual effect in \cref{fig:psqt} is the dark blue PSQT of the Queen followed by a not-so-dark Rook PSQT. This indicates that the Queen, followed by the Rook, are the most valuable pieces (after the king which is the most valuable, which also implies that assigning value to the king makes no sense). The next two are the Knight and Bishop which have higher value than the Pawns, ignoring the $6$th and $7$th rank as this makes the pawns potential queens. This is the classic piece value order known in chess. + +Next, going over the PSQTs one by one, a few words about the preferred positions for every piece type. The pawn positions are specifically good on the $6$th and especially on the $7$th rank as this threatens a promotion to a Queen (or Knight, Bishop, Rook). The Knight PSQT is a bit surprising, the most likely explanation for the knight being good in the enemy territory is that it got there by capturing an enemy piece for free. A common occurrence in low-rated games is a big chunk of the training data, ranging over all levels. The Bishops seem to have no specific preferred placement, only a slightly higher overall value than pawns, excluding pawns imminent for a promotion. Continuing with the rooks, we see that the rook is a good attacking piece, indicated by a save rook infiltration\footnote{Rook infiltration is a strategic concept in chess that involves skillfully maneuvering your rook to penetrate deep into your opponent's territory.}. It is well known chess knowledge that the Rook is most powerful on the 7th rank, but this is different from our analysis as this is related to the potential of a Rook in contrast to the position of a Rook in a winning position over all states of the game. The Queen is powerful almost everywhere, only the outer back rank squares (lower left and right) tend to reduce her value. This is rooted in the queen's presence there being a sign for being chased by enemy pieces. Leading to a lot of squares being controlled by the enemy hindering one own movement. Finally, given the goal of the game is to checkmate the king, a safe position for the king is very valuable. This is seen by the back rank (rank $1$) being the only non-penalized squares. Furthermore, the safest squares are the castling\footnote{Castling is a maneuver that combines king safety with rook activation.} target squares ($g1$ and $c1$) as well as the $b1$ square. Shifting the king over to $b1$ is quite common to protect the $a2$ pawn so that the entire pawn shield in front of the king is protected. + +The results of our analysis above agree with the configuration of the chess board most associated with observed chess game outcomes. This analysis also aligns with the understanding of human chess players of an average configuration at any moment during the game when considering the different interpretation of being in a winning position in contrast to the power of a piece on a specific square. Moreover, our analysis was performed over a wide range of player skill levels while disregarding if a position is in the middle or end game. + +\end{appendix} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Support information, if any, %% +%% should be provided in the %% +%% Acknowledgements section. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\begin{acks}[Acknowledgments] +%The authors would like to thank the anonymous referees, an Associate Editor and the Editor for their constructive comments that improved the quality of this paper. +%\end{acks} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Funding information, if any, %% +%% should be provided in the %% +%% funding section. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \begin{funding} +% Both authors were partially supported by the Vienna Science and Technology Fund (WWTF) [10.47379/ICT19018] and the Austrian Science Fund (FWF) research +% project P 30690-N35. +% \end{funding} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Supplementary Material, including data %% +%% sets and code, should be provided in %% +%% {supplement} environment with title %% +%% and short description. It cannot be %% +%% available exclusively as external link. %% +%% All Supplementary Material must be %% +%% available to the reader on Project %% +%% Euclid with the published article. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \begin{supplement} +% \stitle{???} +% \sdescription{???.} +% \end{supplement} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The Bibliography %% +%% %% +%% imsart-???.bst will be used to %% +%% create a .BBL file for submission. %% +%% %% +%% Note that the displayed Bibliography will not %% +%% necessarily be rendered by Latex exactly as specified %% +%% in the online Instructions for Authors. %% +%% %% +%% MR numbers will be added by VTeX. %% +%% %% +%% Use \cite{...} to cite references in text. %% +%% %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\bibliographystyle{imsart-nameyear} % Style BST file (imsart-number.bst or imsart-nameyear.bst) +\bibliography{references} % Bibliography file (usually '*.bib') + +\end{document}