library(tidyverse)
library(AmesHousing)
library(broom)
library(patchwork)
ames_complet <- make_ames()
niveaux_qualite_attendus <- c(
"Very_Poor", "Poor", "Fair", "Below_Average", "Average",
"Above_Average", "Good", "Very_Good", "Excellent",
"Very_Excellent"
)
stopifnot(identical(
levels(ames_complet$Overall_Qual),
niveaux_qualite_attendus
))
ames <- ames_complet |>
transmute(
sale_price = Sale_Price,
gr_liv_area = Gr_Liv_Area,
overall_qual = as.integer(Overall_Qual),
year_built = Year_Built,
garage_cars = Garage_Cars
)
modele_prix <- lm(
sale_price ~ gr_liv_area + overall_qual + year_built + garage_cars,
data = ames
)
modele_log <- lm(
log(sale_price) ~ log(gr_liv_area) + overall_qual +
year_built + garage_cars,
data = ames
)Mission finale: auditer et conclure
Diagnostics, sensibilité et fiche modèle
Votre mandat
Votre premier modèle est facile à interpréter, mais il faut maintenant vérifier ce qu’il laisse de côté. Vous devez comparer le modèle en dollars à une version logarithmique, examiner l’influence et rédiger une fiche modèle de cinq phrases.
Durée: 20 minutes.
Production: un verdict diagnostique et une fiche finale.
Ce que vous devez apprendre
À la fin de cette mission, vous devez pouvoir:
- relier un graphique de résidus à une hypothèse précise;
- distinguer observation atypique, fort levier et observation influente;
- utiliser une analyse de sensibilité sans supprimer automatiquement des données;
- expliquer ce que la transformation logarithmique améliore et ce qu’elle change;
- convertir plusieurs sorties techniques en une décision courte et prudente.
Le diagnostic n’est pas un concours visant à trouver un défaut. Il sert à décider quelles affirmations restent défendables, lesquelles doivent être nuancées et quelle vérification devrait suivre.
Organisation suggérée
Attribuez trois responsabilités: lecture des graphiques, vérification des résultats numériques et rédaction de la fiche. La personne qui lit les graphiques doit d’abord décrire ce qu’elle voit sans employer les mots « bon », « mauvais », « valide » ou « invalide ».
1. Reprendre les deux modèles
Les deux modèles utilisent les mêmes ventes et les mêmes caractéristiques. La comparaison isole donc surtout l’effet du changement d’échelle. Le modèle en dollars vise des différences absolues; le modèle logarithmique représente des différences relatives.
2. Regarder les résidus
diagnostic_prix <- augment(modele_prix, data = ames)
diagnostic_log <- augment(modele_log, data = ames)
p_prix <- diagnostic_prix |>
ggplot(aes(.fitted, .resid)) +
geom_point(alpha = 0.25, color = "#277da1") +
geom_hline(yintercept = 0, linetype = 2) +
geom_smooth(se = FALSE, color = "#b5222e") +
labs(title = "Prix en dollars", x = "Valeurs ajustées", y = "Résidus")
p_log <- diagnostic_log |>
ggplot(aes(.fitted, .resid)) +
geom_point(alpha = 0.25, color = "#0f7c80") +
geom_hline(yintercept = 0, linetype = 2) +
geom_smooth(se = FALSE, color = "#b5222e") +
labs(title = "Prix logarithmique", x = "Valeurs ajustées", y = "Résidus")
p_prix + p_logPour chaque graphique, examinez la forme moyenne, l’étalement vertical et les observations extrêmes. Quel modèle produit le nuage le plus régulier?
Utilisez les critères suivants:
- le nuage est-il centré autour de zéro?
- une courbure systématique demeure-t-elle?
- l’épaisseur verticale reste-t-elle comparable?
- quelques résidus dominent-ils l’échelle?
Un graphique plus régulier ne rend pas automatiquement le modèle vrai. Il indique que la structure moyenne et la variance sont mieux représentées sur cette échelle.
3. Examiner l’influence
diagnostic_prix |>
mutate(numero = row_number()) |>
arrange(desc(.cooksd)) |>
select(
numero, sale_price, gr_liv_area, overall_qual,
year_built, garage_cars, .resid, .cooksd
) |>
slice_head(n = 8)Questions:
- Quelle vente a la plus grande distance de Cook?
- Est-elle manifestement impossible, ou seulement inhabituelle?
- Quelle information faudrait-il vérifier avant de l’exclure?
- Pourquoi ne faut-il pas supprimer automatiquement toutes les observations signalées?
Une observation influente est une observation dont la présence modifie sensiblement l’ajustement. Elle peut être parfaitement réelle. Avant de l’exclure, il faut vérifier la source, comprendre son contexte, comparer les conclusions avec et sans elle et documenter la décision.
Un grand résidu concerne la réponse, un fort levier concerne une combinaison inhabituelle de prédicteurs, et une grande influence concerne l’effet de l’observation sur le modèle. Ces notions sont liées, mais elles ne sont pas synonymes.
4. Faire une analyse de sensibilité
numero_max <- which.max(cooks.distance(modele_prix))
modele_sans_max <- lm(
sale_price ~ gr_liv_area + overall_qual + year_built + garage_cars,
data = ames[-numero_max, ]
)
bind_rows(
tidy(modele_prix) |> mutate(analyse = "toutes les ventes"),
tidy(modele_sans_max) |> mutate(analyse = "sans la vente la plus influente")
) |>
filter(term != "(Intercept)") |>
select(analyse, term, estimate)Décidez si votre conclusion principale change. Une variation numérique n’est pas nécessairement un changement substantiel.
Comparez les signes, les ordres de grandeur et la conclusion qui serait communiquée. Ne cherchez pas l’égalité exacte des coefficients. Une conclusion est dite sensible si une décision raisonnable changerait selon que l’observation est incluse ou non.
5. Recevoir un mandat différent
Votre décision doit maintenant répondre à une demande qui n’a pas été traitée mot pour mot dans la théorie. Attribuez une carte à chaque équipe.
Carte A: synthèse de marché
Une analyste veut décrire des associations moyennes en dollars parmi des propriétés ordinaires comparables à celles d’Ames. Elle accepte une conclusion prudente et ne demande pas de garantie individuelle.
Carte B: devis individuel haut de gamme
Une agence veut annoncer un prix presque certain pour une propriété très grande et coûteuse. Elle refuse de montrer un intervalle large à sa cliente.
Carte C: comparaison relative
Une équipe de recherche veut comparer des écarts proportionnels sur une large gamme de prix. Elle accepte une interprétation en pourcentage si la structure des résidus devient plus régulière.
Pour votre carte, choisissez l’une des décisions suivantes:
- utiliser le modèle avec les réserves indiquées;
- réviser le modèle ou la formulation avant utilisation;
- refuser l’usage demandé.
Votre décision doit s’appuyer sur un diagnostic, une conséquence pour le mandat et une prochaine vérification. Deux équipes peuvent donc défendre des décisions différentes avec les mêmes résultats sans se contredire.
6. Choisir un verdict diagnostique
Utilisez une seule des trois catégories:
| Verdict | Signification |
|---|---|
| utilisable comme première approximation | les diagnostics ne changent pas la conclusion principale et l’usage reste limité |
| utilisable avec réserves | une structure ou une influence doit être communiquée et vérifiée |
| à revoir avant utilisation | la forme, la variance ou la sensibilité empêche l’usage prévu |
Votre justification doit citer une preuve visible et une conséquence. Par exemple: « l’éventail des résidus rend les intervalles en dollars moins crédibles pour les propriétés coûteuses » est plus informatif que « l’homoscédasticité n’est pas respectée ».
7. Rédiger la fiche modèle
Écrivez exactement cinq phrases:
- « Notre mandat consiste à… »
- « Le modèle utilise… »
- « Le résultat pertinent pour ce mandat est… »
- « Le diagnostic décisif montre toutefois que… »
- « Nous décidons donc de…, à condition de…, mais refusons de… »
Critères de réussite
Votre fiche doit:
- nommer le mandat et l’unité statistique;
- conserver les unités ou l’échelle relative choisie;
- relier le résultat au besoin reçu;
- citer une preuve diagnostique précise;
- distinguer association, prédiction et causalité;
- annoncer une action différente d’un simple résumé des sorties.
Elle doit aussi pouvoir être lue sans la sortie R. Évitez les noms de fonctions et les seuils isolés. Nommez plutôt le résultat, la preuve diagnostique et la conséquence pour l’usage.
Vérification finale
Avant de remettre, demandez à une personne de l’équipe de lire uniquement les cinq phrases, sans voir le code. Elle doit pouvoir répondre:
- quel mandat a été reçu?
- quelles ventes et caractéristiques soutiennent la réponse?
- quel résultat est pertinent pour ce mandat?
- quel diagnostic limite la confiance?
- quelle action est permise, révisée ou refusée?
Si l’une de ces réponses manque, révisez la fiche plutôt que d’ajouter un résultat supplémentaire.