Régression linéaire MULTIPLE

  • Source: Combo par Genolini et Crawley

1 variable dépendante (y) et m variables indépendantes ($x_1 , x_2 ,..., x_m$ ) :

$y = b_1 x_1 + b_2 x_2 + b_3 x_3 + ... + b_m x_m + a$

  • La régression doit être linéaire sur chacune des variables
  • Les résidus doivent suivre une distribution normale
  • La variance des résidus doit rester identiques pour toutes les combinaisons des valeurs observées des variables

Avant cela, il faut que nous parlons de simplification de modèle

Le principe de la parcimonie (rasoir d'Occam) exige que le modèle doit être aussi simple que possible. Cela signifie que le modèle ne doit pas contenir de paramètres ou de niveaux de facteur redondants. Nous y parvenons en installant un modèle maximal (ou Méthode rétrograde) puis en le simplifiant en suivant une ou plusieurs de ces étapes:

  • Supprimer les termes d'interaction non significative;
  • Éliminer les termes quadratiques non significatifs ou autres termes non-linéaires;
  • Supprimer les variables explicatives non significatives;
  • Regroupent des niveaux de facteurs qui ne diffèrent pas les uns des autres;
  • Amalgamer des variables explicatives qui ont des valeurs de paramètres similaires;
  • Définir des pentes non significatives à zéro dans ANCOVA

(Il aussi existe, deux autres méthodes: 1) Méthode progressive, et 2) Méthode pas à pas. Mais toutes sont similaires, si une fois qu’une nouvelle variable est introduite dans le modèle on réexamine la contribution des variables choisies antérieurement)

Model Interpretation
Saturated model One parameter for every data point
Fit: perfect Degrees of freedom: none
Explanatory power of the model: none
Maximal model Contains all (p) factors, interactions and covariates
that might be of any interest. Many of the model’s terms
are likely to be insignificant
Degrees of freedom: n - p – 1;
Explanatory power of the model: it depends
Minimal adequate model A simplified model with 0≤p'≤p parameters
Fit: less than the maximal model, but not significantly so
Degrees of freedom: n – p’ – 1
Explanatory power of the model: r = SSR/SST
Null model Just 1 parameter, the overall mean y
Fit: none; SSE = SST
Degrees of freedom: n – 1
Explanatory power of the model: none

Les étapes impliquées dans la simplification du modèle

Il n'existe pas de règles strictes, mais la procédure décrite ci-dessous fonctionne bien dans la pratique. Avec un grand nombre de variables explicatives, de nombreuses interactions et des termes non linéaires, le processus de simplification du modèle peut prendre beaucoup de temps. Mais ce temps est bien dépensé parce qu'il réduit le risque de négliger un aspect important des données. Il est important de réaliser qu'il n'existe pas de moyen garanti de trouver toutes les structures importantes dans un cadre de données complexes.

Step Procedure Explanation
1 Fit the maximal model Fit all the factors, interactions and covariates of interest. Note the residual deviance.
2 Begin model Simplification Inspect the parameter estimates using simplification summary().
Remove the least significant terms first, using update -,
starting with the highest order interactions
3 If the deletion causes an insignificant increase in deviance Leave that term out of the model
Inspect the parameter values again
Remove the least significant term remaining
4 If the deletion causes a significant increase in deviance Put the term back in the model using update + .
These are the statistically significant terms
as assessed by deletion from the maximal model
5 Keep removing terms from the model Repeat steps 3 or 4 until the model contains the model nothing but significant terms
This is the minimal adequate model
If none of the parameters is significant, then the minimal adequate model is the null model

tableau 1

Modèle saturé Un paramètre pour chaque point de données Fit: parfait Degrés de liberté: aucun Puissance explicative du modèle: aucune Modèle maximal Contient tous les facteurs (p), interactions et covariables Qui pourrait être de tout intérêt. Beaucoup de termes du modèle Sont susceptibles d'être insignifiants Degré de liberté: n - p - 1; Facteur explicatif du modèle: il dépend Modèle minimal adéquat Modèle simplifié avec des paramètres 0 ≤ p ≤ p Fit: moins que le modèle maximal, mais pas de façon significative Degré de liberté: n - p '- 1 Puissance explicative du modèle: r = SSR / SST Modèle nul Juste 1 paramètre, la moyenne globale y Fit: aucun; SSE = SST Degré de liberté: n - 1 Puissance explicative du modèle: aucune

Tableau 2 1 Ajustement du modèle maximal Adapter tous les facteurs, interactions et covariables d'intérêt. Noter la déviance résiduelle.

2 Début du modèle Simplification Inspectez les estimations de paramètres en utilisant le résumé de simplification (). Supprimez d'abord les termes les moins significatifs, en utilisant update -, En commençant par les interactions d'ordre le plus élevé

3 Si la suppression entraîne une augmentation insignifiante de la déviance Laissez ce terme hors du modèle Inspecter à nouveau les valeurs des paramètres Supprimer le terme le moins significatif restant

4 Si la suppression entraîne une augmentation significative de la déviance Mettre le terme dans le modèle en utilisant update +. Ce sont les termes statistiquement significatifs Comme évalué par la suppression du modèle maximal

5 Supprimez les termes du modèle Répétez les étapes 3 ou 4 jusqu'à ce que le modèle ne contienne que des termes significatifs C'est le modèle minimal adéquat Si aucun des paramètres n'est significatif, le modèle minimal adéquat est le modèle nul

Rappel: Élimination

Elimination utilise la directive update() pour supprimer les termes du modèle. Le plus simple est l'élimination de l'interception d'une étude de régression utilisant le ~. -1 directive. Cela correspond à une nouvelle droite de régression avec un seul paramètre. Notez qu'il ne tourne pas la ligne de régression sur le point $(\bar{x}, \bar{y})$ jusqu'à ce qu'elle passe par l'origine (une idée fausse commune).

Par exemple :

In [ ]:
x<-c(0,1,2.5,2.8,3,4)
y<-c(2,3,4,5,6,7)
In [ ]:
# Ajuster une régression linéaire à 2 paramètres comme model1
model1<-lm(y~x)
model1

Verifier cette ligne de régression est définie comme passant par le point $(\bar{x}, \bar{y})$ :

In [ ]:
plot(x,y)
abline(v=mean(x)) # Ajoutez une ligne pour moyenne x
abline(h=mean(y)) # Ajoutez une ligne pour moyenne y
abline(model1,col="red") # Ajoutez une ligne pour model1
In [ ]:
# Éliminez l'interception et recréez la graphique
model2<-update(model1,~. -1)
plot(x,y)
abline(v=mean(x)) # Ajoutez une ligne pour moyenne x
abline(h=mean(y)) # Ajoutez une ligne pour moyenne y
abline(model1,col="red") # Ajoutez une ligne pour model1
abline(model2,col="blue") # Ajoutez une ligne pour model2

Parce que update(model1, ~. -1) provoque la rotation de la ligne de régression pour être tourné hors de sa position du maximum de vraisemblance, cela entraînera une augmentation de la déviance résiduelle. Si l'augmentation de la déviance est significative, alors la simplification n'est pas justifiée et l'interception doit être ajoutée au modèle.

The practice of model simplification

In general we shall tend to begin the process of model simplification by removing high order interaction terms from a maximal model. If removal of the high order interaction terms shows them to be non significant, we move on to test the low order interactions and then main effects. The justification for deletion is made with the current model at the level in question.

Main effects that have significant interactions should not be deleted. If you do try to delete them there will be no change in deviance and no change in degrees of freedom, because the factor is aliased; the deviance and degrees of freedom will simply be transferred to a surviving interaction term.

Collapsing factor levels

It often happens that a categorical explanatory variable is significant, but not all of the factor levels are significantly different from one another. A frequent outcome during anova that, say, the 'low' and 'medium' levels of a treatment are not significantly different from one another, but both differ from the 'high' level treatment. Collapsing factor levels involves calculating a new factor that has the same value for 'low' and 'medium' levels, and another level for ‘high’. This new 2 level factor is then added to the model at the same time as the original 3 level factor is removed. If the change is not significant, then the simplification is justified and the new 2-level factor is retained. If a significant increase in deviance occurs, then the original 3 level factor must be restored to the model.


Transformations

Régressions appliquées à des données transformées en log

  • Les distributions binormales (condition d’application de la régression linéaire) se retrouvent rarement en nature.
  • La forme des relations exponentielles peut souvent nous apporter des informations importantes concernant le fonctionnement d’un écosystème ou d’une population.

  • $y = bx^a → log y = a log x + log b$

  • $y = be^ax → ln y = a x +ln b$
In [ ]:
timber<-read.table("timber.csv",header=T,sep=",")
names(timber)
In [ ]:
pairs(timber)
In [ ]:
coplot(volume~girth|height)
In [ ]:
girth<-girth/100
In [ ]:
t_model <- lm(volume~girth+height)
In [ ]:
summaru.aov(t_model)

Essayez une autre exemple!

Comment la concentration d'ozone est-elle liée à la vitesse du vent, à la température de l'air et à l'intensité du rayonnement solaire?

In [ ]:
ozone.pollution<-read.table("ozone.data.csv",header=T,sep=",")
names(ozone.pollution)
In [ ]:
pairs(ozone.pollution,panel=panel.smooth)
In [ ]:
omodel1<-lm(ozone~temp*wind*rad+I(rad^2)+I(temp^2)+I(wind^2))
summary(omodel1)
In [ ]:
omodel2<-update(omodel1,~. – temp:wind:rad)
summary(omodel2)
In [ ]:
omodel3<-update(omodel2,~. - temp:rad)
summary(omodel3)
In [ ]:
omodel4<-update(omodel3,~. - temp:wind)
summary(omodel4)
In [ ]:
# Prochaine??

Essayez une autre exemple!

In [ ]:
pollute<-read.table("sulphur.dioxide.csv",header=T,sep=",")
names(pollute)
In [ ]: