source("~/work/AnalyseDonneesOpportunisteGMB/00_Nouveau/src/functions/divers.R")
wd <- set_wd()
source(paste0(wd$src, "functions/cartographie.R"))
source(paste0(wd$src, "functions/comparaison_dans_mailles.R"))
source(paste0(wd$src, "functions/GLM.R"))
Total <- transform_Total()
Total <- ajoute_clust_a_Total()
Total <- ajout_famille_paysage()
## Reading layer `famille_paysages' from data source
## `/home/onyxia/work/AnalyseDonneesOpportunisteGMB/00_Nouveau/data/masques/famille_paysage/famille_paysages.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 39 features and 3 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 124135.6 ymin: 6701835 xmax: 403356 ymax: 6881501
## CRS: NA
Total <- creer_maille(bdd = Total, taille_en_km = 2)
## Warning: There were 2 warnings in `stopifnot()`.
## The first warning was:
## ℹ In argument: `X = st_coordinates(st_centroid(Grid))[, 1]`.
## Caused by warning:
## ! st_centroid assumes attributes are constant over geometries
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
## Warning: st_centroid assumes attributes are constant over geometries
## num NA
## Warning: st_centroid assumes attributes are constant over geometries
## num [1:11316] 125039 127039 129039 131039 133039 ...
Total <- creer_maille(bdd = Total, taille_en_km = 5)
## Warning: There were 2 warnings in `stopifnot()`.
## The first warning was:
## ℹ In argument: `X = st_coordinates(st_centroid(Grid))[, 1]`.
## Caused by warning:
## ! st_centroid assumes attributes are constant over geometries
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
## st_centroid assumes attributes are constant over geometries
## num NA
## Warning: st_centroid assumes attributes are constant over geometries
## num [1:1848] 126539 131539 136539 141539 146539 ...
Total <- creer_maille(bdd = Total, taille_en_km = 10)
## Warning: There were 2 warnings in `stopifnot()`.
## The first warning was:
## ℹ In argument: `X = st_coordinates(st_centroid(Grid))[, 1]`.
## Caused by warning:
## ! st_centroid assumes attributes are constant over geometries
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
## st_centroid assumes attributes are constant over geometries
## num NA
## Warning: st_centroid assumes attributes are constant over geometries
## num [1:476] 129039 139039 149039 159039 169039 ...
Total <- creer_maille(bdd = Total, taille_en_km = 20)
## Warning: There were 2 warnings in `stopifnot()`.
## The first warning was:
## ℹ In argument: `X = st_coordinates(st_centroid(Grid))[, 1]`.
## Caused by warning:
## ! st_centroid assumes attributes are constant over geometries
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
## st_centroid assumes attributes are constant over geometries
## num NA
## Warning: st_centroid assumes attributes are constant over geometries
## num [1:126] 134039 154039 174039 194039 214039 ...
Total%>%
filter(date > params$date_min)%>%
mutate(
year = as.numeric(format(date, "%Y")),
nom_vernaculaire_grp = fct_lump(nom_vernaculaire, prop = 0.03)
) %>%
ggplot(aes(year, fill = nom_vernaculaire_grp)) +
geom_bar(position = "fill") +
labs(
x = "Période",
title = "7a. Répartition des differentes espèces observés depuis 1980",
y = "Proportion",
fill = "Espèce"
) +
theme_minimal()+
scale_fill_viridis_d(labels = label_wrap(40))+
coord_flip()
bdd_reg <- tab_glm(bdd = Total,
espece_interet = 61714,
espece_benchmark = 61057,
taillegrid = "Grid10km")
## Warning: Returning more (or less) than 1 row per `summarise()` group was deprecated in
## dplyr 1.1.0.
## ℹ Please use `reframe()` instead.
## ℹ When switching from `summarise()` to `reframe()`, remember that `reframe()`
## always returns an ungrouped data frame and adjust accordingly.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
bdd_reg = suppression_prop01(bdd_reg) # Ici on supprime les sites ou le chevreuil ou le lapin n'est pas vu.
Ici on cherche la tendance du Lapin de garenne en prenant le Chevreuil comme espece de reference. Les sites choisis ici sont des mailles de 10km, dans lequel on calcule la proportion de lapin par rapport au chevreuil au fil des annees.
bdd_reg %>%
ggplot() +
geom_histogram(aes(proportion_interet)) +
labs(title = "Repartition des proportions lapins par rapport au chevreuil",
y = "Proportion") + theme_bw()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
On remarque qu’il y a une grande partie de zero -> On pourra vouloir utiliser des modeles a inflation 0.
plot(x = bdd_reg$year,
y = bdd_reg$proportion_interet)
# Interactions entre Variables quantitatives
col <- colorRampPalette(c("#990000","#990000", "#eeeeee","#05600b","#05600b"))
corrplot(cor(bdd_reg[,-c(3:4)], bdd_reg[,-c(3:4)]),
method="color", col=col(200),
type="upper", order="hclust",
addCoef.col = "black", # Ajout du coefficient de correlation
tl.col="black", tl.srt=45, #Rotation des etiquettes de textes
# Combiner avec le niveau de significativite
sig.level = 0.01, insig = "blank",
# Cacher les coefficients de correlation sur la diagonale
diag=FALSE
)
## Warning in ind1:ind2: numerical expression has 50 elements: only the first used
alias(lm(data = bdd_reg,
proportion_interet ~ year+Y_10km+X_10km+famille_paysage_max+Grid10km))
## Model :
## proportion_interet ~ year + Y_10km + X_10km + famille_paysage_max +
## Grid10km
##
## Complete :
## (Intercept) year Y_10km
## Grid10km -7976301047/423398 0 7/2500
## X_10km famille_paysage_maxPaysage boise et de bosquets
## Grid10km 0 0
## famille_paysage_maxPaysage cultive avec talus
## Grid10km 0
## famille_paysage_maxPaysage cultive e ragosses
## Grid10km 0
## famille_paysage_maxPaysage de bocage dense sur collines
## Grid10km 0
## famille_paysage_maxPaysage de bocage e maille elargie
## Grid10km 0
## famille_paysage_maxPaysage de cultures legumieres
## Grid10km 0
## famille_paysage_maxPaysage de littoral urbanise
## Grid10km 0
vif(lm(data = bdd_reg,
proportion_interet ~ year+X_10km+famille_paysage_max+Grid10km))
## GVIF Df GVIF^(1/(2*Df))
## year 1.019320 1 1.009614
## X_10km 3.256362 1 1.804539
## famille_paysage_max 8.070247 7 1.160854
## Grid10km 2.642157 1 1.625471
# Interactions entre Variables qualitatives
interaction.plot(bdd_reg$famille_paysage_max,
as.factor(bdd_reg$Grid10km),
bdd_reg$proportion_interet,
main = "Interaction entre la grille et la famille de paysage")
# Beaucoup d'interactions ce qui est logique.
interaction.plot(bdd_reg$famille_paysage_max,
as.factor(bdd_reg$clust_max),
bdd_reg$proportion_interet,
main = "Interaction entre les clusters et la famille de paysage")
# Un peu d'interaction entre les clusters et les familles de paysage.
On a VIF de famille_paysage_max > 5, donc on doit retirer cette variable.
Il y a pas mal d’interaction entre les facteurs (logique) montre par le fait que les courbes sont pas parraleles.
reg <- glm(data = bdd_reg,
proportion_interet ~ year*Grid10km+Y_10km+X_10km+famille_paysage_max+Grid10km)
summary(reg)
##
## Call:
## glm(formula = proportion_interet ~ year * Grid10km + Y_10km +
## X_10km + famille_paysage_max + Grid10km, data = bdd_reg)
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error
## (Intercept) -2.569e+02 6.295e+00
## year -1.024e-02 7.305e-04
## Grid10km 1.199e-03 5.909e-03
## Y_10km 4.137e-05 9.129e-07
## X_10km NA NA
## famille_paysage_maxPaysage boise et de bosquets -1.059e-01 2.632e-02
## famille_paysage_maxPaysage cultive avec talus -1.606e-01 2.653e-02
## famille_paysage_maxPaysage cultive e ragosses 8.709e-03 2.626e-02
## famille_paysage_maxPaysage de bocage dense sur collines -2.415e-01 2.663e-02
## famille_paysage_maxPaysage de bocage e maille elargie -1.691e-01 2.680e-02
## famille_paysage_maxPaysage de cultures legumieres 1.988e-01 2.739e-02
## famille_paysage_maxPaysage de littoral urbanise -8.654e-02 2.602e-02
## year:Grid10km -7.876e-06 2.924e-06
## t value Pr(>|t|)
## (Intercept) -40.814 < 2e-16 ***
## year -14.014 < 2e-16 ***
## Grid10km 0.203 0.839146
## Y_10km 45.313 < 2e-16 ***
## X_10km NA NA
## famille_paysage_maxPaysage boise et de bosquets -4.022 5.78e-05 ***
## famille_paysage_maxPaysage cultive avec talus -6.056 1.41e-09 ***
## famille_paysage_maxPaysage cultive e ragosses 0.332 0.740119
## famille_paysage_maxPaysage de bocage dense sur collines -9.068 < 2e-16 ***
## famille_paysage_maxPaysage de bocage e maille elargie -6.310 2.82e-10 ***
## famille_paysage_maxPaysage de cultures legumieres 7.261 3.91e-13 ***
## famille_paysage_maxPaysage de littoral urbanise -3.326 0.000881 ***
## year:Grid10km -2.693 0.007080 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.06782904)
##
## Null deviance: 3386.3 on 41037 degrees of freedom
## Residual deviance: 2782.8 on 41026 degrees of freedom
## AIC: 6051.2
##
## Number of Fisher Scoring iterations: 2
autoplot(reg)
summary(glm(data = bdd_reg,
proportion_interet ~ year+X_10km+Grid10km))
##
## Call:
## glm(formula = proportion_interet ~ year + X_10km + Grid10km,
## data = bdd_reg)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.035e+01 6.981e-01 29.15 <2e-16 ***
## year -9.851e-03 3.457e-04 -28.49 <2e-16 ***
## X_10km -8.975e-07 1.960e-08 -45.80 <2e-16 ***
## Grid10km 1.295e-04 1.268e-05 10.21 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.07632222)
##
## Null deviance: 3386.3 on 41037 degrees of freedom
## Residual deviance: 3131.8 on 41034 degrees of freedom
## AIC: 10885
##
## Number of Fisher Scoring iterations: 2
Ici, l’annee est significative. Les residus ne sont pas tres aleatoire -> Encore des choses a expliquer. On a un QQ-plot pas top. Les residus ne sont pas du bruit blanc gaussien.
Pas de donnees qui sont leviers.
reg <- glm(data = bdd_reg,
proportion_interet ~ year+famille_paysage_max)
summary(reg)
##
## Call:
## glm(formula = proportion_interet ~ year + famille_paysage_max,
## data = bdd_reg)
##
## Coefficients:
## Estimate Std. Error
## (Intercept) 23.6832039 0.6809434
## year -0.0115966 0.0003371
## famille_paysage_maxPaysage boise et de bosquets -0.1098124 0.0267725
## famille_paysage_maxPaysage cultive avec talus 0.0428477 0.0266571
## famille_paysage_maxPaysage cultive e ragosses -0.0331331 0.0266201
## famille_paysage_maxPaysage de bocage dense sur collines -0.1570289 0.0267967
## famille_paysage_maxPaysage de bocage e maille elargie -0.0038480 0.0267832
## famille_paysage_maxPaysage de cultures legumieres 0.3282119 0.0271464
## famille_paysage_maxPaysage de littoral urbanise 0.0038378 0.0266256
## t value Pr(>|t|)
## (Intercept) 34.780 < 2e-16 ***
## year -34.403 < 2e-16 ***
## famille_paysage_maxPaysage boise et de bosquets -4.102 4.11e-05 ***
## famille_paysage_maxPaysage cultive avec talus 1.607 0.108
## famille_paysage_maxPaysage cultive e ragosses -1.245 0.213
## famille_paysage_maxPaysage de bocage dense sur collines -5.860 4.66e-09 ***
## famille_paysage_maxPaysage de bocage e maille elargie -0.144 0.886
## famille_paysage_maxPaysage de cultures legumieres 12.090 < 2e-16 ***
## famille_paysage_maxPaysage de littoral urbanise 0.144 0.885
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 0.07149841)
##
## Null deviance: 3386.3 on 41037 degrees of freedom
## Residual deviance: 2933.5 on 41029 degrees of freedom
## AIC: 8210.3
##
## Number of Fisher Scoring iterations: 2
autoplot(reg)
La famille de paysage n’est pas significatif, mais AIC plus faible, donc ca reste interessant d’ajouter la famille de paysage dans l’analyse.
Meilleur QQ-plot, et residus.
Certains individus sont atypiques, ils ont un effet levier important. Cependant, ils ont une distance de Cook assez faible/normal, donc on n’a pas a s’inquieter. Ils concernent des sites de Paysage associe a la presence d’eau.