diff --git a/gwr_rzine.html b/gwr_rzine.html index 3e11a17..3d073bc 100644 --- a/gwr_rzine.html +++ b/gwr_rzine.html @@ -5184,8 +5184,8 @@
Ce fichier est composé des 10 variables suivantes (les données datent de 2019 sauf prix médian 2018) :
Nous allons également charger une couche de régions qui nous servira d’habillage pour les cartes :
shp_path <- here("data", "REGION.shp")
@@ -5570,8 +5570,8 @@ 1.3 Jointure des données
## [1] 1242
# filtre des données de la jointure pour ne voir que les epci sans correspondance dans immo_df
datatable(data_immo[is.na(data_immo$prix_med),])
Cependant, la VD étant prix_med
les lignes vides ne nous
@@ -5789,8 +5789,8 @@
Il est important de réaliser également pour les VI cet histogramme que nous venons de faire pour la VD :
# Distribution des variables indépendantes :
@@ -5804,8 +5804,8 @@ 3.1 Exploration des
h <- add_histogram(plot_ly(data_immo, x = ~(part_cadre_profintellec_nbemploi), name = "part_cadre_profintellec_nbemploi"))
fig = subplot(a, b, c, d, e, f, g, h, nrows = 2)
fig
Très rapidement, la corrélation permet d’étudier le lien, la relation entre deux variables. La corrélation repose sur la covariance entre les variables.
-Quand 2 variables covarient, un écart à la moyenne d’une variable est -accompagné par un écart dans le même sens (corrélation positive) ou dans -le sens opposé de l’autre (corrélation négative) pour le même individu -de l’autre variable. Dit autrement, lorsque deux variables covarient, -pour chaque valeur qui s’écarte de la moyenne, on s’attend à trouver un -écart à la moyenne pour l’autre variable.
+Quand 2 variables covarient, pour un même individu, un écart à la +moyenne pour une variable sera accompagné par un écart à la moyenne pour +l’autre variable. Si les 2 écarts se font dans le même sens, on parle de +corrélation positive, sinon il s’agit d’une corrélation négative.
La conception d’un modèle statistique doit absolument être le fruit d’une réflexion portant sur le choix des variables indépendantes (explicatives) et le choix de la méthode de régression. Et pour définir @@ -5904,7 +5902,7 @@
L’étude des corrélations nous permet ici de confirmer une relation entre la variable à expliquer et toutes les variables explicatives définies. Par exemple, elle est négativement corrélée avec le -pourcentage de logments vacants.
+pourcentage de logements vacants.Elle met aussi à jour de très fortes multicolinéarités, ce qui va nous poser problème. Par exemple, la part de logement suroccupés est fortement corrélée au pourcentage de petits logements. Dans le cadre de @@ -5992,20 +5990,20 @@
gtsummary
:
-Nous allons tout de même conserver ces variables qui pourtant devraient être considérées comme non significatives ; les modèles de GWR -utilisés par la suite montreront l’utilité de telles variables, dont -l’intérêt aurait pu être rejeté a priori.
+utilisés par la suite montreront l’utilité de telles variables dont +l’intérêt aurait pu être rejeté a priori, puisque leur +significativité peut varier localement.La \(t-value\) est le coefficient divisé par son erreur standard. Plus ce quotient est proche de \(0\) et plus on peut considérer qu’il n’y a @@ -6532,20 +6531,20 @@
Pour obtenir les résidus :
- - + +On peut également les visualiser :
par(mfrow=c(1,3))
# diagramme quantile-quantile qui permet de vérifier l'ajustement
@@ -7673,7 +7672,7 @@ 3.4.3 Analyser les
hist(rstudent(mod.lm), breaks = 50, col="darkblue", border="white", main="Analyse visuelle des résidus")
# un graphique pour visualiser l'homoscédasticité des résidus
plot(rstudent(mod.lm))
Si la voie graphique ne vous inspire pas il existe des tests statistiques qui permettent de vérifier la normalité des résidus ou bien leur homoscédasticité.
@@ -7705,8 +7704,8 @@# Pour relancer un nouveau modèle sans l'individu le plus extrême
# Notez que l'on peut en supprimer plusieurs d'un coup avec subset=-c(36,266)
mod.lmx <- update(mod.lm, subset=-266)
@@ -7752,7 +7751,7 @@ 3.4.3 Analyser les
-
+
## [1] 36 180
# Il est possible de comparer les deux modèles et les coefficients
car::compareCoefs(mod.lm, mod.lmx, pvals = TRUE)
@@ -7937,10 +7936,10 @@ 3.4.5 Cartographie des
type = "base",
col = NA,
border = "#B6B6B4",
- lwd = 2)
+ lwd = 1.5)
mf_title("Résidus de régression linéaire classique")
mf_credits("Sources: Notaires de France 2018, INSEE 2019, IGN Admin Express 2021")
Sur cette carte on voit très clairement une spatialisation des @@ -7968,8 +7967,8 @@
Si l’autocorrélation spatiale est positive, mes données seront semblables à celles de mes voisins et dissemblables de celles des individus éloignés. À l’inverse si l’autocorrélation spatiale est @@ -8029,10 +8028,10 @@
Une structure spatiale apparaît de manière assez prégnante, ce qui est vérifié par les indicateurs statistiques :
# Pour l'occasion on va standardiser le prix médian
@@ -8257,10 +8256,10 @@ 4.2 Niveau local
type = "base",
col = NA,
border = "gray",
- lwd = 2)
+ lwd = 1.5)
mf_title("Carte des LISA du prix médian du logement (Moran local)")
mf_credits("Sources: Notaires de France 2018, INSEE 2019, IGN Admin Express 2021")
Si le score du Moran local est > 0 cela implique que l’on a un regroupement de valeurs similaires, plus faibles ou plus élevées que la moyenne. En revanche si le score est < 0 alors on a un regroupement @@ -8301,10 +8300,10 @@
Les regroupements que l’on observe vont pouvoir se rapprocher des 4 types de regroupements que nous avions sur le diagramme de Moran (High-High, Low-Low, High-Low et Low-High).
@@ -8333,10 +8332,10 @@Si on est en présence d’une autocorrélation spatiale au niveau global, les LISA pourront aussi servir d’indicateur d’instabilité locale. Ils indiquent à la fois des clusters locaux qui vont avoir un @@ -8370,8 +8369,8 @@
Ces méthodes ne sont pas l’objet de la présente fiche et nous -renvoyons les lecteurs et lectrices à d’autres références ((Elhorst -2014)).
+renvoyons les lecteurs et lectrices à d’autres références (Elhorst +2014).Par ailleurs, l’hétérogénéité, qui renvoie à une instabilité, induit une variabilité spatiale de nos paramètres. L’idée est que les VI peuvent avoir un effet qui n’est pas le même partout dans l’espace. Dans @@ -8391,9 +8390,9 @@
Pour réaliser une GWR sur R plusieurs packages reconnus existent. On
peut citer notamment le package spgwr
et le package GWmodel
. Nous choisirons
d’utiliser ici le package GWmodel
.
La première étape est de calculer la distance entre toutes les
observations. Pour ce faire nous utiliserons la fonction
gw.dist()
.
bw.gwr
va choisir pour nous le
résultat optimal…
Pour ce faire la fonction va se baser sur un critère statistique que -l’utilisateur devra définir : le CV (validation croisée) ou le AIC -(Akaike Information Criterion ou Critère d’information d’Akaike). Elle -reposera aussi sur un type de noyau qu’il faudra également définir : -Gaussien, Exponentiel, Bicarré, Tricube ou encore Boxcar. Enfin, il sera -également nécessaire de savoir si ce noyau pourra être adaptatif ou -fixe.
+l’utilisateur devra définir : le CV (Cross Validation ou validation +croisée) ou le AIC (Akaike Information Criterion ou Critère +d’information d’Akaike). Elle reposera aussi sur un type de noyau qu’il +faudra également définir : Gaussien, Exponentiel, Bicarré, Tricube ou +encore Boxcar. Enfin, il sera également nécessaire de savoir si ce noyau +pourra être adaptatif ou fixe.Voici quelques informations pour guider nos choix :
## Nb Voisins R2 AIC
## GAUSSIAN 19 0.9324328 16849.26
## TRICUBE 123 0.8577370 17567.05
-Le modèle avec une forme qui a été définie au format gaussien -explique un meilleur \(R^2\) et le -score d’\(AIC\) est plus faible. Ce -modèle est donc plus performant et dans notre situation c’est plutôt ce -modèle qu’il faut privilégier.
+Le modèle utilisant un noyau gaussien a un meilleur pouvoir +explicatif (\(R^2\)) et un meilleur +score de qualité (\(AIC\)). Ce modèle +est donc plus performant et dans notre situation c’est plutôt ce modèle +qu’il faut privilégier.
## ***********************************************************************
## * Package GWmodel *
## ***********************************************************************
-## Program starts at: 2024-07-29 09:55:51.677613
+## Program starts at: 2024-07-29 12:15:14.454915
## Call:
## gwr.basic(formula = formula, data = data, bw = bw, kernel = kernel,
## adaptive = adaptive, p = p, theta = theta, longlat = longlat,
@@ -8677,7 +8676,7 @@ 5.4 Interprétation des
## Adjusted R-square value: 0.9084372
##
## ***********************************************************************
-## Program stops at: 2024-07-29 09:56:29.708433
+## Program stops at: 2024-07-29 12:15:57.955583
Cette visualisation des résultats nous propose d’abord un rappel complet du modèle linéaire classique. Puis viennent ensuite les informations concernant la GWR. Le premier indicateur à analyser est le @@ -8742,8 +8741,8 @@
## [1] "Intercept" "perc_log_vac"
@@ -8777,7 +8776,7 @@ 5.4 Interprétation des
5.4.1 Étude des
résidus
Commençons par une étude des résidus afin de vérifier que cette fois
-ils n’ont pas de structure apparente.
+ils n’ont pas de structure spatiale apparente.
# on récupère les résidus dans data_immo
res_gwr <- mod.gwr_g$SDF$Stud_residual
data_immo$res_gwr <- res_gwr
@@ -8811,10 +8810,10 @@ 5.4.1 Étude des
type = "base",
col = NA,
border = "gray",
- lwd = 2)
+ lwd = 1.5)
mf_title("Résidus de la GWR")
mf_credits("Sources: Notaires de France 2018, INSEE 2019, IGN Admin Express 2021")
-
+
Cette carte ne présente pas de structure spatiale marquée et nous
amène à penser que nous avons expliqué l’ensemble des phénomènes
spatiaux liés aux questions de prix de l’immobilier.
@@ -8917,10 +8916,10 @@ 5.4.2 Étude des
type = "base",
col = NA,
border = "#736F6E",
- lwd = 2)
-mf_title("Carte des variables contribuant le plus par EPCI")
+ lwd = 1.5)
+mf_title('variables contribuant le plus "localement" à l’explication de la variabilité des prix médian par EPCI')
mf_credits("Sources: Notaires de France 2018, INSEE 2019, IGN Admin Express 2021")
Au-delà de la non-stationnarité des VI, cette carte met en évidence un autre phénomène : Dans un modèle linéaire classique, la sélection des VI se fait de manière itérative (ascendante, descendante, ou mixte). @@ -8953,10 +8952,10 @@
Nous avons choisi d’utiliser une palette de valeurs large pour représenter au mieux les différences de \(R^2\) locaux. Toutefois, cette carte peut @@ -8992,10 +8991,10 @@
Il se peut que cela soit plus intéressant d’utiliser les p-value, notamment si vous avez moins de 200 individus.
# Les p-value ne sont pas fournis dans le modèle de la GWR
@@ -9029,10 +9028,10 @@ 5.4.2 Étude des
type = "base",
col = NA,
border = "gray",
- lwd = 2)
+ lwd = 1.5)
mf_title("Nombre des Betas significatifs par EPCI (p-value)")
mf_credits("Sources: Notaires de France 2018, INSEE 2019, IGN Admin Express 2021")
Sur ces deux dernières cartes (nombre de betas significatifs par EPCI avec les t-value et p-value) nous avons pris volontairement une liberté @@ -9078,7 +9077,7 @@
Ces cartes des p-value sont particulièrement importantes car elles nous donnent les endroits où l’effet est significatif. En effet, on sait que la VI a effet global qui est significatif, qu’elle a en plus une @@ -9129,7 +9128,8 @@
En effet, nous avons vu la limite des statistique dites “classiques” pour appréhender des phénomènes avec une structure spatiale. Dans ce cadre, la GWR nous permet de dépasser cette limite de l’indépendance @@ -9142,8 +9142,8 @@
Nous invitons les lecteurs et lectrices à consulter des cas d’application pour approfondir ces méthodes et l’interprétation de -résultats ((Helbich -2013) ; (Bulteau J 2018)).
+résultats (Helbich +2013 ; Bulteau J 2018).Cette méthode présente également certaines faiblesses, qui constituent souvent des pistes d’amélioration pour l’avenir :
Les solutions qui permettraient de limiter les faiblesses de cette méthode nécessitent certainement de grosses capacités de calcul qui @@ -9167,7 +9167,7 @@