mirror of
https://forge.s1gm4.eu/GENIOMHE/multivariate-statistics.git
synced 2023-09-27 19:01:42 +02:00
feat: Add ordinary least square figure
This commit is contained in:
parent
ae51323390
commit
180409edc3
@ -135,4 +135,11 @@ If $H$ is the projection matrix of the subspace generated by $\X$, $X\Y$ is the
|
|||||||
\includestandalone{figures/schemes/orthogonal_projection}
|
\includestandalone{figures/schemes/orthogonal_projection}
|
||||||
\caption{Orthogonal projection of $\Y$ on plan generated by the base described by $\X$. $\color{blue}a$ corresponds to $\norm{\X\hat{\beta} - \bar{\Y}}^2$ and $\color{blue}b$ corresponds to $\norm{\Y - \hat{\beta}\X}^2$}
|
\caption{Orthogonal projection of $\Y$ on plan generated by the base described by $\X$. $\color{blue}a$ corresponds to $\norm{\X\hat{\beta} - \bar{\Y}}^2$ and $\color{blue}b$ corresponds to $\norm{\Y - \hat{\beta}\X}^2$}
|
||||||
\label{fig:scheme-orthogonal-projection}
|
\label{fig:scheme-orthogonal-projection}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includestandalone{figures/schemes/ordinary_least_squares}
|
||||||
|
\caption{Ordinary least squares and regression line with simulated data.}
|
||||||
|
\label{fig:ordinary-least-squares}
|
||||||
|
\end{figure}
|
||||||
|
@ -69,7 +69,7 @@ Let $u = \begin{pmatrix}
|
|||||||
\begin{figure}
|
\begin{figure}
|
||||||
\centering
|
\centering
|
||||||
\includestandalone{figures/schemes/vector_orthogonality}
|
\includestandalone{figures/schemes/vector_orthogonality}
|
||||||
\caption{Illustration for the scalar product of two orthogonal vectors.}
|
\caption{Scalar product of two orthogonal vectors.}
|
||||||
\label{fig:scheme-orthogonal-scalar-product}
|
\label{fig:scheme-orthogonal-scalar-product}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
45
figures/schemes/ordinary_least_squares.tex
Normal file
45
figures/schemes/ordinary_least_squares.tex
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
\documentclass[margin=0.5cm]{standalone}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{luacode}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{tikzpicture}
|
||||||
|
% Draw axes
|
||||||
|
\draw[->] (0,0) -- (5,0);
|
||||||
|
\draw[->] (0,0) -- (0,5);
|
||||||
|
|
||||||
|
\directlua{
|
||||||
|
function runif(min, max)
|
||||||
|
return min + (max - min) * math.random()
|
||||||
|
end
|
||||||
|
math.randomseed(42)
|
||||||
|
x_min = 0
|
||||||
|
x_max = 5
|
||||||
|
error_min = -1
|
||||||
|
error_max = 1
|
||||||
|
beta0 = 2
|
||||||
|
beta1 = 1/5
|
||||||
|
x_values = {}
|
||||||
|
y_values = {}
|
||||||
|
for i=1,42 do
|
||||||
|
x = runif(x_min, x_max)
|
||||||
|
epsilon = runif(error_min, error_max)
|
||||||
|
y_hat = beta0 + beta1 * x
|
||||||
|
y = y_hat + epsilon
|
||||||
|
tex.print("\\draw[-,very thin, lightgray] ("..x..","..y_hat..") -- ("..x..","..y..") ;")
|
||||||
|
x_values[i] = x
|
||||||
|
y_values[i] = y
|
||||||
|
end
|
||||||
|
for i=1,42 do
|
||||||
|
x = x_values[i]
|
||||||
|
y = y_values[i]
|
||||||
|
tex.print("\\node[black] at ("..x..","..y..") {.};")
|
||||||
|
end
|
||||||
|
}
|
||||||
|
% Draw least square line
|
||||||
|
\draw[-,blue,thick] (0,2) -- (5,\directlua{tex.print(5*beta1+beta0)});
|
||||||
|
% Draw square norm
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}
|
Loading…
Reference in New Issue
Block a user