-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.txt
174 lines (128 loc) · 7.76 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
CWR Climate Change Analysis
H. Achicanoy & N. Castañeda
CIAT, 2015
RUTAS IMPORTANTES
# Proyecciones climáticas futuras
\\dapadfs\data_cluster_2\gcm\cmip5\downscaled
# Carpeta análisis 2014 de cambio climático
/curie_data/ncastaneda/threats
DESCRIPCIÓN DE LOS DATOS
Datos de ocurrencia: 26 cultivos con diferente número de parientes silvestres asociados. Cada archivo se encuentra escrito en formato .csv con las variables:
- Taxon. Nombre del taxón
- lon. Longitud medida en grados decimales
- lat. Latitud medida en grados decimales
Datos climáticos: 30 GCMs para el RCP 4.5 año 2050 que contienen las 19 variables climáticas de worldclim y la altitud además de las condiciones actuales con las mismas variables. Dichos datos se encuentran escritos en formato raster a una resolución de 5 arc min a nivel global.
DESCRIPCIÓN DE LAS ETAPAS A EJECUTAR
1. Por cada taxón cortar los rasters climáticos (por GCM y condiciones actuales) generando un buffer de 50 km alrededor de las coordenadas más extremas.
2. Generar los datos de background en los lugares definidos en la etapa anterior por taxón.
3. Por cada combinación taxón-GCM correr MaxEnt realizando una validación cruzada para 10 subparticiones de los datos (70% training, 30% testing).
4. Utilizar varios estadísticos de validación para evaluar los resultados (AUC, TSS, Kappa index, ...)
5. Guardar todos los resultados en formato NCDF
6. Realizar un análisis de varianza a partir de las estadísticas de evaluación por todas las combinaciones generadas
7. Ejecutar el ensamble de modelos para cada taxón
8. Evaluar el porcentaje de cambio o migración en la distribución de las especies bajo el escenario de cambio climático estudiado. Fijando un límite de migráción de ...
Problemas con: Phaseolus_persistentus (Crop: bean) [SOLUCIONADO]
...
Processing: bambara
Processing: bean
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘raster’ for signature ‘"try-error"’
...
Continua el procesamiento a partir de Cajanus
Problemas con: Vigna_unguiculata_letouzeyi (Crop: cowpea) [SOLUCIONADO]
...
Processing: cowpea
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘raster’ for signature ‘"try-error"’
In addition: Warning message:
In mclapply(1:length(fcRastersProc), cropRasters, mc.cores = length(fcRastersProc)) :
all scheduled cores encountered errors in user code
...
Continua el procesamiento a partir de Daucus
Problemas con: Daucus_carota_drepanensis (Crop: daucus) [SOLUCIONADO]
Processing: daucus
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘raster’ for signature ‘"try-error"’
In addition: Warning message:
In mclapply(1:length(fcRastersProc), cropRasters, mc.cores = length(fcRastersProc)) :
all scheduled cores encountered errors in user code
Corrección de problemas identificados:
1. Especies con solo 1 coordenada geográfica
2. Especies donde la coordenadas extremas tienen una distancia cercana a 0 grados
# Identificación de un nuevo problema [Issue 1]
Processing: eggplantNHM
...
Processing: Solanum_nigriviolaceum [REVISAR!!!] [SOLUCIONADO] [Número reducido de coordenadas]
Error in .rasterObjectFromCDF(x, type = objecttype, band = band, ...) :
cells are not equally spaced; you should extract values as points
In addition: Warning messages:
1: In min(rs) : no non-missing arguments to min; returning Inf
2: In max(rs) : no non-missing arguments to max; returning -Inf
3: In min(rs) : no non-missing arguments to min; returning Inf
Se deja este caso aparte y se continua procesando el resto de la información
Continua el procesamiento a partir de Eleusine
Problemas con: Lens_culinaris_tomentosus (Crop: lens) [SOLUCIONADO] [Número reducido de coordenadas]
Processing: Lens_culinaris_tomentosus
Error in .rasterObjectFromCDF(x, type = objecttype, band = band, ...) :
cells are not equally spaced; you should extract values as points
In addition: Warning messages:
1: In min(rs) : no non-missing arguments to min; returning Inf
2: In max(rs) : no non-missing arguments to max; returning -Inf
3: In min(rs) : no non-missing arguments to min; returning Inf
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #
# Etapa de modelación
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #
Comparación de tiempos de procesamiento
# Modelación
# Crop = 'avena', Taxon = 'Avena_abyssinica', GCM=1; Apróximadamente 40 segundos
# Proyección con predict function
# user system elapsed
# 425.976 2.470 398.787
# Proyección con make.projections function
# user system elapsed
# 83.118 3.869 87.053
DESCRIPCIÓN DE LA FUNCIÓN PARA MODELAR
Input: crop
Internamente se modela cada uno de los taxones asociados al crop. Para hacer esto necesitamos un loop o
paralelizar la función que realiza este paso. (PARA HACER)
Por taxón se realizarán 5 corridas mediante el procedimiento de validación cruzada. Las estadísticas de
cada corrida se deben almacenar en una tabla que debería contener:
- Regularized.training.gain: ganancia
- Training.AUC: AUC para los datos con los que se entrenó el modelo
- Test.AUC: AUC para los datos con los que se evaluó el modelo
- AUC.Standard.Deviation: desviación estándar de los AUC de entrenamiento
- Threshold: Esquina superior izquierda de la curva ROC
Falta calcular:
- Threshold (PARA HACER)
Se debe almacenar las estadísticas de todos los taxones en una tabla para obtener un resumen del cultivo.
(PARA HACER)
Adicional a esto, se podría crear un archivo de texto donde contemos con la información de: (PARA HACER)
- Número de presencias por taxón
- Verificar las features con los cuales se corrió el modelo
- ... (no se me ocurre nada más por el momento)
A partir de las 5 replicas realizadas por taxón, se calcula el promedio, el cual se umbraliza a partir
del threshold seleccionado (debe almacenarse), esto por cada uno de los 30 GCM's. Con estos 30 rasters
umbralizados calculamos el modelo ensamble a partir de la función de quantiles.
Archivos a almacenar en la carpeta: /curie_data/storage/climate_change/[crop]/maxent_modeling
- Tabla con estadísticas de resumen para el cultivo
- Archivo de texto con información de interés sobre las corridas del modelo
Archivos a almacenar en la carpeta: /curie_data/storage/climate_change/[crop]/maxent_modeling/[specie_name]
- [specie_name]_current.nc : contiene la distribución potencial umbralizada de la especie considerada en condiciones
actuales
- [specie_name]_future.nc : contiene la distribución potencial umbralizada de la especie considerada en condiciones
futuras para cada uno de los 30 GCM's
- [specie_name]_ensemble.nc: contiene la distribución potencial umbralizada de la especie considerada en condiciones
futuras calculada mediante un procedimiento ensamble
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #
# Etapa de modelación incorporando nuevas ideas
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #
@ Optimización de background
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #
@@ Tener en consideración el artículo de Syfert et al (2013) e implementar la corrección por sampling bias
@@ en el código por cada especie
Tres escenarios en consideración
1. Polinomial: en base a ocurrencias extremas
2. Rectangular: en base a ocurrencias extremas a partir de los vertices
3. Modelación previa: utilizar un modelo de envelopment, BIOCLIM ...
Por cada escenario se tienen dos buffer para probar la bondad de ajuste del modelo por corrección de muestreo