Generalized linear array model
In-game article clicks load inline without leaving the challenge.
In statistics, the generalized linear array model (GLAM) is used for analyzing data sets with array structures. It based on the generalized linear model with the design matrix written as a Kronecker product.
Overview
The generalized linear array model or GLAM was introduced in 2006. Such models provide a structure and a computational procedure for fitting generalized linear models or GLMs whose model matrix can be written as a Kronecker product and whose data can be written as an array. In a large GLM, the GLAM approach gives very substantial savings in both storage and computational time over the usual GLM algorithm.
Suppose that the data Y {\displaystyle \mathbf {Y} } is arranged in a d {\displaystyle d}-dimensional array with size n 1 × n 2 × ⋯ × n d {\displaystyle n_{1}\times n_{2}\times \dots \times n_{d}}; thus, the corresponding data vector y = vec ( Y ) {\displaystyle \mathbf {y} =\operatorname {vec} (\mathbf {Y} )} has size n 1 n 2 n 3 ⋯ n d {\displaystyle n_{1}n_{2}n_{3}\cdots n_{d}}. Suppose also that the design matrix is of the form
X = X d ⊗ X d − 1 ⊗ ⋯ ⊗ X 1 . {\displaystyle \mathbf {X} =\mathbf {X} _{d}\otimes \mathbf {X} _{d-1}\otimes \dots \otimes \mathbf {X} _{1}.}
The standard analysis of a GLM with data vector y {\displaystyle \mathbf {y} } and design matrix X {\displaystyle \mathbf {X} } proceeds by repeated evaluation of the scoring algorithm
X ′ W ~ δ X θ ^ = X ′ W ~ δ θ ~ , {\displaystyle \mathbf {X} '{\tilde {\mathbf {W} }}_{\delta }\mathbf {X} {\hat {\boldsymbol {\theta }}}=\mathbf {X} '{\tilde {\mathbf {W} }}_{\delta }{\tilde {\boldsymbol {\theta }}},}
where θ ~ {\displaystyle {\tilde {\boldsymbol {\theta }}}} represents the approximate solution of θ {\displaystyle {\boldsymbol {\theta }}}, and θ ^ {\displaystyle {\hat {\boldsymbol {\theta }}}} is the improved value of it; W δ {\displaystyle \mathbf {W} _{\delta }} is the diagonal weight matrix with elements
w i i − 1 = ( ∂ η i ∂ μ i ) 2 v a r ( y i ) , {\displaystyle w_{ii}^{-1}=\left({\frac {\partial \eta _{i}}{\partial \mu _{i}}}\right)^{2}\mathrm {var} (y_{i}),}
and
z = η + W δ − 1 ( y − μ ) {\displaystyle \mathbf {z} ={\boldsymbol {\eta }}+\mathbf {W} _{\delta }^{-1}(\mathbf {y} -{\boldsymbol {\mu }})}
is the working variable.
Computationally, GLAM provides array algorithms to calculate the linear predictor,
η = X θ {\displaystyle {\boldsymbol {\eta }}=\mathbf {X} {\boldsymbol {\theta }}}
and the weighted inner product
X ′ W ~ δ X {\displaystyle \mathbf {X} '{\tilde {\mathbf {W} }}_{\delta }\mathbf {X} }
without evaluation of the model matrix X . {\displaystyle \mathbf {X} .}
Example
In 2 dimensions, let X = X 2 ⊗ X 1 {\displaystyle \mathbf {X} =\mathbf {X} _{2}\otimes \mathbf {X} _{1}}, then the linear predictor is written X 1 Θ X 2 ′ {\displaystyle \mathbf {X} _{1}{\boldsymbol {\Theta }}\mathbf {X} _{2}'} where Θ {\displaystyle {\boldsymbol {\Theta }}} is the matrix of coefficients; the weighted inner product is obtained from G ( X 1 ) ′ W G ( X 2 ) {\displaystyle G(\mathbf {X} _{1})'\mathbf {W} G(\mathbf {X} _{2})} and W {\displaystyle \mathbf {W} } is the matrix of weights; here G ( M ) {\displaystyle G(\mathbf {M} )} is the row tensor function of the r × c {\displaystyle r\times c} matrix M {\displaystyle \mathbf {M} } given by
G ( M ) = ( M ⊗ 1 ′ ) ∘ ( 1 ′ ⊗ M ) {\displaystyle G(\mathbf {M} )=(\mathbf {M} \otimes \mathbf {1} ')\circ (\mathbf {1} '\otimes \mathbf {M} )}
where ∘ {\displaystyle \circ } means element by element multiplication and 1 {\displaystyle \mathbf {1} } is a vector of 1's of length c {\displaystyle c}.
On the other hand, the row tensor function G ( M ) {\displaystyle G(\mathbf {M} )} of the r × c {\displaystyle r\times c} matrix M {\displaystyle \mathbf {M} } is the example of Face-splitting product of matrices, which was proposed by Vadym Slyusar in 1996:
M ∙ M = ( M ⊗ 1 T ) ∘ ( 1 T ⊗ M ) , {\displaystyle \mathbf {M} \bullet \mathbf {M} =\left(\mathbf {M} \otimes \mathbf {1} ^{\textsf {T}}\right)\circ \left(\mathbf {1} ^{\textsf {T}}\otimes \mathbf {M} \right),}
where ∙ {\displaystyle \bullet } means Face-splitting product.
These low storage high speed formulae extend to d {\displaystyle d}-dimensions.
Applications
GLAM is designed to be used in d {\displaystyle d}-dimensional smoothing problems where the data are arranged in an array and the smoothing matrix is constructed as a Kronecker product of d {\displaystyle d} one-dimensional smoothing matrices.