Régression linéaire simple - Position des résidus

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Kévin Dubois
Messages : 97
Enregistré le : 25 Mar 2019, 12:07

Régression linéaire simple - Position des résidus

Messagepar Kévin Dubois » 30 Sep 2021, 07:43

Bonjour,

Travaillant dans un site d'étude, je dois créer un indice qualitatif basé sur 2 variables quantitatives. Le positionnement des résidus sur un modèle de régression linéaire simple me permet de leur donner cet indice.

Image

Pour tenter d'approcher le résultat, je me suis mis à créer autant de droites linéaire que d'indices que je souhaite créer pour donner leur limites, en utilisant un coefficient directeur arbitraire. De cette manière, j'arrive plus ou moins bien à situer les points sur le modèle et à leur donner l'indice qualitatif. Je me demandais s'il existait un modèle statistique qui permettrait de faire cela de manière plus propre.

Voici un dataframe généré représentatif de mon fichier de base :

Code : Tout sélectionner

data = data.frame(indice1 = rnorm(1000, 200, 50), indice2 = rnorm(1000, 100, 20))


Merci.

Fred Santos
Messages : 233
Enregistré le : 11 Avr 2009, 10:00
Contact :

Re: Régression linéaire simple - Position des résidus

Messagepar Fred Santos » 30 Sep 2021, 07:58

Bonjour,

Pour tenter d'approcher le résultat, je me suis mis à créer autant de droites linéaire que d'indices que je souhaite créer pour donner leur limites, en utilisant un coefficient directeur arbitraire.

Je ne suis pas sûr d'avoir bien compris (mais la question n'a de toute façon aucun rapport avec R :-)).

Les zones dessinées sur la figure peuvent tout simplement correspondre à des réalités statistiques, c'est-à-dire au fait de se trouver en-dedans ou au-dehors d'un intervalle de prédiction à X% pour la variable à prédire (par exemple !). Il suffit alors de faire varier le X en question (90%, 95%, 99%, ...) pour passer d'une catégorie "sous-côté" à "sous-côté++", pourquoi pas.
Cf. tout bouquin sur la régression linéaire, mais c'est je pense hors des objectifs du forum.

Kévin Dubois
Messages : 97
Enregistré le : 25 Mar 2019, 12:07

Re: Régression linéaire simple - Position des résidus

Messagepar Kévin Dubois » 30 Sep 2021, 15:25

Merci pour votre réponse.

Pour simplifier, je souhaite attribuer une catégorie a des valeurs en fonction de leur position dans un modèle de régression linéaire.

Ok, je vais regarder ces ouvrages. Merci

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Régression linéaire simple - Position des résidus

Messagepar Mickael Canouil » 01 Oct 2021, 08:22

Bonjour,

La proposition de Fred répond donc à votre problématique.

"en fonction de leur position" n'a cependant aucune réalité mathématique ou statistique et de ce fait est impossible à implémenter.

Vous pouvez extraire, les valeurs prédites, calculer par exemple la distance euclidienne à l'origine sur le plan x/y, pour fixer des seuils (absolu ou statistique comme suggéré par Fred) entre les catégories.

PS : on est limite hors sujet par rapport aux objectifs du forum, puisque la problématique est plus conceptuelle que programmatique.
Mickaël
mickael.canouil.fr | rlille.fr

Kévin Dubois
Messages : 97
Enregistré le : 25 Mar 2019, 12:07

Re: Régression linéaire simple - Position des résidus

Messagepar Kévin Dubois » 01 Oct 2021, 08:30

Merci, ok je penserai à poser la question sur un site plus statistique la prochaine fois.

Je sais effectivement calculer la distance euclidienne des résidus, mais dans ce cas je ne saurais pas si le résidu se situe sur le côté inférieur droit (sous-coté + dans l'exemple) ou supérieur gauche (sur-côté + dans l'exemple) ?

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Régression linéaire simple - Position des résidus

Messagepar Mickael Canouil » 01 Oct 2021, 08:32

Au delà de la pertinence, une illustration :

Code : Tout sélectionner

data = data.frame(indice1 = rnorm[img][/img](1000, 200, 50), indice2 = rnorm(1000, 100, 20))

categorise <- function(formula, data, n) {
  values <- fitted(lm(formula = formula, data = data))
  cut(
    x = values,
    breaks = quantile(values, probs = seq(0, 1, length.out = n + 1)),
    include.lowest = TRUE
  
)
}

data[["group"]] <- categorise(
  formula = indice1 ~ indice2,
  data = data,
  n = 5
)

library("ggplot2")
library("ggforce")
ggplot(data) +
  aes(= indice2, y = indice1, colour = group, fill = group) +
  geom_point() +
  geom_mark_ellipse() +
  scale_x_continuous(expand = expansion(0.20)) +
  scale_y_continuous(expand = expansion(0.20)) 


Image
Mickaël
mickael.canouil.fr | rlille.fr

Kévin Dubois
Messages : 97
Enregistré le : 25 Mar 2019, 12:07

Re: Régression linéaire simple - Position des résidus

Messagepar Kévin Dubois » 01 Oct 2021, 08:37

Génial, grand merci pour cette piste


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité