Régression linéaire multiple (théorie, pratique, mise en oeuvre logicielle)

Cette vidéo présente la régression linéaire multiple du point de vue d’un cours appliqué à un jeu de données réelles (prévision du maximum d’ozone quotidien). Après avoir introduit le problème de prédiction et les deux objectifs classiques (expliquer Y et prédire Y), l’auteur montre comment explorer les données avec des nuages de points (fonction pairs) pour détecter corrélations et valeurs aberrantes. Il rappelle la régression simple, puis généralise le modèle à p variables explicatives, en détaillant la forme matricielle Y = Xβ + ε et les hypothèses classiques sur les résidus (indépendance, espérance nulle, variance constante). L’estimation des coefficients β̂ est obtenue par la méthode des moindres carrés ordinaires (β̂ = (X'X)⁻¹X'Y), avec discussion sur l’inversibilité de X'X et la variance‑covariance des estimateurs. Les propriétés d’un estimateur (biais nul, variance minimale) sont exposées, ainsi que le calcul du R², du R² ajusté et du test global F (comparaison des carrés moyens du modèle et de la résiduelle). Le test de Fisher permet de décider si au moins un coefficient est différent de zéro. Ensuite, des tests t de Student sont présentés pour chaque coefficient, avec interprétation des p‑valeurs et des intervalles de confiance. La vidéo décrit les stratégies de sélection de variables (backward, forward, recherche exhaustive du meilleur sous‑modèle) et montre comment les implémenter en R (lm, summary, confint, predict, packages FactoMineR/RegBest). Enfin, elle rappelle les diagnostics de résidus (normalité, homoscédasticité) et l’importance de ne pas sur‑ajuster le modèle.
Chapters
Donc on va commencer cette deuxième séquence par la méthode de régression multiple. Pour présenter cette méthode, je vais prendre un exemple qui est un exemple réel d'un étudiant qui était en stage il y a quelques années. L'objectif de son stage était d'essayer de prévoir la concentration en ozone dans l'air. Alors pourquoi prévoir la concentration en ozone dans l'air? L'objectif, c'était en fait de pouvoir prédire des pics d'ozone et pouvoir prédire les jours où il y aura un dépassement d'un seuil d'ozone trop élevé. Ça permet de prévenir les populations et donc notamment les gens fragiles, donc les personnes âgées, les très jeunes enfants, les asthmatiques et la population pour éviter qu'ils fassent du sport ou qu'ils restent trop dehors, donc pour leur dire de rester chez eux et de ne pas trop sortir. Pour pouvoir savoir quels sont les jours pour lesquels il y aura un pic d'ozone, l'idée c'était ici d'essayer de prévoir la concentration en ozone d'un jour donné. Pour prévoir cette concentration en ozone d'un jour donné, il y a des données qui ont été recueillies. Là, vous avez un extrait du tableau de données avec en ligne différents jours. Là, vous voyez le 1er juin 2001, ensuite le 2 juin 2001, etc. En ligne, vous avez les jours et en colonne, vous avez différentes variables. La première variable est la variable qui nous intéresse, qu'on cherche à prédire, qui est le maximum d'ozone. On veut prévoir cette variable du maximum d'ozone. Pour ça, on a recueilli différentes variables: la température à 9 heures, la température à 12 heures, la température à 15 heures, également la nébulosité à 9 heures, à 12 heures, à 15 heures. C'est en gros est-ce que le ciel est voilé ou pas. Et puis ensuite des vitesses de vent à 9h, 12h et 15h à nouveau. Alors vous voyez des vitesses de vent qui peuvent être négatives ici, c'est qu'en fait la vitesse de vent est calculée sur un axe ouest-est. Donc quand il y avait un vent d'est, il y avait une vitesse de vent qui était négative. Donc ça peu importe, mais c'est disons une des variables de vitesse de vent qui sont quantitatives aussi. Et puis il y a le maximum d'ozone de la veille. Et donc l'objectif, ça va être essayer de comprendre qu'est-ce qui peut jouer sur le maximum d'ozone parmi toutes ces variables-là, parmi la température, la nébulosité, la vitesse du vent et le maximum d'ozone de la veille. Quelles sont les variables qui entrent en jeu dans la concentration en ozone? Et puis est-ce que je peux prévoir le la concentration en ozone du lendemain. Donc ça, c'est la question, une question avec un objectif prédictif. Alors, des exemples d'utilisation de la régression multiple, il y en a plein. Par exemple, prévoir l'appréciation d'un produit en fonction de sa composition. Alors, ça peut être la composition en différents ingrédients, et vous avez le mélange des ingrédients, et vous voulez prévoir l'appréciation du produit. Donc vous allez avoir pour différents produits d'une part les quantités des différents ingrédients et puis une note d'appréciation. Et donc vous avez ça pour différents produits et là l'objectif pourrait être d'essayer de comprendre l'appréciation en fonction de la composition des aliments. Ça peut aussi être l'optimisation d'une réaction chimique en fonction de plusieurs variables. Donc on cherche à optimiser une réaction chimique, donc là on a une variable qu'on cherche à optimiser. Donc ça peut être le moelleux d'un gâteau, et on veut optimiser cette réaction en fonction du temps de réaction et de la température, par exemple. Donc là, j'ai 2 variables explicatives. Voilà. Alors, des jeux de données comme ça, avec des exemples où on cherche à comprendre et prédire une variable en fonction de plein d'autres, bien ça, vous devez en avoir déjà vu Les objectifs, il y en a finalement 2. Il y a un premier qui est d'essayer de comprendre, d'expliquer une variable quantitative Y en fonction de plusieurs variables quantitatives. Il y a une variable quantitative d'intérêt qu'on appelle Y et on cherche à l'expliquer, à comprendre pourquoi cette variable varie en fonction de plusieurs variables quantitatives. Là, j'ai considéré qu'il y avait p variables quantitatives et donc je les ai appelées X1 jusqu'à Xp. Donc ça, c'est un objectif explicatif: compréhension de qu'est-ce qui joue sur y. Et puis ensuite, il y a un deuxième objectif qui est un objectif de prédiction. Est-ce que je peux prédire de nouvelles valeurs pour y si j'avais des nouvelles valeurs pour x1, x2, xp? Donc si je me mets dans une nouvelle situation, est-ce que je vais pouvoir prédire? Donc quand je parle de nouvelles situations, est-ce que je j'ai de nouvelles valeurs pour x1, x2, xp, et est-ce que je peux prédire la valeur de y? Par exemple, je vais créer un nouveau produit en mélangeant des ingrédients dans différentes quantités, est-ce que je peux prévoir son appréciation? Ou bien, pour l'exemple de réaction chimique, je mets un nouveau temps de réaction, une nouvelle température, est-ce que je peux prévoir la réaction chimique, le y? Dans la régression multiple, comme en régression simple d'ailleurs, il y a 2 objectifs: comprendre, expliquer Y en fonction des variables explicatives, et puis prédire Y. Avant de se lancer dans la construction d'un modèle, ce qu'il faut faire, et qui est toujours indispensable, c'est de regarder les données. J'ai exprès commencé le cours en vous montrant un petit graphe qui permet d'explorer les données. Donc ici, c'est juste une figure dans laquelle il y a plusieurs petits graphes qui montrent la liaison entre 2 variables. Vous avez ici en orange, à chaque fois que je vais écrire en orange dans le cours, c'est pour donner la ligne de code R qui permet de trouver soit le graphique, soit les résultats statistiques. Donc là, c'est la fonction pairs qui permet de faire un nuage de points avec une variable en abscisse et une variable en ordonnée. Je conçois un nuage de points avec des paires de variables, d'où le nom de la fonction pairs. Et là je dis que j'applique sur le jeu de données ozone, alors crochet, virgule, 1:4, fermer le crochet. Avant la virgule, je considère les individus. Là, comme il n'y a rien, ça veut dire que je considère tous les individus. Et puis ensuite 1:4, ça signifie que je m'intéresse aux colonnes de 1 à 4. Donc là, j'applique la fonction pairs sur le tableau qui est restreint seulement aux 4 premières colonnes. Et donc ça va prendre toutes les variables 2 à 2 et construire le nuage de points. Donc là, vous avez le graphe ici, ce premier graphe qui est le graphe où on a T9 En abscisse, vous voyez, il y a T9 qui est écrit ici, donc T9 est en abscisse et le max O3 en ordonnée. Donc ça, ce premier graphe, c'est T9 et max O3. Le deuxième graphe ici, ça va être T12 en abscisse et max O3 en ordonnée. Et puis ici, T15 en abscisse, max O3 en ordonnée. Le graphe ici, c'est T12 en abscisse, T9 en ordonnée. D'accord, donc on peut lire les variables qui sont en abscisse ou en ordonnée grâce à ce qui est écrit sur la diagonale. Et le graphe qui est ici, j'aurais maxO3 en abscisse et puis T15 en ordonnée. Alors, à quoi peuvent servir ces graphes? Quelle est l'utilité de faire des graphes comme ça? Qu'est-ce qu'on peut voir avec ces graphes? Voilà, donc ça permet de voir effectivement déjà s'il y a une liaison entre différentes variables. Donc corrélation entre plusieurs données, je pense que tu voulais dire corrélation entre variables. Donc effectivement, le fait de construire un graphique, ça permet d'avoir une idée de la relation qu'il y a entre variables. Donc par exemple, ici entre T12 et T15, on voit que les points sont très alignés et donc il y a une liaison très forte entre T12 et T15. Entre le maximum d'ozone et T9, on voit que le nuage de points est plutôt allongé et que le maximum d'ozone est plus élevé quand T9 est plus élevé, mais les points sont pas parfaitement alignés. Donc ça, c'est déjà une première information, quelles sont les— avoir une idée des liaisons entre variables. Et puis il y a une deuxième information qui est intéressante aussi, c'est est-ce est-ce qu'il n'y a pas des points aberrants. Donc par exemple, on se serait trompé en notant une température et au lieu de mettre 23,4, on met 234 degrés. Bien là, on verrait le point tout de suite et on se dirait bien il y a une erreur de saisie, on reviendrait corriger nos données. Donc si on fait pas de graphe et qu'on construit un modèle, on va pas se rendre compte de ça et on va avoir un modèle qui a aucun intérêt, qui a aucun sens, parce que la donnée est trop particulière et elle va très fortement influer sur le modèle. Donc c'est vraiment indispensable de regarder les données avant de commencer à construire n'importe quel modèle. Alors, un petit rappel sur la régression simple. En régression simple, on cherche à expliquer une variable quantitative Y en fonction d'une variable quantitative X. Donc on écrit Yi, la valeur prise par le ième individu, pour la variable y, c'est une constante bêta 0 plus bêta 1 fois la valeur prise par l'individu i pour la variable x. Donc si je construis le modèle de régression du maximum d'ozone en fonction de la température, je vais avoir le maximum d'ozone du jour i, c'est bêta 0 plus bêta 1 fois la température du jour i. Donc ça, c'est la liaison qu'on veut donner, et puis on a un résidu epsilon i Et le epsilon i, eh bien, on a des hypothèses sur le epsilon i qui sont que les epsilon i sont IID, c'est-à-dire indépendants et identiquement distribués, c'est-à-dire qu'ils ont tous la même loi. Ensuite, l'espérance de epsilon i est égale à 0. Donc ça, c'est pas très contraignant. Si l'espérance n'était pas égale à 0, eh bien, on s'arrangerait pour trouver une autre valeur de bêta 0 pour se ramener à l'espérance de epsilon i égale 0. Donc on a toujours espérance de epsilon i égale 0. Et puis la variance des résidus est égale à sigma carré. Donc variance des résidus égale à sigma carré, ça veut dire que la variance des résidus est constante, elle dépend pas de x par exemple. Et donc là j'ai écrit que les résidus sont indépendants, covariance epsilon i epsilon k égale 0, ça signifie que les résidus sont indépendants. Qu'est-ce qu'il y a dans le epsilon i? Il y a des erreurs de mesure, on n'a pas parfaitement mesuré le y, le maximum d'ozone n'est pas bien mesuré, mesuré et donc il y a une petite erreur de mesure parce que notre appareil est mal réglé et où il est imprécis. Et donc il y a une erreur de mesure, ça, ça va se retrouver dans le résidu. Il y a une erreur d'échantillonnage, donc par exemple on a pris certaines données à certains endroits et si on avait pris les données à un autre endroit, on aurait eu d'autres valeurs. Facteur mal contrôlé, ça c'est plutôt une erreur sur les X. On a une valeur sur X qui a été mal mesurée. Le fait que le X soit mal mesuré, dans notre modèle, son impact va se retrouver dans le epsilon_i. Le fait que X soit mal mesuré, l'erreur du modèle va se retrouver dans le epsilon_i. Et puis ce qu'on peut avoir aussi dans le epsilon_i, c'est d'autres facteurs qui influent sur Y et qui n'ont pas été pris en compte. Comme ils ne sont pas pris en compte, ils se retrouvent tous dans le epsilon_i. L'idée de la régression multiple, ça va être ça, ça va être de rajouter des variables supplémentaires pour réduire ces epsilon_i, pour avoir des epsilon_i qui soient plus petits et avoir une estimation plus précise, un modèle qui soit plus précis. On va rajouter des variables qui permettent de mieux expliquer y. J'ai construit le nuage de points avec le maximum d'ozone expliqué. Alors la variable explicative que j'ai choisie ici, c'est le maximum d'ozone de la veille. Donc on explique le maximum d'ozone d'une journée en fonction du maximum d'ozone de la veille. Ce qu'on voit, c'est que le nuage de points est plutôt allongé et plutôt orienté vers des petites valeurs du maximum d'ozone quand le maximum d'ozone de la veille était petit. Et puis de fortes valeurs du maximum d'ozone quand le maximum d'ozone de la veille était grand. Donc une liaison relativement forte entre le maximum d'ozone et le maximum d'ozone de la veille. Pour des petits maximums d'ozone de la veille, on a des petits maximums d'ozone, et pour les grands maximums d'ozone de la veille, on a des grands maximums d'ozone. Ce qu'on comprend bien, c'est que la pollution d'une journée se cumule à celle de la journée précédente. Et donc quand il y avait une grosse pollution la veille, il y a aussi de grandes chances pour qu'il y ait une grosse pollution le jour i. Donc ça, c'est ce que me dit le nuage de points, c'est qu'il y a une liaison. Et si je fais la régression ici, eh bien, on peut voir les estimations des coefficients. Donc on voit que ici, le coefficient qui correspond— alors inter, c'est intercept, c'est-à-dire le bêta 0, et maxO3v, c'est tout ce qui concerne le coefficient bêta 1. Donc le coefficient devant le maximum d'ozone de la veille. Et donc ici, avec ce coefficient bêta 1, eh bien j'ai une estimation de bêta 1, donc un bêta 1 chapeau qui vaut 0,68. Et là, ce qu'on a aussi, c'est un test, le test qui est construit ici, qui est un test de Student, qui me dit que le maximum d'ozone de la veille a un effet sur le maximum d'ozone. Effectivement, ça signifie qu'on rejette l'hypothèse H0, l'hypothèse H0 étant le coefficient est égal à 0. Donc là, je rejette l'hypothèse le coefficient est égal à 0. Ça veut dire que le coefficient est différent de 0 et donc que le maximum d'ozone de la veille influe sur le maximum d'ozone. Donc là, j'ai envie de dire qu'il y a un effet du maximum d'ozone de la veille sur le maximum d'ozone. Le bêta, le bêta 1 est significativement différent de 0. Alors maintenant, ce que vous pouvez voir aussi sur le graphe, c'est des croix qui correspondent aux points, mais à côté il y a une valeur, et cette valeur-là correspond en fait à la température à 9 heures. Et ce qu'on peut voir, c'est que quand la température, quand la valeur ici, la température à 9 heures est faible, on a plutôt tendance à avoir des des maximums d'ozone qui sont relativement faibles. Par contre, quand la température à 9 heures est élevée, on a des maximums d'ozone qui sont élevés. Donc ce qu'on voit, c'est qu'on pourrait presque faire plusieurs droites de régression. Une droite de régression ici du maximum d'ozone de la veille en fonction de la température à 9 heures quand la température est faible. Et puis une autre droite de régression ici avec le maximum d'ozone en fonction du maximum d'ozone de la veille pour les températures élevées. Donc on voit qu'on a envie de prendre en compte quand même la température à 9 heures dans le modèle, que le maximum d'ozone de la veille ne suffit pas et qu'on a envie de prendre une variable de température aussi. Donc ça, c'est ce qu'on va pouvoir faire en faisant de la régression multiple. C'est-à-dire pouvoir avoir une variable à expliquer, le maximum d'ozone, qui sera expliquée en fonction de plusieurs variables explicatives. Alors on va construire ou écrire le modèle de régression multiple. Vous allez voir que c'est très facile à écrire parce qu'on va juste dire qu'il y a plusieurs variables, mais finalement on va rien dire de plus. Donc là je vais reprendre les mêmes notations yi Ça va être la valeur pour Y pour le ième individu. Dans mon cas, ça va être le maximum d'ozone pour le jour i. Et je dis que c'est bêta 0, donc une constante, plus, et puis là je vais préciser l'effet de chacune des variables, l'effet d'une première variable, d'une deuxième, d'une troisième, jusqu'à une pième variable. Et donc là je vais dire bêta 1 fois Xi1. Donc x_i1, c'est la variable x1 prise pour le ième individu. Cette notation x_i1 signifie la ième valeur de la variable x1. Si ma première variable explicative, c'est la température à 9 heures, je vais dire ici que je prends bêta_1 fois la température à 9 heures le jour i, plus bêta_2 fois la température à 12 heures du jour i, plus bêta p fois la dernière variable, donc la PM, c'est le maximum d'ozone de la veille du jour i. Donc là, je dis juste, c'est en gros bêta 1 Xi, mais décliné pour la première variable, la deuxième, la troisième, la PM. Et puis même si j'ai beaucoup de variables, même si j'ai p variables, j'ai toujours un résidu epsilon_i. J'aurai toujours un écart entre ce que dit mon modèle, ce que peut prévoir mon modèle, et l'observation que je fais du maximum d'ozone. Ce résidu epsilon_i, je le mets dans mon modèle. Pour le résidu epsilon_i, j'ai toujours les mêmes hypothèses: espérance de epsilon_i égale 0, variance de epsilon_i égale sigma², et la covariance entre epsilon_i et epsilon_k est égale à 0. Donc là, en fait, ces hypothèses sur les résidus, c'est exactement les mêmes que pour la régression simple, les mêmes que pour l'analyse de covariance, que pour l'analyse de variance, pardon. Et donc on retrouve ces hypothèses-là tout le temps, d'accord, pour régression simple, multiple et l'analyse de variance. Donc là, la seule nouveauté, c'est le fait qu'on introduise plus qu'une variable, il y a p variables ici. Et donc le modèle va me traduire l'influence de chacune des variables sur la variable y. Donc si bêta 1 est positif, ça va dire, ça va vouloir dire que quand x augmente, x1 augmente, bien y augmente si bêta 1 est positif. Et puis au contraire, si bêta 1 est négatif, ça veut dire que quand x augmente, cette quantité bêta 1 x1 diminue et donc y diminue. D'accord? Donc selon le signe de bêta, de bêta 1, eh bien je vais savoir si x1 a tendance à faire augmenter y ou à faire diminuer y. C'est un modèle qui est additif parce qu'on ajoute l'effet de chacune des variables, d'accord, de la variable x1, de la variable x2, de la variable xp. Ces variables-là s'additionnent et donc de ce point de vue-là c'est un modèle qui est additif. Et puis enfin, même si c'est des modèles qui sont linéaire, c'est-à-dire où on prend en compte les effets de variables x1, x2 jusqu'à xp, on peut aussi prendre en compte les carrés des variables. Par exemple, le modèle yi= bêta 0+ bêta 1 xi+ bêta 2 xi²+ epsilon i, ce modèle-là qui me permettrait de prendre en compte l'effet de x à la fois d'un point de vue linéaire et d'un point de vue quadratique, Ça, ça peut s'étudier grâce aux modèles de régression multiple. Les modèles de régression multiple prennent en compte les effets linéaires, mais on peut aussi étudier des effets de x² par exemple. Ce que je veux dire par là, c'est qu'on ne va pas avoir de modèle multiplicatif. On ne va pas pouvoir écrire y= exp . 1+ β2 x_i2. Des modèles comme ça avec des exponentielles, on va pas pouvoir les étudier avec la régression multiple. Par contre, des choses qui s'additionnent comme ça avec des termes quadratiques éventuellement, ça, ça peut être géré avec tout ce qu'on va voir sur la régression multiple. Voilà, donc l'écriture du modèle, c'est pas très compliqué, c'est juste une extension de de la régression simple. Alors ce que je vais faire maintenant, c'est que je vais réécrire le modèle et le décliner pour chaque valeur de, pour chaque expérience. Donc le modèle, il s'écrit yi égale bêta 0 plus bêta 1 xi1, etc., là jusqu'à plus epsilon i. Donc c'est la ligne qui est ici. Si je prends pour la valeur i égale 1, bien ça va être la Là, je vais retrouver la première ligne. Donc je vais trouver y1 égal bêta 0 plus bêta 1 x11, c'est-à-dire que je prends la variable x1 et la première valeur de la variable x1, puis je prends la première valeur de la jième variable x et je prends la première valeur de la pm variable xp, d'accord? Et si je le fais, je réécris cette ligne pour Le dernier individu, pour l'individu n, eh bien je vais remplacer i par n et j'aurai yn égale bêta 0 plus bêta 1 xn1 plus etc. plus bêta p xn p plus epsilon. Donc là, ce que je fais, c'est que je réécris juste le modèle en remplaçant i par 1 ou par n. Alors j'ai mis des points de suspension, mais je pourrais écrire y1, je pourrais écrire ensuite y2 égale etc. etc. Donc j'aurai n lignes ici, une ligne pour chaque expérience. Alors pourquoi je fais ça? Bien parce que je vais pouvoir réécrire tout ça sous la forme matricielle y= xβ+ e avec des hypothèses sur mes résidus. Donc le résidu, ça va être e, et je vais pouvoir dire espérance de e= 0, variance de e= sigma carré identité. Je vais revenir sur ces résidus juste après, mais on va voir que tout ça là On peut le réécrire y= xβ+ e. Alors comment on fait? Tous les y qui sont ici, je vais les prendre et les mettre dans un seul vecteur. Donc je mets tous ces y dans un vecteur ici. Ensuite, je vais prendre tous les epsilon ici et les mettre dans un vecteur. Donc je mets tous les epsilon dans un vecteur que j'appelle e. Et après, tout ce qui est ici, là, Les bêta 0 plus bêta 1, etc., jusqu'à bêta p x1p ou xip. Tout ça, je dis que je peux l'écrire sous la forme d'un produit matriciel de cette matrice-là multipliée par ce vecteur-là. Alors cette matrice, c'est une matrice que je vais appeler grand X, et ce vecteur, je vais l'appeler bêta. Donc bêta, c'est un vecteur qui contient bêta 0, bêta 1, jusqu'à bêta p. Alors pourquoi ce produit matriciel est bien égal à ce qui est écrit ici? Bien, je vais faire le produit matriciel. Donc le produit matriciel, ça revient à multiplier une ligne ici par la colonne du vecteur bêta. Donc je vais faire 1 fois bêta 0, donc bêta 0, plus x11 bêta 1, plus etc. Plus x1j bêta j plus etc., plus x1p bêta p. Donc si je relis ce produit-là de cette ligne par cette colonne, vous allez voir que je suis en train de lire cette ligne-là, la première ligne ici, c'est-à-dire bêta 0 plus bêta 1 x11 fois x11 plus etc., plus x1j βj plus etc. plus x1p βp. Donc je suis bien en train de relire ce qui est écrit ici. Et donc si je veux lire une ligne ici, je peux la lire avec yn égale β0 plus β1 xn1 plus etc. plus βj xnj plus etc. plus βp xnp plus epsilon n. Donc vous voyez que j'ai relu cette ligne-là en ayant un produit y égale x bêta plus e. Alors pourquoi j'ai, je réécris ça y égale x bêta plus e? Parce que je vais avoir besoin de l'écrire de cette façon-là pour pouvoir faire tous les calculs et estimer les paramètres de mon modèle. Il n'y a pas de formule simple pour estimer les paramètres du modèle, on est obligé de passer par du calcul matriciel. Donc voilà, ça je voulais montrer qu'on écrivait Y= cette matrice X fois ce vecteur bêta+ E. Après, sur les résidus, on a aussi des hypothèses. J'écris ici espérance de E= 0. D'un vecteur E, c'est le vecteur avec tous les epsilon ici, donc c'est l'espérance de tous les epsilon. Et l'espérance de tous les epsilon i, c'est égal à 0. C'est ce qu'on a vu dans notre modèle. Si je reviens en arrière, ici on a vu espérance de epsilon i était égale à 0. Donc là, je dis juste que l'espérance de chaque résidu, c'est égal à 0, donc c'est un vecteur de 0. Ce que je peux noter plus simplement 0. Donc ça, quand j'écris espérance de E égale 0, ça veut juste dire que tous les résidus ont bien une espérance égale à 0. Et ensuite variance de E égale sigma carré fois une matrice identité. Donc sigma carré fois une matrice identité, c'est une matrice avec des sigma carrés sur la diagonale et des 0 partout ailleurs, puisque la matrice identité c'est des 1 sur la diagonale et des 0 partout ailleurs. Donc quand je multiplie des 1 sur la diagonale avec des 0 partout ailleurs par sigma carré, je vais avoir sigma carré sur la diagonale et des 0 partout ailleurs. Alors, la variance d'un vecteur, c'est quoi? C'est en fait une matrice qu'on appelle une matrice de variance-covariance. Donc je vais calculer la covariance entre Alors sur la première ligne entre epsilon 1 et sur la première colonne epsilon 1. Donc là, le premier sigma carré, ça correspond à la covariance entre epsilon 1 et epsilon 1. Covariance entre epsilon 1 et epsilon 1, covariance entre quelque chose et lui-même, c'est la variance. Donc ça, la variance de epsilon 1, c'est sigma carré. Là encore, c'est quelque chose qu'on avait écrit dans le modèle ici. La variance d'un résidu epsilon_i, c'est sigma carré. Et puis la covariance entre 2 résidus différents, c'est 0. Donc ça, on va le retrouver juste après. Ici, on a la covariance entre, sur la première ligne, epsilon_1, et sur la deuxième colonne, epsilon_2. Donc la covariance entre epsilon_1 et epsilon_2, je dis ici que c'est 0. C'est bien ce qu'on a vu, c'est que Quand on prenait la covariance entre 2 résidus différents, c'était 0. Donc là, je mets des 0 à chaque fois quand je fais la covariance entre epsilon_1 et autre chose que epsilon_1. Et donc ce qu'on va retrouver, c'est toujours la même chose, c'est sur la diagonale, je vais avoir la covariance entre un résidu et lui-même, c'est-à-dire la variance. Donc sur la diagonale, je vais avoir sigma carré, et en dehors de la diagonale, je vais avoir des 0. D'accord, donc ça, ça me permet de retrouver les hypothèses sur les résidus, donc le fait que les résidus soient non biaisés, soient tous égaux à 0, et que la variance des résidus soit sigma carré, que les résidus soient indépendants, que la covariance soit nulle. Donc tout ça, je le retrouve dans mon écriture matricielle ici. Voilà, alors maintenant l'objectif, nous, ça va être d'estimer les coefficients bêta 0, bêta 1 jusqu'à bêta p, donc d'estimer le vecteur de paramètres bêta. Alors qu'est-ce qu'on va faire pour estimer les paramètres bêta? Eh bien, on va chercher à minimiser l'écart entre une observation et la prévision par le modèle. Plus exactement, on va chercher à minimiser l'écart entre l'observation et la prévision par le modèle, le tout au carré. Ici, l'observation, c'est la valeur que j'observe pour y, c'est le yi. Et puis ça ici, bêta 0+ bêta 1 xi1+...+ bêta p xip, ça c'est la prévision par le modèle. Dans la prévision par le modèle, j'ai évidemment pas de epsilon i. Donc là, cette prévision-là par le modèle, je veux qu'elle soit la plus proche possible de yi. Sauf que je veux qu'elle soit la plus proche possible de yi, mais je le veux aussi pour tous les i, toutes les expériences. Donc je vais chercher les bêtas tels que la somme des carrés des erreurs soit la plus petite possible. Donc ici, ce qui est écrit, en fait, c'est Ça, c'est l'observation, ça, c'est la prévision. Donc c'est l'observation pour l'individu i, et là, la prévision pour l'individu i. Et donc je cherche à minimiser l'écart entre observation et prévision, et l'écart au carré. Et ça, je somme sur tous mes individus. Donc ce qui est juste écrit, c'est que l'estimation du bêta, je vais le faire par le critère des moindres carrés. Donc le critère qui minimise la somme des carrés des résidus. Alors ça, ça peut se réécrire. Alors il y a du calcul matriciel qu'on peut faire ici. Donc ça, on peut le réécrire sous forme matricielle. C'est minimiser la norme entre y moins x bêta. Ça, c'est égal à x bêta. Alors la norme au carré de y moins x bêta, c'est y moins x bêta transposé fois y moins x bêta. Je vais peut-être pas rentrer trop dans ces calculs matriciels parce que je crois que vous n'êtes pas trop, pas trop formés sur le calcul matriciel. Mais c'est juste, voilà, possible en fait de trouver les bêtas en minimisant cette quantité-là. Alors minimiser cette quantité-là, c'est minimiser une fonction. Et donc pour minimiser une fonction, on va dériver cette fonction et annuler la dérivée. C'est aussi simple que ça. Simple entre guillemets, sauf que c'est de la dérivation matricielle. Il y a des règles de dérivation pour les matrices. Je redonne les règles ici. Je pense que je ne vais pas rentrer dans le détail pour vous, ce n'est pas forcément utile pour le cours, mais sachez que pour trouver le bêta chapeau, ce n'est pas si compliqué que ça, c'est 3 lignes de calcul. Donc il faut connaître les règles de dérivation matricielle et puis dériver la formule qui est ici. Donc si je dérive la formule, je vais tomber sur x prime x bêta chapeau égale x prime y. Alors x, quand il y a le prime ici, ça veut dire que je prends la transposée de x. Donc la transposée de x, ça veut dire que les lignes de x, je les écris en colonnes. C'est ça que ça veut dire. Et donc, bien, de cette équation-là, x prime x bêta chapeau égale x prime y, je peux déduire bêta chapeau. Eh bien, je vais multiplier par l'inverse de x prime x et avoir x prime x moins 1 fois x prime x bêta chapeau, ça va me donner bêta chapeau égale x prime x moins 1 x prime y. Donc ça, c'est possible dès que X prime X est inversible. Donc la formule qu'on va utiliser, la formule matricielle qu'on va utiliser pour estimer les coefficients, ça va être ça, ça va être X prime X moins 1 X prime Y. Alors c'est une formule qu'on va retrouver pour l'analyse de variance aussi. C'est la formule qui est utilisée par tous les logiciels pour estimer les coefficients. Tous les logiciels travaillent avec le produit matriciel. Alors vous, vous n'allez jamais le faire à la main parce qu'inverser une matrice, c'est très compliqué. Quand c'est une matrice 2x2, ça va. Dès que c'est des matrices qui sont plus grandes, c'est quasi impossible. Et vous, vous allez vous retrouver très souvent avec des matrices qui sont beaucoup plus grosses et donc qui sont très difficilement inversibles. Donc ça veut dire que vous n'aurez jamais à faire à la main ce calcul de bêta chapeau. Ce sera toujours les logiciels qui feront les calculs. Alors quand est-ce que X'X est inversible? X'X est inversible quand on a plus de données que de paramètres à estimer. Donc si n est suffisamment grand, est plus grand que le nombre de paramètres que j'ai à estimer. Alors combien j'ai de paramètres à estimer? Si j'ai p variables, j'ai bêta 1 jusqu'à bêta p, ça me fait p paramètres, plus bêta 0, ça me fait p+ 1 paramètres. Donc quand n est plus grand que p+ 1, en général, la matrice est inversible. Et donc je peux calculer x'x- 1, x'y. Ça pourrait éventuellement ne pas être inversible si j'avais une variable, une variable x qui s'explique exactement en fonction d'autres variables x. En gros, si vous avez mis une variable x1, une variable x2, et que vous mettez aussi la variable qui serait la somme de x1 et x2, dans ce cas-là, vous ne pourriez pas faire la régression parce que la matrice X'X ne serait pas inversible. Parce que x1+ x2, c'est la somme de 2 colonnes de X. Et donc dans ce cas-là, on va dire que les colonnes de X ne sont pas linéairement indépendantes. Mais si vous avez des vraies observations, En général, il n'y a pas de souci. Si chaque colonne, c'est une variable que vous avez observée, vous allez pouvoir inverser X'X. Le plus souvent, dans vos vraies données, dans vos vraies problématiques, vous avez bêta chapeau qui peut s'estimer, qui peut se calculer parce que X'X est inversible. Les propriétés de l'estimateur: qu'est-ce qu'on veut Sur les propriétés d'un estimateur, on veut qu'un estimateur soit sans biais, c'est-à-dire qu'en moyenne, on ne se trompe pas. En moyenne, on ne se trompe pas, c'est-à-dire que l'espérance de bêta chapeau égale bêta. Là, ça signifie que mon estimateur est sans biais et je ne fais pas d'erreur systématique. Je n'ai pas tendance à avoir une valeur plus élevée que la vraie valeur ou plus faible que la vraie valeur. Là, en moyenne, je ne me trompe pas. Ensuite, deuxième qualité qu'on attend d'un estimateur, c'est sur sa variance. Alors qu'est-ce qu'on attend sur la variance d'un estimateur? On s'attend à ce que cette variance soit la plus petite possible, c'est-à-dire que la variabilité de l'estimateur soit la plus faible possible. Si on a une variabilité qui est faible, ça veut dire que on a une estimation qui est très précise. Le fait d'avoir l'espérance de bêta chapeau égale bêta, ça veut dire qu'en moyenne, on ne se trompe pas, on est autour de la vraie valeur. Et si en plus il y a une très faible variabilité de bêta chapeau, ça voudra dire qu'on ne bougera pas beaucoup autour de bêta chapeau et donc on sera forcément très près de la vraie valeur. Si maintenant on avait la vraie valeur qui était donnée et puis une très forte variabilité, de bêta chapeau, donc ça voudrait dire que bêta chapeau peut prendre des valeurs très différentes. Comme nous on n'a qu'une seule estimation, il se peut qu'on tombe assez loin de la vraie valeur. Donc ce qu'on attend, c'est d'avoir des paramètres qui soient précis et donc des variances qui soient petites. Donc là, la variance de bêta chapeau, on dit que c'est x' fois sigma carré. Le fait qu'il y ait X' ici, ça signifie que la variance de bêta chapeau dépend de X, c'est-à-dire dépend des expériences qu'on va réaliser. Donc ça, c'est quelque chose qui est intéressant, c'est-à-dire que quand on va pouvoir jouer sur les expériences à réaliser, on va pouvoir trouver des X tels que la variance de bêta chapeau soit la plus petite possible. On verra ça dans le dernier cours sur les plans d'expériences. Et là, la variance de bêta j chapeau, donc c'est la variance d'un coefficient, eh bien en fait il faut juste aller chercher dans la matrice X prime X moins 1 la bonne valeur sur la diagonale. Donc la jème ligne, jème colonne, ça donne la valeur de la variance d'un coefficient. Et après je multiplie par sigma carré aussi. Donc ça, ça donne les variances de bêta chapeau, du vecteur de bêta chapeau, ou la variance d'un coefficient. Alors il nous reste un paramètre à estimer qui est la variance des résidus. Pour estimer la variance des résidus, on va d'abord calculer la prévision du modèle, donc les valeurs prédites. Pour prédire avec notre modèle, on va utiliser les estimations qu'on vient de trouver, donc les bêta 0 chapeau plus bêta 1 chapeau fois Xi1 plus etc. Plus bêta p chapeau fois x ip. Ça, ça va être la prévision de mon modèle pour un ensemble de valeurs pour chaque variable explicative. Donc si j'ai un jour donné les températures, les nébulosités, le maximum d'ozone de la veille, à partir des valeurs, je vais pouvoir prédire la valeur du maximum d'ozone. J'ai juste à utiliser la formule en multipliant la température à 9 heures par le coefficient que je viens d'estimer pour la température à 9 heures. Et puis je répète, je fais la somme en utilisant toutes les variables. Donc ça, ça va me prédire le maximum d'ozone, c'est ce que me prévoit mon modèle. Ensuite, quand j'ai les prévisions, je peux calculer l'écart entre la prévision et l'observation, donc yi c'est la valeur que j'observe et ŷ c'est la valeur que je prévois avec mon modèle. Donc l'écart entre les deux, c'est l'écart entre l'observation et la prévision. Donc l'écart entre observation et prévision, c'est ce qu'on appelle le résidu. Donc ça c'est mon résidu. Et bien puisque j'ai le résidu, je vais pouvoir calculer la somme des carrés des résidus. Donc la somme des carrés des résidus Ici, vous voyez, je retrouve l'écart entre observation et prévision. C'est la somme des carrés des résidus. Alors, par quoi est-ce que je vais diviser ici pour avoir une bonne estimation de la variance des résidus? Par quelle valeur est-ce que je vais diviser la somme des carrés des résidus pour avoir une bonne estimation de la variance des résidus? Le nombre de paramètres estimés. Oui, ça c'est la bonne réponse, c'est le nombre de données n moins le nombre de paramètres à estimer. Exactement ça. Et donc le paramètre, le nombre de paramètres estimés, c'est combien ici? Bien, j'ai bêta 0, et puis après j'ai bêta 1, bêta 2 jusqu'à bêta p. Donc si je compte bêta 1 jusqu'à bêta p, ça me fait p coefficients plus le bêta 0, ça fait p+ 1. Donc le nombre de paramètres à estimer, c'est p+ 1 ici. Donc le nombre que je vais mettre ici, ça va être n moins entre parenthèses p+ 1. C'est-à-dire n- p- 1. Donc c'est toujours la même démarche, c'est-à-dire les degrés de liberté de la résiduelle, ce qui est donné ici, c'est le nombre de données moins le nombre de paramètres estimés. Donc n moins, et après il suffit entre guillemets de compter les paramètres. Donc les paramètres de bêta 1 jusqu'à bêta p, ça me fait p paramètres, plus le bêta 0, ça fait p+ 1. Donc n- p- 1 degrés de liberté ici, donc je divise par n- p- 1. Et si je divise par n- p- 1, eh bien j'ai bien travaillé, donc j'ai bien un estimateur qui est sans biais. L'espérance de sigma chapeau carré, c'est égal à sigma carré. Si j'avais divisé par n ou par n- 1 ou par autre chose, eh bien j'aurais un estimateur biaisé. Voilà, donc là j'ai estimé tous les paramètres de mon modèle. D'accord, alors on va continuer. Alors ce qui va nous intéresser maintenant, ça va être d'essayer de comprendre pourquoi les y varient. Donc les y, c'est les valeurs observées, c'est mon maximum d'ozone. Il y a une certaine variabilité dans ce maximum d'ozone, il n'y a pas toujours la même valeur, il y a une certaine variabilité. Et ce qu'on va chercher à comprendre, c'est cette variabilité du maximum d'ozone. Et ce qu'on va chercher à voir, c'est est-ce que mon modèle arrive à comprendre cette variabilité de y. Donc vous voyez, le y, le maximum d'ozone, il bouge autour de la moyenne du maximum d'ozone. Donc il y a une certaine variabilité. Donc ici, c'est ce que j'ai écrit, yi moins y barre. y barre, c'est la moyenne des y. Donc là, je suis en train de calculer la variabilité des y. Donc la variabilité, c'est en gros une variance, La seule chose que j'ai pas fait, j'ai pas divisé par n- 1, mais sinon c'était une variance. Donc la variabilité, c'est juste la somme des Yi- Y barre carrée. Donc là, je suis en train de dire que le maximum d'ozone bouge autour de la moyenne. Eh bien ça, cette quantité-là, cette variabilité, je dis que je peux la décomposer en 2 termes: une variabilité qui est expliquée par le modèle et une variabilité qui n'est pas expliquée par le modèle, qui correspond à la variabilité résiduelle. Alors, comment on peut montrer qu'il y a égalité ici, que cette variabilité totale se décompose en 2 termes? C'est relativement simple, mais c'est un peu calculatoire, donc je vous passe les calculs, mais faites-moi confiance, on a bien égalité ici entre Yi moins Y barre au carré, la somme des Yi moins Y barre au carré, qui est égale à la somme des Yi chapeau moins Y barre au carré, plus somme des Yi moins Yi chapeau carré. Et donc ça, Yi chapeau moins Y barre au carré, c'est la variabilité du modèle puisque là j'ai Yi chapeau, donc c'est bien la variabilité expliquée par le modèle. Et puis ici, ce qu'on reconnaît, c'est Yi moins Yi chapeau, on reconnaît les résidus, donc ça c'est la variabilité résiduelle. Donc ce que je suis en train de dire ici, c'est que la variabilité totale dY, je la décompose en 2 quantités: variabilité expliquée par le modèle et variabilité résiduelle, c'est-à-dire pas expliquée par le modèle. Et bien, il y a des degrés de liberté qui sont associés à chaque terme. Donc la variabilité totale, les degrés de liberté, eh bien, j'ai n données, j'ai estimé juste un paramètre qui est le Y barre, donc je vais avoir n- 1 degrés de liberté. Donc j'ai n- 1 degrés de liberté pour le total. Pour le modèle, c'est assez compliqué à calculer, donc ce qu'on va faire, c'est qu'on va calculer les degrés de liberté de la résiduelle. Et ça, les degrés de liberté de la résiduelle, eh bien, on sait les calculer. C'est d'ailleurs Nathan qui l'a dit tout à l'heure, c'était le nombre de données moins le nombre de paramètres qu'on a estimés. Donc n- p- 1, ça c'est les degrés de liberté. La résiduelle. C'est ce qu'on avait trouvé tout à l'heure. Et donc après, pour trouver les degrés de liberté du modèle, je le fais juste par différence. Donc n- 1- , j'ai p degrés de liberté pour le modèle. Donc c'est comme ça qu'on trouve les degrés de liberté du modèle, par différence de n- 1- . Et donc ensuite, une fois qu'on a décomposé cette variabilité, on va pouvoir construire ce qu'on appelle un tableau. Alors le tableau s'appelle tableau d'analyse des variances. Le terme est sûrement très mal choisi parce qu'on est bien en régression, mais c'est un tableau qui s'appelle comme ça, tableau d'analyse des variances. Et qu'est-ce qu'on met dans ce tableau? On met la somme des carrés expliqués par le modèle, donc c'est cette quantité-là ici que je mets dans le tableau, et je mets à côté les degrés de liberté du modèle. Ensuite je mets la somme des carrés de la résiduelle, cette quantité-là, et les degrés de liberté de la résiduelle. Et puis la somme des carrés totale et les degrés de liberté totale. Ensuite, une fois que j'ai les sommes de carrés et les degrés de liberté, je vais faire le ratio somme de carrés divisé par les degrés de liberté. Donc somme des carrés du modèle divisé par les degrés de liberté du modèle. Donc là, j'ai écrit somme des carrés du modèle, c'est-à-dire cette quantité-là, divisée par p. Et puis ici, j'écris somme des carrés de la résiduelle divisée par les degrés de liberté de la résiduelle, n- p- 1. Ces 2 quantités, somme de carrés divisée par les degrés de liberté, c'est ce qu'on appelle des carrés moyens. J'avais la somme, je divise par les degrés de liberté, ça me donne la moyenne des carrés. J'ai calculé carré moyen du modèle et carré moyen de la résiduelle. On va se servir de ces quantités-là juste après pour construire un test qu'on verra par la suite. Avant de construire le test, un coefficient qu'il est utile de calculer pour savoir si notre modèle est bon ou pas. Ce coefficient, c'est ce qu'on appelle le coefficient de détermination. Coefficient de détermination multiple, ou le R². Le R², c'est juste le pourcentage de variabilité expliqué par le modèle. C'est la somme de carrés expliqués par le modèle sur la somme des carrés total. Vous voyez que cette somme de carrés divisée par la somme de carrés total, ça me dit à quel point est-ce que mon modèle va permettre d'expliquer la variabilité totale. C'est le pourcentage de variabilité totale qui est expliquée par le modèle. Donc évidemment, plus cette quantité-là sera grande, plus mon modèle sera intéressant et prédira bien. Plus cette quantité est grande, plus elle se rapproche de 1, meilleur sera le modèle. Somme de carrés totale, c'est somme de carrés du modèle plus somme de carrés résiduels. Donc la somme de carrés du modèle, c'est somme de carrés totale moins somme de carrés résiduels. Donc ici, j'ai juste réécrit somme de carrés totale divisée par somme de carrés totale, ça fait 1, moins somme de carrés résiduels divisée par somme de carrés résiduels. Donc ça, ça me dit quoi? Ça me permet de dire que le R² est toujours compris entre 0 et 1. Donc c'est toujours supérieur à 0 parce que somme de carrés divisée par une somme de carrés, c'est que des termes positifs, donc ça c'est toujours positif, c'est toujours donc le R² supérieur à 0. Et puis ici, si je regarde ça, j'ai une somme de carrés ici divisée par une somme de carrés, donc c'est que des choses positives aussi. Donc ça, c'est toujours plus petit que 1. Donc le R² sera toujours compris entre 0 et 1. C'est égal à 0 quand le modèle explique strictement rien, et c'est égal à 1 quand le modèle explique toute la variabilité Le R² varie entre 0 et 1. Plus il est proche de 1, meilleur est le modèle. La question qu'on me pose souvent, c'est: à partir de quand est-ce que mon modèle est bon ou pas? Et là, j'ai envie de dire que ça dépend un peu du domaine dans lequel vous travaillez. Si vous travaillez en physique, assez souvent vous allez avoir des R² qui seront très élevés parce que vous pouvez avoir des mesures qui sont très précises. Donc il n'est pas rare de voir des R² qui sont proches de 0,95 ou même plus, 0,98. Maintenant, si vous êtes en agronomie ou en agroalimentaire, là vous avez de la variabilité animale, de la variabilité expérimentale qui est beaucoup plus importante. Et donc si vous avez des R² qui sont de 0,6, 0,7, c'est souvent déjà pas mal. Donc vous voyez que le Un R2 grand, ça dépend un peu du domaine dans lequel on travaille. Et donc nous, bien des R2 de 0,6, 0,7, ça peut déjà être bien. Voilà, il faut avoir ça en tête. Ça varie entre 0 et 1, et après, bien plus c'est proche de 1, meilleur c'est. Alors pour le calculer, bien c'est les logiciels qui vont le calculer. On peut le calculer à la main si on connaît les prévisions du modèle. Le R2, c'est Le coefficient de corrélation entre les observations et les prévisions, c'est ce coefficient de corrélation au carré. Donc on retrouve bien que si le R, si la corrélation entre les observations et les prévisions est proche de 1, ça veut dire que le modèle prédit bien, il prédit quasiment comme les observations. Donc voilà, ça c'est si on peut le calculer à la main, si on connaît les prévisions du modèle et les observations. Mais c'est le seul cas, et en général ça va vous être donné par un logiciel. Je peux pas vous dire quand est-ce qu'un modèle est très bon, quand est-ce qu'un modèle est— enfin si, je peux vous dire qu'un modèle est très bon quand le R² est proche de 1. Mais maintenant, si vous avez un R² qui est de 0,6, est-ce que c'est un bon modèle ou pas? C'est difficile de répondre à cette question. Maintenant, on peut répondre à la question: est-ce que le R² est significativement différent de 0 ou pas? Donc là, on fait passer la notion de test: est-ce qu'il y a un effet significatif? Voilà, on va rentrer sur la partie test: est-ce que le R² est significativement différent de 0 ou pas? Alors, le R² est égal à 0, ça signifie que le modèle n'est pas intéressant du tout. Le R² égal 0, ça veut dire que mon modèle explique rien. Donc l'hypothèse est-ce que le R2 est égal à zéro, ça revient à tester est-ce que le modèle est inintéressant ou bien au contraire est-ce qu'il est intéressant. Donc on va pouvoir construire un test et le test qu'on construit c'est comme à chaque fois qu'on construit un test, c'est un test où on va avoir deux hypothèses, une hypothèse H0 et une hypothèse alternative H1. Donc H0, ça va être le modèle n'est pas intéressant du tout. En français, on va dire le modèle n'est pas intéressant. Le modèle n'est pas intéressant, ça se traduit comment? Ça se traduit par le R² est égal à 0. On peut écrire l'hypothèse H0 de cette façon-là, R²= 0, ou on peut écrire l'hypothèse Tous les coefficients bêta j sont égaux à zéro, c'est-à-dire bêta un, bêta deux jusqu'à bêta p sont égaux à zéro. Alors effectivement, si bêta un, bêta deux jusqu'à bêta p sont égaux à zéro, ça signifie quoi? Si je reprends l'écriture de mon modèle ici, si j'ai bêta un, bêta deux jusqu'à bêta p qui est égal à zéro, ça signifie que mon modèle il s'écrit juste Beta 0 plus epsilon i. Ça veut dire quoi? Ça veut dire que mon modèle n'utilise pas les variables x1, x2, xp pour comprendre y. Ça veut dire que je suis en train de construire un modèle où finalement, bien, j'ai pas du tout d'effet des variables explicatives sur y. Donc c'est vraiment un modèle qui est pas intéressant, d'accord, qui prend pas en compte mes variables explicatives. Voilà, donc ici, si tous les coefficients beta j sont égaux à 0, ça veut dire qu'il n'y a aucune variable explicative qui influent sur Y. Alors vous notez ici que le bêta 0, il m'intéresse pas en fait. Bêta 0, c'est une constante qui m'intéresse pas. Je suis pas en train de tester, je suis plus en train de tester l'effet des variables explicatives. Donc est-ce que les coefficients bêta 1 jusqu'à bêta p sont tous égaux à 0? Et puis l'alternative, c'est bien mon modèle n'est pas inintéressant, est intéressant, le R² est différent de 0, ou bien Il existe au moins un j tel que bêta j soit différent de zéro. Donc il existe au moins un coefficient bêta j qui soit différent de zéro. C'est-à-dire il existe au moins une variable explicative x j qui influe sur y puisque le coefficient est différent de zéro. D'accord? Donc l'hypothèse h zéro c'est il n'y a aucune variable qui est intéressante. Toutes les variables je peux considérer que le coefficient est égal à zéro. Donc il n'y en a aucune qui qui influe sur Y. Et puis l'hypothèse alternative H1, c'est: j'ai au moins un coefficient qui est différent de 0. Je sais pas lequel, je sais pas s'il y en a plusieurs, mais il y en a au moins un qui influe sur Y. Il y a au moins donc une variable explicative qui influe sur Y. D'accord? Donc ça, ce sont les hypothèses qu'on va tester. Et puis après, une fois qu'on a défini les hypothèses qu'on teste, on doit chercher une statistique de test Alors, pour chercher la statistique de test, ce que je peux vous dire, c'est que l'espérance du carré moyen du modèle, donc là c'est variabilité du modèle divisée par les degrés de liberté du modèle, p, donc le carré moyen du modèle, en moyenne, si je suis sous l'hypothèse H0, l'espérance c'est sigma carré. L'espérance du carré moyen du modèle, c'est sigma carré si l'hypothèse H0 est vraie. L'espérance du carré moyen de la résiduelle, l'espérance Le carré moyen de la résiduelle, c'est sigma chapeau carré. Et sigma chapeau carré, on avait vu que son espérance, c'était sigma carré. Donc l'espérance du carré moyen de la résiduelle, c'est sigma carré aussi. Donc sous l'hypothèse H0, ces deux quantités, carré moyen du modèle et carré moyen de la résiduelle, sont en gros du même ordre de grandeur. En moyenne, elles sont comparables. Donc quel test je vais construire? Je vais construire un test qui permet de comparer ces carrés moyens du modèle et carrés moyens de la résiduelle. Je vais comparer ces deux quantités et me dire, si ces deux quantités sont comparables, c'est que je dois être sous l'hypothèse H0 et donc variabilité expliquée par le modèle et variabilité résiduelle sont à peu près du même ordre de grandeur. Le principe du test ici, ça va être de comparer ces 2 variabilités. C'est en fait ici un simple bête test de comparaison de variance. Je vais comparer la variabilité du modèle et la variabilité de la résiduelle. Ces 2 quantités, je les compare, et puis à partir de ça, je vais pouvoir prendre une décision. L'idée qu'il y a dans cette comparaison, c'est de se dire Si la variabilité expliquée par le modèle est à peu près du même ordre de grandeur que la variabilité résiduelle, donc si les 2 quantités, variabilité du modèle et variabilité résiduelle, sont du même ordre de grandeur, ça veut dire que mon modèle explique à peu près autant que la résiduelle. Ça veut dire que mon modèle explique à peu près autant que ce que j'arrive pas à expliquer. Et donc là, j'ai envie de dire, bien, mon modèle, il explique pas plus que ce que j'arrive pas à expliquer, donc il explique pas grand-chose. Et donc si ces 2 quantités, carré moyen du modèle et carré moyen de la résiduelle, si ces 2 quantités sont comparables, je vais avoir envie de dire que mon modèle n'est pas très intéressant. Je vais avoir envie d'accepter l'hypothèse H0. Au contraire, si quand je compare les 2 variabilités, la variabilité expliquée par le modèle est beaucoup plus grande que la variabilité résiduelle, ça voudra dire que mon modèle explique beaucoup plus de choses que la résiduelle. Ça veut donc dire que mon modèle est intéressant. Et dans ce cas-là, je vais avoir envie de rejeter l'hypothèse H0 et de considérer l'hypothèse H1 et dire que j'ai au moins un coefficient qui est différent de 0. Donc dans l'idée du test, c'est un test où je prends la variabilité résiduelle comme référence et je compare la variabilité du modèle à cette variabilité de référence. Si La variabilité du modèle est du même ordre de grandeur, j'accepte H0. Je dis mon modèle est pas terrible, il explique pas tellement plus que la résiduelle. Et si la variabilité du modèle est beaucoup plus grande que la variabilité résiduelle, je vais avoir envie de dire mon modèle est intéressant, il explique plus que la variabilité résiduelle. Donc maintenant qu'on a donné l'idée du test, il suffit de le mettre en œuvre. Donc la statistique de test, ça va être le carré moyen du modèle divisé par le carré moyen de la résiduelle. Donc c'est vraiment la comparaison de la variabilité du modèle et de la variabilité résiduelle. Sous l'hypothèse H0, je sais que ces 2 quantités sont comparables. Donc si ces 2 quantités sont comparables, la loi de ce ratio carré moyen du modèle sur carré moyen de la résiduelle, ça va être une loi de Fisher puisque je suis en train de faire un test de comparaison de variance, ça va être une loi de Fisher avec les degrés de liberté du numérateur, donc le numérateur il a p degrés de liberté, et les degrés de liberté du dénominateur n- p- 1. Donc là, je vais juste dire que sous l'hypothèse H0, la statistique de test ici, ce ratio de carré moyen du modèle sur carré moyen de la résiduelle, sous H0 ça suit une loi de Fisher avec p et n- p- 1 degrés de liberté. Voilà, donc ça, ça nous fait construire notre test. Alors, 2 solutions ensuite, une fois qu'on a construit le test: soit on calcule cette quantité, je calcule carré moyen du modèle sur carré moyen de la résiduelle, et puis après, bien, je regarde quelle valeur j'obtiens. Donc par exemple, si j'obtiens une valeur de 10, je me dis, bien, une valeur de 10, il est très peu probable que ça provienne d'une loi de Fisher, de cette loi de Fisher. C'est vraiment très très grand, la probabilité pour que ça provienne d'une loi de Fisher est très très faible. Donc je vais me dire que ça provient pas d'une loi de Fisher, je remets en cause que ça provienne d'une loi de Fisher. Et donc si je remets en cause que ça provienne d'une loi de Fisher, je suis en train de remettre en cause ce qui est écrit ici: sous H0, ça suit une loi de Fisher. Donc si je remets en cause ça, ça veut dire que je suis pas sous H0. Donc si la statistique de test ici est très grande, bien, je remets en cause l'hypothèse que ça provienne d'une loi de Fisher, et donc je remets en cause l'hypothèse H0. Et donc je vais dire bien qu'il y a au moins un coefficient qui est différent de 0, il y a au moins un bêta j qui est différent de 0. Je sais pas lequel, je sais pas s'il y en a plusieurs, mais il y en a au moins un qui est différent de 0. Si maintenant cette quantité est pas très grande, elle est par exemple de 1, ça veut dire que variabilité du modèle est du même ordre de grandeur que la variabilité résiduelle. Et je me dis, bien oui, ça, ça peut provenir d'une loi de Fisher, et donc cette hypothèse est acceptable, et donc j'accepte l'hypothèse H0. D'accord? Donc là, ce test peut être construit en calculant la statistique de test et en regardant si cette valeur peut provenir d'une loi de Fisher. L'autre façon de regarder, c'est de regarder la probabilité critique associée à ce test. Maintenant, tous les logiciels vous donnent la probabilité critique. Si la probabilité critique est inférieure à 5%, vous avez très peu de chances de vous tromper en rejetant H0, et donc vous allez rejeter l'hypothèse H0. Est-ce que c'est clair pour le test de Fisher? C'est vraiment un test global qui me permet de voir si globalement il y a un effet du modèle. Est-ce que mon modèle est intéressant ou est-ce qu'il n'est pas intéressant du tout? Si le modèle n'est pas intéressant du tout, ça veut dire que je me suis trompé dans le choix de mes variables explicatives. Ça veut dire que j'ai pris des variables que je pensais explicatives et qui ne sont pas vraiment explicatives en fait. Au contraire, si je rejette l'hypothèse H0, si je considère qu'il y a au moins un bêta qui est différent de 0, j'ai envie d'aller voir quel bêta est différent de zéro? Est-ce que c'est bêta 1, bêta 2, bêta 3, bêta p? Donc là, je vais avoir envie de construire des tests coefficient par coefficient. Donc là, c'est ce que je vais faire ici. Je vais tester est-ce que ce coefficient bêta 1, par exemple, est égal à zéro? Alors j'ai mis bêta j, mais on va le tester pour bêta 1. Ensuite, on testera pour bêta 2, pour bêta 3, mais on fait les tests individuellement, d'accord. Donc pour bêta 1, je vous dis ici que la loi de bêta 1 chapeau, c'est une loi normale d'espérance bêta 1 et de variance sigma carré de bêta 1 chapeau. Donc ça, je vous donne la loi de bêta 1 chapeau en vous disant que c'est une loi normale, il est sans biais, d'espérance bêta 1 et de variance sigma carré de bêta 1 chapeau. Et là, je dis juste que la variance de bêta 1, je peux la retrouver dans la matrice de variance-covariance. C'est pas très important ce qui est ici. Pour passer de cette ligne-là à cette ligne-là, qu'est-ce que j'ai fait? Bien, j'ai juste centré, donc j'ai calculé bêta 1 chapeau, bêta j chapeau moins bêta j, et je divise par l'écart-type. Je divise par sigma de bêta j chapeau. Donc là, j'ai centré et divisé par l'écart-type. Si je fais ça, la loi de bêta j chapeau moins bêta j sur sigma de bêta j chapeau, ça va être une loi normale centrée réduite. J'ai juste centré et divisé par l'écart-type, et donc j'ai juste centré réduit. Ensuite, Sigma de bêta j chapeau ici, c'est la vraie valeur de l'écart-type de bêta j chapeau. Et la vraie valeur, je la connais pas. Moi, j'ai juste des expériences qui me permettent d'estimer cette valeur, mais j'ai pas, je connais pas la vraie valeur. Donc je vais remplacer le sigma de bêta j chapeau, cette vraie valeur, par une estimation, par un estimateur ici, sigma chapeau de bêta j chapeau. Et donc si je divise par sigma chapeau de bêta j chapeau, je vais plus avoir une loi normale centrée réduite. Je vais avoir quoi comme loi? Je vais avoir la loi de Student avec, pour Student, bien les degrés de liberté de la résiduelle. Donc ici, j'ai la loi de Student avec les degrés de liberté de la résiduelle. Et donc ce que me dit cette dernière équation, elle me dit que bêta j chapeau moins bêta j sur sigma chapeau de bêta j chapeau, ça suit une loi de Student à n moins p moins 1 degrés de liberté. Grâce à la connaissance de cette loi, je vais pouvoir faire 2 choses: soit construire des tests, soit construire des intervalles de confiance de bêta j. Donc soit construire un test et dire est-ce que bêta j est égal à 0 par exemple, soit construire un intervalle de confiance. Donc je vais d'abord construire un test et tester est-ce que bêta 1 égal 0 ou est-ce que bêta 2 égal 0 ou est-ce que ici bêta j égal 0. Donc je teste juste est-ce que ce coefficient bêta j est égal à 0 contre est-ce que bêta j est différent de 0. Donc là je suis sur un test d'un coefficient. Tout à l'heure on était sur le test avec, on testait plein de coefficients égaux à 0 simultanément, bêta 1, bêta 2 jusqu'à bêta p. Et donc quand on teste plusieurs choses, on est sur des tests de Fisher, d'accord? Donc je testais plein de coefficients simultanément et donc j'étais sur des tests de Fisher. Maintenant je teste un seul coefficient et donc je vais être sur des tests de Student. Donc là l'hypothèse H0 c'est bêta j égale 0, c'est-à-dire ce coefficient est égal à 0. Et comment ça se traduit? Ça se traduit: la variable j, la jème variable, n'apporte pas d'informations supplémentaires intéressantes sachant que les autres variables sont déjà dans le modèle. Donc là, faites bien attention à la lecture de cette hypothèse. La lecture, c'est pas la variable j n'est pas intéressante, c'est la variable j n'est pas intéressante sachant que j'ai déjà toutes les autres variables dans le modèle. Par exemple, la température à 9 heures n'est pas intéressante sachant que j'ai déjà la température à 12 heures et la température à 15 heures. Vous voyez que c'est un petit peu différent par rapport à la température à 9 heures n'est pas intéressante. Parce que si j'ai déjà la température à 12 heures et la température à 15 heures dans mon modèle, peut-être que la température à 9 heures n'apporte pas d'informations complémentaires intéressantes. Et donc dans ce cas-là, j'ai envie de l'enlever du modèle. Mais ça veut pas dire qu'elle est pas intéressante du tout. Si j'avais pas T12 et T15, peut-être qu'elle serait intéressante. D'accord? Donc là, je suis vraiment en train de tester une variable sachant que toutes les autres sont dans le modèle. Donc maintenant, puisque je teste bêta j égale zéro, bien je reviens ici. Là, je vous avais donné la loi de bêta j chapeau moins bêta j sur sigma chapeau de bêta j chapeau. Si je veux tester bêta j égal 0, je vais avoir cette valeur-là qui est égale à 0, bêta j égal 0. Et donc sous l'hypothèse H0, bêta j égal 0, bien ça veut dire que bêta j chapeau sur sigma chapeau de bêta j chapeau va suivre une loi Student à n moins p moins 1 degrés de liberté. D'accord, je remplace juste bêta j par 0. Donc ici, bien ma statistique de test, ça va juste être bêta j chapeau sur sigma chapeau de bêta j chapeau. Et ce que je viens de dire, c'est que sous l'hypothèse H0, ça suit une loi Student à n moins p moins 1 degrés de liberté. OK, donc là, même chose, je peux calculer la quantité t obs ici, donc calculer bêta j chapeau sur sigma chapeau de bêta j chapeau, et regarder s'il est probable ou pas que ça provienne d'une loi de Student. Donc ma loi de Student, j'ai ici une loi de Student, c'est en gros la forme d'une loi normale. En gros, c'est 95% des valeurs sont comprises entre -2 et 2. Ça dépend un peu des degrés de liberté de la loi de Student, ça peut être -2,2, 2,2, mais en gros c'est autour de -2,2. Et donc si moi quand je fais le calcul bêta j chapeau sur sigma chapeau de bêta j chapeau, si je trouve une valeur de 10, je me dis que c'est quasi impossible que ça provienne d'une loi de Student, donc je vais remettre en cause mon hypothèse H0, je vais dire que bêta j est différent de 0. Si maintenant j'ai une valeur qui est comprise entre -2 et 2, si j'ai une valeur de -1 par exemple, je me dis, bien oui, c'est possible que ça provienne d'une loi de Student, donc l'hypothèse H0 est acceptable. Et donc je vais accepter bêta_j= 0 et je vais considérer que la variable j n'apporte pas d'informations complémentaires intéressantes sachant que j'ai déjà les autres variables dans le modèle. Si je récapitule, j'ai le test de Fisher le premier test qui permet globalement de savoir est-ce que j'ai au moins un coefficient qui est différent de 0, ou bien est-ce que tous les coefficients sont égaux à 0. S'ils sont tous égaux à 0, je me suis plutôt trompé dans mon modèle, j'ai pas pris les bonnes variables explicatives. Dans ce cas-là, je vais retrouver d'autres variables explicatives pour essayer d'améliorer la compréhension de mon modèle. Si maintenant je rejette l'hypothèse H0 du test F, ça veut dire que j'ai au moins un coefficient différent de 0. Mais je sais pas lesquels, je sais pas lequel ou lesquels. Donc je vais tester coefficient par coefficient. Donc je vais construire le test qui est ici à l'écran et dire est-ce que bêta 1 égale 0? Et je vais regarder si bêta 1 égale 0. Puis ensuite, est-ce que bêta 2 égale 0? Et est-ce que bêta 3 égale 0? Etc., etc. D'accord? Donc voilà, il y a le test global et puis après les tests coefficient par coefficient. Voyons ce que ça donne sur l'exemple. Là encore, en orange, je vous ai donné la ligne de code. La ligne de code, c'est la fonction lm. La fonction lm, ça veut dire linear model, donc c'est modèle linéaire. lm de, avant le tilde qui est ici, je mets la variable à expliquer. La variable à expliquer, c'est le maximum d'ozone. Je mets lm de parenthèse la variable y tilde et ensuite je mets toutes les variables explicatives. Là je peux écrire t9+ t12+ t15+ etc. et mettre toutes les variables qui m'intéressent. Si je suis un peu feignant, je peux juste mettre un point et en mettant le point ça dit il faut prendre toutes les variables explicatives, donc toutes les variables qu'il y a dans le jeu de données. Toutes sauf la variable y, bien sûr. Donc là, mon écriture maxO3~ point, ça veut dire prends la variable maxO3 comme variable y et explique en fonction de toutes les colonnes qu'il y a dans mon jeu de données. Et puis il faut que je lui précise mon jeu de données et je lui dis data= ozone. Donc là, je précise le nom de mon jeu de données. Donc là, c'est la fonction lm et Et puis, bien, je fais un summary. Le summary va me résumer les principaux résultats de la fonction lm. D'accord? Donc là, j'ai les résultats de lm. Et qu'est-ce qu'on regarde dans les résultats de lm? Alors, ce qu'on regarde, c'est ce qu'il y a tout en bas. Donc on commence par regarder ce qu'il y a tout en bas. Donc pour les TD, il faudra toujours commencer par lire ce qui est tout en bas ici. Et donc ce qui est tout en bas ici, residual standard error 1436, ça c'est le sigma chapeau. On 101 degrés de liberté, ça c'est n moins p moins 1. Donc il y a 112 données en fait et 10 variables explicatives. Donc 101, c'est 12, 112 pardon, moins 1 pour le bêta 0, moins 10 pour les variables explicatives, 10 coefficients puisque 10 variables explicatives. Donc ça fait 112- 11= 101 degrés de liberté. Ensuite vous avez multiple R-square= 0,76, ça c'est le R², et donc c'est le pourcentage de variabilité expliqué par le modèle. Ça signifie que mon modèle explique 76% de la variabilité qu'il y a dans les valeurs du maximum d'ozone. Les valeurs du maximum d'ozone bougent et mon modèle permet d'expliquer 76% de cette variabilité. Ensuite, il y a ce qu'on appelle le R² ajusté. Je ne vais pas le commenter parce qu'on n'utilisera pas cet indicateur en TD. Et puis après, vous avez F statistique. Là, c'est la valeur du test F. Ici, c'est le carré moyen du modèle divisé par le carré moyen de la résiduelle: 32,67. Sur p et n- p- 1 degrés de liberté. Donc là, 10 parce que j'ai 10 variables explicatives, et 101 c'est 112- 1- 10. Donc là, ma statistique F, carré moyen du modèle sur carré moyen de la résiduelle, ça prend pour valeur 32,67. Et là, bien, vous voyez qu'on a la probabilité critique associée à ce test et la probabilité critique est très faible, inférieure à 2× 10⁻¹⁶. Donc je rejette sans hésiter l'hypothèse H0. Donc là je dis il y a un effet d'au moins une variable explicative sur la variable Y. D'accord? Donc là il y a au moins une variable explicative qui influe sur Y. Et donc c'est bien ça qu'on commence par regarder. Une fois que j'ai dit ça, il y a au moins une variable explicative qui influe sur Y, J'ai envie d'aller voir chaque variable explicative. Quelles sont celles qui sont importantes? Quelles sont celles qui ne sont pas importantes? Si je regarde la première ligne, intercept c'est la ligne qui correspond au bêta 0. Dans la colonne estimate, 12,24 c'est le bêta 0 chapeau. 13,47 c'est sigma chapeau de bêta 0 chapeau. C'est l'écart-type de bêta 0 chapeau. 0,909, c'est le ratio 12,24 divisé par 13,47. Et puis la probabilité critique. Donc là, j'accepterais l'hypothèse que bêta 0 est égal à 0. C'est une hypothèse qui ne m'intéresse pas tant que ça, qui ne m'intéresse pas du tout même, et donc je ne vais pas commenter ce résultat. Et ensuite, vous avez les coefficients associés à chacune des différentes variables. Donc le coefficient associé à T9, vous avez une valeur de -0,019. Et puis après, le sigma chapeau de bêta chapeau 1, et le ratio, et la probabilité critique. Donc là, la probabilité critique est très supérieure à 5%, donc je vais avoir envie de dire La température à 9 heures n'apporte pas d'informations complémentaires intéressantes sachant que j'ai déjà dans mon modèle T12, T15, etc., jusqu'à maximum 12 zones de la veille. Donc ça veut dire que si je construis un modèle avec T12, T15 et toutes les autres variables, T9 n'est pas intéressante à rajouter. Si je regarde T12, j'ai envie de dire T12 n'est pas intéressante à rajouter si j'ai déjà T9, T15, etc. dans le modèle. Alors vous voyez, avec la façon dont je commente les résultats, vous voyez que je peux pas supprimer directement T9, T12, T15, etc. Parce que je peux supprimer T9 si j'ai déjà T12 et T15 dans le modèle, mais je peux pas supprimer T9 et T12 et T15, d'accord? Je peux en supprimer qu'une et pas les autres. Par contre, le maximum d'ozone de la veille, là vous voyez que c'est une variable qui apporte de l'information intéressante même si j'ai toutes les autres variables dans le modèle. Et la nébulosité à 9 heures, même chose, elle apporte de l'information intéressante même si j'ai les autres variables dans le modèle. Le problème, c'est plutôt sur les variables que je peux enlever du modèle Je peux les enlever, mais si j'ai les autres? Donc je peux enlever T9 si j'ai T12 et T15. Je peux enlever T12 si j'ai T9 et T15. Comment je fais maintenant? Moi, je vais avoir envie de construire un modèle où j'ai que des variables qui soient intéressantes. Une première idée, c'est de se dire T9, c'est la variable pour laquelle la probabilité critique est la plus élevée, donc pour laquelle le plus facilement je peux accepter l'hypothèse qu'elle n'apporte pas d'informations supplémentaires intéressantes. Je pourrais supprimer T9 de mon modèle et reconstruire un modèle avec toutes les autres variables T12, T15, etc., jusqu'à maximum d'ozone de la veille. Je fais ça, je reconstruis un modèle plus simple, je calcule les coefficients et je vais à nouveau éliminer la variable pour laquelle la probabilité critique est la plus élevée, pour laquelle le plus facilement je peux accepter l'hypothèse qu'elle n'apporte pas d'informations complémentaires intéressantes. Et puis je peux itérer comme ça jusqu'à n'avoir plus que des variables qui soient intéressantes dans mon modèle. Donc ça, c'est une stratégie pour construire un modèle avec moins de variables mais que des variables intéressantes. Donc ça, c'est ce qu'on appelle la stratégie descendante, backward dans les logiciels. C'est-à-dire qu'on part du modèle complet, c'est ce qu'on a nous, et puis après on reconstruit un modèle sans la variable la moins intéressante. Donc la variable qui a la probabilité critique la plus élevée, je l'élimine du modèle et je reconstruis le modèle. Et puis à partir du modèle qui est un peu plus simple, je recalcule, j'élimine celle qui a la probabilité critique la plus élevée jusqu'à avoir plus que des variables qui ont une probabilité critique inférieure à 5%. Donc ça, c'est la méthode descendante. La méthode ascendante, ça part au contraire du modèle où il n'y a aucune variable, et puis ça ajoute la variable qui apporte le plus d'informations. Donc ça va prendre la variable qui ajoute le plus d'informations. Une fois que j'ai un modèle avec une variable, je vais chercher la variable complémentaire qui est la plus intéressante à rajouter. Voilà, et donc on va itérer comme ça jusqu'à ce que les variables qu'on rajoute n'apportent pas d'informations intéressantes. Ça, c'est une méthode ascendante. Et en fait, qu'on utilise une méthode descendante ou ascendante, on trouve pas toujours exactement le même modèle. Des fois, on a des modèles qui peuvent être un peu différents. Donc il y a une méthode qui est un peu compromis, qui va faire à la fois de l'ascendant et descendant, qui va jouer sur les deux méthodes. Moi, ce que je vais vous proposer, c'est une autre façon de faire, c'est ce qu'on appelle la méthode du R². On va construire tous les sous-modèles possibles, donc trouver tous les modèles avec une variable explicative, tous les modèles à 2 variables explicatives, tous les modèles à 3, etc. Et puis, parmi tous ces modèles, trouver celui qui est le meilleur. Et celui qui est le meilleur de quel point de vue? Du point de vue du modèle qui rejette le plus fortement l'hypothèse R²= 0. Je vous ai dit tout à l'heure, l'hypothèse R²= 0, ça signifie le modèle n'est pas intéressant. Et là, ce que je me dis, c'est que plus je rejette cette hypothèse, plus je rejette l'hypothèse le modèle n'est pas intéressant, eh bien, plus le modèle est intéressant. Le modèle qui sera le plus intéressant, ce sera le modèle pour lequel je rejette le plus fortement l'hypothèse H0 du test F. Ça peut être fait avec le package FactoMineR et la fonction RegBest. RegBest avec un R majuscule, Q et un B majuscule. Comment s'écrit cette fonction? Il faut préciser quelle est la variable Y. Donc ici je mets y= ozone Pourquoi . je mets ça? Parce que la variable à expliquer c'est la première variable de mon tableau. Le maximum d'ozone c'est la première variable du tableau, donc la variable à expliquer y c'est ozone Alors . évidemment dans vos exemples à vous, la variable à expliquer ce sera pas forcément la première, ça peut être la dernière, ça peut être la troisième, d'accord? Donc il faut faudra changer et mettre ici ozone, ozone. Les variables X, c'est toutes les variables sauf la première. Ici, là, je mets ozone pour dire je prends toutes les variables sauf la première. Et puis après, nbest= 1, c'est juste pour avoir le meilleur modèle qui sera donné. Et donc, que fait la fonction? Eh bien, elle ressort le meilleur modèle à une variable explicative. Puis ensuite le meilleur modèle à 2 variables explicatives, puis le meilleur modèle à 3, etc. Donc comment elle fait pour trouver le meilleur modèle à une variable explicative? Elle construit tous les modèles avec une variable explicative et récupère celui qui a le R² le plus grand. Pour tous les modèles à 2 variables explicatives, même chose, elle construit tous les modèles à 2 variables explicatives et elle prend celui qui a le R² le plus grand. Alors en fait, la fonction est plutôt bien faite parce qu'elle va éliminer les modèles qui sont un peu stupides et qui peuvent pas bien marcher, donc ça va pas construire tous les modèles possibles. Mais l'idée c'est ça, c'est de construire tous les modèles à une variable explicative, à 2 variables explicatives, à 3, à 4, à 5, jusqu'à 10 variables explicatives. Et puis après, la difficulté c'est de comparer les modèles à 1, 2, 3 ou ou plus de variables explicatives. Parce que plus on met de variables dans le modèle, plus le R² augmente. Mais par contre, le test de significativité du R², la probabilité critique va pas forcément diminuer. Elle va commencer par diminuer puis après remonter. C'est ce qui est donné ici dans un objet qui s'appelle summary qui résume les résultats. Vous voyez le R² du meilleur modèle à une variable, du meilleur modèle à 2, à 3, à 4, jusqu'à 10. Ça s'arrête à 10 ici puisque j'ai 10 variables explicatives. Ce qu'on voit, c'est que plus on rajoute de variables, plus le R² augmente. Ça, c'est logique: plus j'ajoute de variables, plus je me colle à mes données. Par contre, le test de significativité du R², vous voyez que la probabilité critique diminue D'accord, avec entre 1 et 2 variables, elle diminue, entre 2 et 3, elle diminue, puis après j'ai 1,4× 10⁻³², puis après j'ai 1,7× 10⁻³², ça réaugmente, et puis après ça fait qu'augmenter. Donc en fait, du point de vue de la probabilité critique, le meilleur modèle c'est le modèle avec 3 variables explicatives. Bien, c'est ce modèle-là qu'on va conserver, un modèle où on a uniquement 3 variables explicatives. Pour ces 3 variables explicatives, vous voyez que tous les coefficients sont inférieurs à 0,05. Donc tous les coefficients sont significatifs ici. C'est un modèle qui a un R² qui est un petit peu moins bon, mais c'est un modèle qui va être très bon si je veux prédire pour de nouvelles données. En fait, il est meilleur que le modèle avec toutes les variables parce qu'en fait, quand je prends toutes les variables, j'estime plein de coefficients Je me suis collé à mes données, mais je suis en train de modéliser un peu ce qu'on appelle du bruit. Je suis en train de modéliser un peu n'importe quoi, et quand je vais faire des prédictions, je vais prédire aussi un peu n'importe quoi. Il est préférable d'avoir un modèle avec moins de variables, mais que des variables qui soient significatives ici. Ça, ce sera un meilleur modèle en prévision. Le meilleur modèle est donné ensuite dans un objet qui s'appelle best. Qui vous donne les 3 variables qui permettent d'avoir le meilleur modèle et puis les estimations des coefficients associés à ces variables. Si j'ajoute une nouvelle variable, la probabilité critique sera supérieure à 0,05 et j'aurais tendance à dire qu'ajouter cette variable n'apporte pas d'information complémentaire intéressante pour mieux prévoir le maximum d'ozone. Donc ça, c'est indispensable quand on construit un modèle de régression. On va toujours sélectionner les variables et donc construire un sous-modèle avec uniquement des variables qui soient intéressantes à prendre en compte pour faire la prévision et éliminer les variables qui sont pas intéressantes. On peut retrouver facilement des intervalles de confiance des coefficients, il suffit de repartir de la loi de bêta j chapeau, avec loi de bêta j chapeau moins bêta j sur sigma chapeau de bêta j chapeau. Donc là, c'est en centrant, en réduisant. Je vous avais dit, ça, ça suit une loi Student. Bien, je vais donc pouvoir encadrer cette quantité-là et dire, bien, c'est compris entre le quantile à 2,5% et le quantile à 97,5%. Le quantile 2,5%, c'est moins le quantile à 97,5%. Donc Donc là, ce qui est écrit ici, c'est juste cette quantité-là qui est comprise entre les deux quantiles de la loi de Student. Et après, j'isole bêta j et je vais pouvoir avoir un intervalle de confiance de bêta j. Donc bêta j, là je vais multiplier par sigma chapeau de bêta j chapeau de chaque côté et puis soustraire bêta j chapeau et je vais comme ça avoir un intervalle de confiance de bêta j chapeau. Pour le sur R, bien vous construisez votre modèle LM et il suffit d'utiliser la fonction confint pour confidence interval et ça vous donne les intervalles de confiance des coefficients du modèle. Donc avec dans dans le cas de mon modèle avec les trois variables T12, nébulosité à 9 heures et maximum d'ozone de la veille, le bêta 1 est compris entre 1,9 et 3,8. Donc le bêta 1 chapeau, je l'ai ici, 2,85. Et mais grâce à l'intervalle de confiance, je peux affirmer que bêta 1, la vraie valeur de bêta 1, est compris entre 1,9 et 3,8. Ça, c'est au seuil 95%. Ensuite, vous voyez les intervalles de confiance des différents coefficients, donc de la nébulosité à 9 heures et du maximum d'ozone de la veille. Alors ensuite, bien, ça c'est si on veut prédire de nouvelles valeurs. Il faut construire une matrice avec les nouvelles valeurs. Donc ici, je construis une matrice avec les nouvelles valeurs. Il faut bien donner les noms des variables, d'accord? Donc je construis un tableau. Toutes les lignes de code permettent de construire le tableau avec les nouvelles valeurs et en mettant le nom des variables qui sont les noms que j'avais dans mon modèle. C'est indispensable pour pouvoir utiliser le modèle, il faut qu'il retrouve les mêmes noms. C'est la fonction predict que j'utilise sur le modèle, sur les nouvelles données, x_new c'est mon tableau avec les nouvelles données, et puis là je lui dis de donner un intervalle de confiance de prédiction. Donc ça va prédire de nouvelles valeurs pour ce jour qui aurait une température à 12 heures de 19, une nébulosité de 8 et un maximum d'ozone de la veille de 70. Et la prédiction du maximum d'ozone serait de 66. Et si je donne l'intervalle de confiance, je dis que c'est compris entre 37,5 et 94,5. Donc un intervalle de confiance qui est quand même relativement large. Précision qui n'est pas très importante ici. Et puis pour la deuxième prévision, pour une température à 12 heures, nébulosité de 10 et un maximum d'ozone de la veille de 95, on prédirait un maximum d'ozone de 80 et puis un intervalle de confiance compris entre 51 et 110. Et puis dernière chose, dans le modèle de régression, on fait l'hypothèse que les résidus suivent une loi normale, que la variance des résidus est constante. La variance des résidus, c'est sigma carré. En fait, s'il n'y a pas normalité des résidus, c'est pas grave. Ce qu'il faut surtout, c'est qu'il n'y ait pas un résidu qui soit très grand et puis les autres tout petits. Mais si les résidus suivent une loi qui est proche d'une loi normale, ou en tout cas une loi qui est à peu près symétrique, Le modèle est très robuste à la non-normalité des résidus, donc c'est pas très grave s'il n'y a pas normalité des résidus.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









