# 和老師報告進度(2)!!
上次老師要求把數學公式寫下來對,所以先把公式都整理好再附上程式碼供對照。
假設資料有$T$個時間點以及$n$個位置點,初始假設為:
\begin{align}
z_G &= F_{G,r_G}W_G+\epsilon_G \\
z_A &= F_{A,r_A}W_A+\epsilon_A \\
z_B &= F_{B,r_B}W_B+\epsilon_B \tag{1}
\end{align}
其中$z \in \mathbb{R}^{n \times T}$、$F \in \mathbb{R}^{n \times r}$、$W \in \mathbb{R}^{r \times T}$,因為$F$是由multiresolution spline basis functions(Tzeng and Huang. 2018)生成,所以原本是$F \in \mathbb{R}^{n \times n}$,但我們只需要選擇$r$個basis function使用就好。選擇basis function的方式參考functional cca(Huang et al. 2020)的做法。
\begin{gather}
\begin{pmatrix} F_{G,r_G}' \\ F_{A,r_A}' \end{pmatrix} \sim \mathcal{N}
\left(
\begin{pmatrix} 0 \\ 0 \end{pmatrix},
\begin{pmatrix}
F_{G,r_G}' \Sigma_G F_{G,r_G} & F_{G,r_G}' \Sigma_{G,A} F_{A,r_A} \\
F_{A,r_A}' \Sigma_{A,G} F_{G,r_G} & F_{A,r_A}' \Sigma_A F_{A,r_A}
\end{pmatrix}
\right) \\
r_\delta^* = \min\begin{Bmatrix}r=1,...,r_{max}:RV_G(r)\geq\delta,\,RV_A(r)\geq\delta\end{Bmatrix} \\
RV_y ≡ \frac{tr(F_{G,r_G}' \Sigma_G F_{G,r_G})}{tr(F_{G,r_{max}}' \Sigma_G F_{G,r_{max}})} \tag{2}
\end{gather}
對於$(1)$的$W$用Linear Regression對$F$以及$z_G$進行求解,求出$W$之後,再用canonical variate regression(LUO et al. 2016)把W降到一個低維空間。
\begin{equation}
\begin{aligned}
&\min \eta \begin{Vmatrix} W_A'\phi_A-W_B'\phi_B \end{Vmatrix}_{F}^{2} + \\
&(1-\eta)\begin{Vmatrix} W_G - \begin{pmatrix}1\alpha^{T}+W_A'\phi_A \beta + W_B'\phi_B \beta\end{pmatrix} \end{Vmatrix} + \\
&\rho(W_A, \lambda_A, W_B, \lambda_B)
\end{aligned}
\tag{3}
\end{equation}
其中,$\phi \in \mathbb{R}^{r\times k}$,其中,k是自由選擇的,也就是希望透過CVR降到多少維度上。其中,$\phi_A$和$\phi_B$會是對應GTM中的basis function。因為這樣生成的話,G會沒有對應的投影向量,所以用PCA對G進行轉換將其投影到低維空間的向量視為$\phi_G$。
由於GTM是要將資料點進行投影,但在這裡已經利用CVR和PCA的結果直接取代GTM的低維網格點和basis function,因此可以寫作:
\begin{gather}
p(W_A|Q_A, \beta_A)=\frac{\beta}{2\pi}^{\frac{D}{2}}e^{-\frac{\beta_A}{2}\begin{Vmatrix} \phi_AQ_A-W_A \end{Vmatrix}^{2}} \\
p(W_B|Q_B, \beta_B)=\frac{\beta}{2\pi}^{\frac{D}{2}}e^{-\frac{\beta_B}{2}\begin{Vmatrix} \phi_BQ_B-W_B \end{Vmatrix}^{2}} \\
p(W_G|Q_G, \beta_G)=\frac{\beta}{2\pi}^{\frac{D}{2}}e^{-\frac{\beta_G}{2}\begin{Vmatrix} \phi_GQ_G-W_G \end{Vmatrix}^{2}} \\
R = \frac{p_Ap_Bp_G}{\sum_{i=1}^r p_Ap_Bp_G} \tag{4}
\end{gather}
這裡的$Q$是代表GTM的權重,$\frac{1}{\beta}$是GTM常態分佈假設的variance,其中,$Q$的初始值由常態分佈生成,$Q \in \mathbb{R}^{k\times r}$,$\beta$是一個純量,初始值設定為1。因為$W \in \mathbb{R}^{r \times T}$,所以$R \in \mathbb{R}^{r \times T}$,這裡的$R$原本代表由低維網格近似高維資料機率矩陣,矩陣可以被解釋為由低維網格的點對應到高維資料可能存在的機率。
再透過EM算法更新參數,使用和GTM相同的方法進行(這裡先只給出A的參數更新,B和G也都是相同的公式):
\begin{gather}
\\
(\phi_A'G\phi_A+\frac{\lambda}{\beta})Q_A'=\phi_A'RW_A
\\
\beta_A = \frac{1}{rT}R_{rT}\begin{Vmatrix} W_A-\phi_AQ_A \end{Vmatrix}^{2} \tag{5}
\end{gather}
透過EM算法計算至收斂,可以再透過下面進行reconstruction:
\begin{gather}
\hat{W_A} = RQ_A\phi_A \tag{6}
\end{gather}
透過以上計算可以獲得結果,最後只要再透過(1)將$F$和$\hat{W}$相乘就可以獲得結果!(1),(2),(3)是由R寫的,(4),(5),(6)則是由python寫的,程式會隨這份note附給老師,謝謝!