fix: TSIR vs GMLM -> R to TikZ plot
This commit is contained in:
parent
05371f9caf
commit
90e61bf99b
BIN
AOS-accepted/plots/sim-tsir-reg-vs-gmlm.pdf
(Stored with Git LFS)
Normal file
BIN
AOS-accepted/plots/sim-tsir-reg-vs-gmlm.pdf
(Stored with Git LFS)
Normal file
Binary file not shown.
98
AOS-accepted/plots/sim-tsir-reg-vs-gmlm.tex
Normal file
98
AOS-accepted/plots/sim-tsir-reg-vs-gmlm.tex
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
\documentclass[border=0cm]{standalone}
|
||||||
|
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{pgfplots}
|
||||||
|
\usepackage{bm}
|
||||||
|
|
||||||
|
\definecolor{gmlm}{RGB}{0,0,0}
|
||||||
|
\definecolor{tsir}{RGB}{255,50,50}
|
||||||
|
|
||||||
|
\pgfplotsset{
|
||||||
|
compat=newest,
|
||||||
|
every axis/.style={
|
||||||
|
grid=both,
|
||||||
|
grid style={gray, dotted},
|
||||||
|
label style={font=\tiny},
|
||||||
|
tick label style={font=\tiny}
|
||||||
|
},
|
||||||
|
% 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]
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p1, % ymin = -60, ymax = 60
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
xticklabel=\empty
|
||||||
|
]
|
||||||
|
\addplot[color = tsir] table[x = time, y = tsir.reg.beta] {tsir-vs-gmlm-1.csv};
|
||||||
|
\addplot[color = gmlm] table[x = time, y = gmlm.beta] {tsir-vs-gmlm-1.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = base west, yshift = 0.3em] at (p1.north west) {
|
||||||
|
Time
|
||||||
|
};
|
||||||
|
\node[anchor = south, xshift = -1.5em, rotate = 90] at (p1.west) {
|
||||||
|
$\widehat{\beta}_1$
|
||||||
|
};
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p2,
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
anchor=north west, at={(p1.below south west)}, yshift=0.4em
|
||||||
|
]
|
||||||
|
\addplot[color = tsir] table[x = time, y = tsir.reg.Gamma] {tsir-vs-gmlm-1.csv};
|
||||||
|
\addplot[color = gmlm] table[x = time, y = gmlm.Gamma] {tsir-vs-gmlm-1.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = south, xshift = -1.5em, rotate = 90] at (p2.west) {
|
||||||
|
$\widehat{\Gamma}_1$
|
||||||
|
};
|
||||||
|
\node[anchor = north, yshift = -1em] at (p2.south) {
|
||||||
|
Time [s]
|
||||||
|
};
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p3,
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
anchor=north west, at={(p1.right of north east)}, xshift=1cm,
|
||||||
|
xticklabel=\empty
|
||||||
|
]
|
||||||
|
\addplot[color = gmlm, dotted, mark = *, mark size = 1pt] table[x = sensor, y = gmlm.beta] {tsir-vs-gmlm-2.csv};
|
||||||
|
\addplot[color = tsir, dotted, mark = *, mark size = 1pt] table[x = sensor, y = tsir.reg.beta] {tsir-vs-gmlm-2.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = base west, yshift = 0.3em] at (p3.north west) {
|
||||||
|
Sensors
|
||||||
|
};
|
||||||
|
\node[anchor = south, xshift = -1em, rotate = 90] at (p3.west) {
|
||||||
|
$\widehat{\beta}_2$
|
||||||
|
};
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p4,
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
anchor=north west, at={(p3.below south west)}, yshift=0.4em
|
||||||
|
]
|
||||||
|
\addplot[color = gmlm, dotted, mark = *, mark size = 1pt] table[x = sensor, y = gmlm.Gamma] {tsir-vs-gmlm-2.csv};
|
||||||
|
\addplot[color = tsir, dotted, mark = *, mark size = 1pt] table[x = sensor, y = tsir.reg.Gamma] {tsir-vs-gmlm-2.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = south, xshift = -1em, rotate = 90] at (p4.west) {
|
||||||
|
$\widehat{\Gamma}_2$
|
||||||
|
};
|
||||||
|
\node[anchor = north, yshift = -1em] at (p4.south) {
|
||||||
|
Sensor Index
|
||||||
|
};
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}
|
||||||
BIN
AOS-accepted/plots/sim-tsir-vs-gmlm.pdf
(Stored with Git LFS)
Normal file
BIN
AOS-accepted/plots/sim-tsir-vs-gmlm.pdf
(Stored with Git LFS)
Normal file
Binary file not shown.
98
AOS-accepted/plots/sim-tsir-vs-gmlm.tex
Normal file
98
AOS-accepted/plots/sim-tsir-vs-gmlm.tex
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
\documentclass[border=0cm]{standalone}
|
||||||
|
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{pgfplots}
|
||||||
|
\usepackage{bm}
|
||||||
|
|
||||||
|
\definecolor{gmlm}{RGB}{0,0,0}
|
||||||
|
\definecolor{tsir}{RGB}{255,50,50}
|
||||||
|
|
||||||
|
\pgfplotsset{
|
||||||
|
compat=newest,
|
||||||
|
every axis/.style={
|
||||||
|
grid=both,
|
||||||
|
grid style={gray, dotted},
|
||||||
|
label style={font=\tiny},
|
||||||
|
tick label style={font=\tiny}
|
||||||
|
},
|
||||||
|
% 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]
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p1, % ymin = -60, ymax = 60
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
xticklabel=\empty
|
||||||
|
]
|
||||||
|
\addplot[color = tsir] table[x = time, y = tsir.beta] {tsir-vs-gmlm-1.csv};
|
||||||
|
\addplot[color = gmlm] table[x = time, y = gmlm.beta] {tsir-vs-gmlm-1.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = base west, yshift = 0.3em] at (p1.north west) {
|
||||||
|
Time
|
||||||
|
};
|
||||||
|
\node[anchor = south, xshift = -1.5em, rotate = 90] at (p1.west) {
|
||||||
|
$\widehat{\beta}_1$
|
||||||
|
};
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p2,
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
anchor=north west, at={(p1.below south west)}, yshift=0.4em
|
||||||
|
]
|
||||||
|
\addplot[color = tsir] table[x = time, y = tsir.Gamma] {tsir-vs-gmlm-1.csv};
|
||||||
|
\addplot[color = gmlm] table[x = time, y = gmlm.Gamma] {tsir-vs-gmlm-1.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = south, xshift = -1.5em, rotate = 90] at (p2.west) {
|
||||||
|
$\widehat{\Gamma}_1$
|
||||||
|
};
|
||||||
|
\node[anchor = north, yshift = -1em] at (p2.south) {
|
||||||
|
Time [s]
|
||||||
|
};
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p3,
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
anchor=north west, at={(p1.right of north east)}, xshift=1cm,
|
||||||
|
xticklabel=\empty
|
||||||
|
]
|
||||||
|
\addplot[color = gmlm, dotted, mark = *, mark size = 1pt] table[x = sensor, y = gmlm.beta] {tsir-vs-gmlm-2.csv};
|
||||||
|
\addplot[color = tsir, dotted, mark = *, mark size = 1pt] table[x = sensor, y = tsir.beta] {tsir-vs-gmlm-2.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = base west, yshift = 0.3em] at (p3.north west) {
|
||||||
|
Sensors
|
||||||
|
};
|
||||||
|
\node[anchor = south, xshift = -1em, rotate = 90] at (p3.west) {
|
||||||
|
$\widehat{\beta}_2$
|
||||||
|
};
|
||||||
|
|
||||||
|
\begin{axis}[
|
||||||
|
name=p4,
|
||||||
|
width=7.5cm, height=5cm,
|
||||||
|
anchor=north west, at={(p3.below south west)}, yshift=0.4em
|
||||||
|
]
|
||||||
|
\addplot[color = gmlm, dotted, mark = *, mark size = 1pt] table[x = sensor, y = gmlm.Gamma] {tsir-vs-gmlm-2.csv};
|
||||||
|
\addplot[color = tsir, dotted, mark = *, mark size = 1pt] table[x = sensor, y = tsir.Gamma] {tsir-vs-gmlm-2.csv};
|
||||||
|
\end{axis}
|
||||||
|
\node[anchor = south, xshift = -1em, rotate = 90] at (p4.west) {
|
||||||
|
$\widehat{\Gamma}_2$
|
||||||
|
};
|
||||||
|
\node[anchor = north, yshift = -1em] at (p4.south) {
|
||||||
|
Sensor Index
|
||||||
|
};
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}
|
||||||
@ -849,7 +849,7 @@ TSIR suffers substantial loss in predictive accuracy in the full 2D EEG data (se
|
|||||||
\begin{figure}
|
\begin{figure}
|
||||||
\centering
|
\centering
|
||||||
\caption{\label{fig:TSIRvsGMLM}TSIR in red vs. GMLM in black}
|
\caption{\label{fig:TSIRvsGMLM}TSIR in red vs. GMLM in black}
|
||||||
\includegraphics[width = \textwidth]{plots/tsir_eeg_2d_bad_perf.pdf}
|
\includegraphics{plots/sim-tsir-vs-gmlm.pdf}
|
||||||
\end{figure}
|
\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
|
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
|
||||||
@ -858,9 +858,9 @@ involve the inversion of the severely ill-conditioned mode-wise estimated covari
|
|||||||
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$.
|
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}
|
\begin{figure}
|
||||||
\caption{TSIR (reg) in red vs. GMLM in black}
|
\centering
|
||||||
\label{fig:TSIRregvsGMLM}
|
\caption{\label{fig:TSIRregvsGMLM}TSIR (reg) in red vs. GMLM in black}
|
||||||
\includegraphics[width = \textwidth]{plots/tsir_regularized.pdf}
|
\includegraphics{plots/sim-tsir-reg-vs-gmlm.pdf}
|
||||||
\end{figure}
|
\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,
|
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,
|
||||||
@ -1043,40 +1043,6 @@ The results of our analysis above agree with the configuration of the chess boar
|
|||||||
|
|
||||||
\end{appendix}
|
\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 %%
|
%% The Bibliography %%
|
||||||
%% %%
|
%% %%
|
||||||
|
|||||||
@ -101,11 +101,11 @@ with(merge(
|
|||||||
suffixes = c("", ".sd"),
|
suffixes = c("", ".sd"),
|
||||||
all = FALSE
|
all = FALSE
|
||||||
), {
|
), {
|
||||||
plot(range(pj), 0:1, type = "n",
|
par(mar = c(4.1, 4.1, 0.1, 0.1))
|
||||||
main = "Simulation -- Efficiency Gain",
|
plot(range(pj), 0:1, type = "n", main = "", xlab = "", ylab = "", xaxt = "n", bty = "n")
|
||||||
xlab = expression(tilde(p)),
|
axis(1, at = sort(unique(pj)))
|
||||||
ylab = expression(d(B, hat(B)))
|
title(ylab = expression(d(B, hat(B))), line = 2.5)
|
||||||
)
|
title(xlab = expression(tilde(p)), line = 2.5)
|
||||||
for (sz in sort(unique(sample.size))) {
|
for (sz in sort(unique(sample.size))) {
|
||||||
i <- order(pj)[(sample.size == sz)[order(pj)]]
|
i <- order(pj)[(sample.size == sz)[order(pj)]]
|
||||||
i <- i[!(is.na(lm[i]) | is.na(lm.sd[i]))]
|
i <- i[!(is.na(lm[i]) | is.na(lm.sd[i]))]
|
||||||
@ -132,4 +132,17 @@ with(merge(
|
|||||||
lines(pj[i], mani[i], type = "b", pch = 16, col = "#006e18", lty = lty.idx, lwd = 2)
|
lines(pj[i], mani[i], type = "b", pch = 16, col = "#006e18", lty = lty.idx, lwd = 2)
|
||||||
lty.idx <- lty.idx + 1L
|
lty.idx <- lty.idx + 1L
|
||||||
}
|
}
|
||||||
|
legend(23, 0.8,
|
||||||
|
legend = c(
|
||||||
|
"Linear Model of Y | vec(X)",
|
||||||
|
"GMLM of vec(X) | Y",
|
||||||
|
"GMLM of X | Y",
|
||||||
|
"GMLM of X | Y + constraint"
|
||||||
|
),
|
||||||
|
col = c("#cf7d03", "#b30303", "#002d8d", "#006e18"),
|
||||||
|
fill = paste0(c("#cf7d03", "#b30303", "#002d8d", "#006e18"), "50"),
|
||||||
|
lwd = 2, lty = 1, bty = "n"
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
dev.copy2pdf(file = "sim_efficiency.pdf", width = 12, height = 6)
|
||||||
|
|||||||
@ -112,7 +112,6 @@ gmlm_tensor_normal <- function(X, F, sample.axis = length(dim(X)),
|
|||||||
min_max <- range(eigen(Sigmas[[j]], TRUE, TRUE)$values)
|
min_max <- range(eigen(Sigmas[[j]], TRUE, TRUE)$values)
|
||||||
# The condition is approximately `kappa(Sigmas[[j]]) > reg.threshold`
|
# The condition is approximately `kappa(Sigmas[[j]]) > reg.threshold`
|
||||||
if (min_max[2] > reg.threshold * min_max[1]) {
|
if (min_max[2] > reg.threshold * min_max[1]) {
|
||||||
cat(sprintf("\033[2mReg (%d): cond(Sigma_%d) = %f\033[0m\n", iter, j, min_max[2] / min_max[1]))
|
|
||||||
diag(Sigmas[[j]]) <- diag(Sigmas[[j]]) + reg.factor * min_max[2]
|
diag(Sigmas[[j]]) <- diag(Sigmas[[j]]) + reg.factor * min_max[2]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user