Présentation de la regression orthogonale
Feuille 2
Régression orthogonale
Author

Clément Poupelin

Published

April 11, 2025

Modified

April 13, 2025

Intervenant.e.s

Rédaction

Relecture

Setup

Show the code
library(dplyr)        # manipulation des données
Show the code
beta1_MCO <- function(x, y) {
  sum((x - mean(x)) * (y - mean(y))) / sum((x - mean(x))^2)
}

beta0_MCO <- function(x, y) {
  mean(y) - beta1_MCO(x, y) * mean(x)
}
Show the code
beta1_RI <- function(x, y) {
  sum((y - mean(y))^2) / sum((x - mean(x)) * (y - mean(y)))
}

beta0_RI <- function(x, y) {
  mean(y) - beta1_RI(x, y) * mean(x)
}
Show the code
beta1_RO <- function(x, y) {
  delta <- (sum((y - mean(y))^2) - sum((x - mean(x))^2))^2 + 4*sum((x - mean(x)) * (y - mean(y)))^2
  ((sum((y - mean(y))^2) - sum((x - mean(x))^2)) + sign(sum((x - mean(x)) * (y - mean(y)))) * sqrt(delta))/ ( 2 * sum((x - mean(x)) * (y - mean(y))) )
}

beta0_RO <- function(x, y) {
  mean(y) - beta1_RO(x, y) * mean(x)
}
Show the code
set.seed(140400)

Exercice

On admet que le problème de minimisation associé à la régression orthogonale revient à minimise :

\[S = \sum_{i=1}^{n}\frac{(Y_i - \beta_0 - \beta_1X_i)^2}{1 + \beta_1^2}\]

On note \(\hat{\beta}_{0\text{RO}}\) , \(\hat{\beta}_{1\text{RO}}\) les paramètres du modèle de régression vérifiant ce problème de minimisation.

Tout d’abord, vérifions que \(S_{XY} - \beta_1S_{XX} = \sum_{i=1}^n X_i\left[ (Y_i - \bar{Y}) - \beta_1(X_i - \bar{X})\right]\)

\[\begin{align*} S_{XY} - \beta_1S_{XX} & = \sum_{i=1}^n(X_i - \bar{X})(Y_i - \bar{Y}) - \beta_1 \sum_{i=1}^n(X_i - \bar{X})^2 \\ & = \sum_{i=1}^n \left( (X_i - \bar{X}) \left[ (Y_i - \bar{Y}) - \beta_1(X_i - \bar{X}) \right] \right) \\ & = \underbrace{\sum_{i=1}^n X_i\left[ (Y_i - \bar{Y}) - \beta_1(X_i - \bar{X}) \right]}_{\text{OK}} - \underbrace{\bar{X} \sum_{i=1}^n \left[ (Y_i - \bar{Y}) - \beta_1(X_i - \bar{X}) \right]}_{\text{=0?}} \end{align*}\]

On retrouve l’expression voulue. Vérifions l’autre égalité :

\[\begin{align*} \bar{X} \sum_{i=1}^n \left[ (Y_i - \bar{Y}) - \beta_1(X_i - \bar{X}) \right] & = \bar{X} \sum_{i=1}^n \left[ Y_i - \beta_1X_i - \bar{Y} + \beta_1\bar{X} \right] \\ & = \bar{X} \sum_{i=1}^n \left[ \beta_0 + \beta_1X_i + \varepsilon_i - \beta_1X_i - \bar{Y} + \beta_1\bar{X} \right] \\ & = \bar{X} \left[ \sum_{i=1}^n (\beta_0 + \varepsilon_i) - n\bar{Y} + n\beta_1\bar{X} \right] \\ & = n\bar{X}\beta_0 + \bar{X}\underbrace{\sum_{i=1}^n \varepsilon_i}_{=0 \text{ car } \varepsilon_i \text{ centrés}} - n\bar{X}\bar{Y} + n\beta_1\bar{X}^2 \\ & = n\bar{X}\beta_0 - n\bar{X}\left( \frac{1}{n}\sum_{i=1}^n \left( \beta_0 + \beta_1X_i + \varepsilon_i \right) \right) + n\beta_1\bar{X}^2 \\ & = n\bar{X}\beta_0 - n\bar{X}\beta_0 - n\beta_1\bar{X}^2 - \bar{X}\underbrace{\sum_{i=1}^n \varepsilon_i}_{=0} + n\beta_1\bar{X}^2 \\ & = 0 \end{align*}\]

Maintenant, calculons les dérivées partielles \(\frac{\partial S}{\partial \beta_0}\) \(\frac{\partial S}{\partial \beta_1}\)

\[\begin{align*} \frac{\partial S}{\hat{\beta}_0} & = \frac{\partial}{\hat{\beta}_0} \left[\frac{1}{1+\beta_1^2} \sum_{i=1}^n \left( Y_i - \beta_0 - \beta_1X_i \right)^2 \right]\\ & = \frac{\partial}{\hat{\beta}_0} \left[\frac{1}{1+\beta_1^2} \sum_{i=1}^n \left( \beta_0^2 + (Y_i - \beta_1X_i)^2 2\beta_0(Y_i - \beta_1X_i) \right) \right]\\ &= \frac{2n\beta_0}{1+\beta_1^2} + \frac{2 \sum_{i=1}^n (Y_i - \beta_1X_i)}{1+\beta_1^2} \\ &= \frac{-2}{1+\beta_1^2}\sum_{i=1}^n (Y_i - \beta_0 - \beta_1X_i) \end{align*}\]

\[\begin{align*} \frac{\partial S}{\hat{\beta}_1} & = \frac{1}{(1 + \beta_1^2)^2} \left[ -2\beta_1 \sum_{i=1}^n (Y_i - \beta_0 - \beta_1X_i)^2 - (1 + \beta_1^2)2\sum_{i=1}^n (X_i(Y_i - \beta_0 - \beta_1X_i)) \right] \\ \end{align*}\]

Ensuite, soit \(\hat{\beta}_{0\text{RO}}\) le point critique.

\[\begin{align*} \frac{\partial S}{\hat{\beta}_{0\text{RO}}} = 0 & \Leftrightarrow 0 = \sum_{i=1}^n (Y_i - \hat{\beta}_{0\text{RO}} - \hat{\beta}_{1\text{RO}}X_i) \\ & \Leftrightarrow \hat{\beta}_{0\text{RO}} = \frac{1}{n}\sum_{i=1}^n Y_i - \frac{1}{n}\sum_{i=1}^n X_i \hat{\beta}_{1\text{RO}} \\ & \Leftrightarrow \hat{\beta}_{0\text{RO}} = \bar{Y} - \hat{\beta}_{1\text{RO}} \bar{X} \\ \end{align*}\]

On retrouve le même estimateur que pour une régression des moindres carrés ou une régression inverse. On peut donc dire que l’on passe également par le point moyen du nuage de point.

Maintenant, cherchons l’expression de \(\hat{\beta}_{1\text{RO}}\)

\[\begin{align*} \frac{\partial S}{\hat{\beta}_{1\text{RO}}} = 0 & \Leftrightarrow 0 = - \hat{\beta}_{1\text{RO}}^2 S_{XY} + \hat{\beta}_{1\text{RO}}(S_{YY} - S_{XX}) + S_{XY} \\ \end{align*}\]

On reconnait un polynome du second degré avec \(\Delta = (S_{YY} - S_{XX})^2 + 4S_{XY}^2 \geq 0\)

Ainsi, \[\hat{\beta}_{1\text{RO}} = \frac{-S_{YY} + S_{XX} \pm \sqrt{\Delta}}{-2S_{XY}} = \frac{(S_{YY} - S_{XX}) + sign(S_{XY}) \sqrt{\Delta}}{2S_{XY}}\]

Maintenant, nous allons ajuster la régression orthogonale en reprenant le schéma de simulation de l’exercice 4 Partie 1

Conclusion

Session info

Show the code
sessioninfo::session_info(pkgs = "attached")
─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.4.2 (2024-10-31)
 os       Ubuntu 24.04.1 LTS
 system   x86_64, linux-gnu
 ui       X11
 language (EN)
 collate  fr_FR.UTF-8
 ctype    fr_FR.UTF-8
 tz       Europe/Paris
 date     2025-04-13
 pandoc   3.2 @ /usr/lib/rstudio/resources/app/bin/quarto/bin/tools/x86_64/ (via rmarkdown)

─ Packages ───────────────────────────────────────────────────────────────────
 package * version date (UTC) lib source
 dplyr   * 1.1.4   2023-11-17 [1] CRAN (R 4.4.2)

 [1] /home/clement/R/x86_64-pc-linux-gnu-library/4.4
 [2] /usr/local/lib/R/site-library
 [3] /usr/lib/R/site-library
 [4] /usr/lib/R/library

──────────────────────────────────────────────────────────────────────────────