estaR: New functions for the Exploratory SpatialData Analysis in R2018 ECONRES Workshop II December, 2018
Andrés Vallone 1,2 Julie Le Gallo 3 Coro Chasco 2 Kassoum Ayouba 3
1Universidad Católica del Norte, Chile
2Universidad Autónoma de Madrid, Spain
3CESAER , AgroSup Dijon, INRA, France
Contenidos
Introducción
Local Analysis
Markov analysis
Ranking analysis
Trabajo por realizar
Motivación
Motivación
• Se pretende incorporar en R herramientas asociadas al análisis exploratoriosespacio temporales, o en inglés Exploratory Spatial Temporal Data Analysis(ESTDA).
• Dos software están fuertemente relacionados con este tipo de análisis, GeoDay la PySAL.
• R en el paquete spedep contiene algunas funciones ESDA, pero no procesosdinámicos y análisis multivariable.
• El objetivo es hacer un paquete de enteramente programado en R.
Estructura del paquete
estdaRLocal
Analysis
Multivariable
moran()
geary()
Univariable
d.LISA()
geary()moran()
Markovanalysis
discret()Test
mkv.pop.test()
homo.test()
sp.homo.test()
join.d()
mkv()
sp.mkv() shorrock()
lisamkv()
sig.lisamkv()
prais()
RankAnalysis
thetha()
sp.tau()
Local Analysis
Local Moran
• Basado en Anselin(1995) se generan dos cálculos:• Local Moran (LM)
Ii = zxi
n∑j
wijzxj
• Local Moran Bivariable (LMB)
Ii = zxi
n∑j
wijzyj
• donde zxi = (xi − x) e zyi = (yi − y)• LM está presente en spdep,sin embargo LMB no o está
Local Moran
La función
moran(x,W,nsim,type,nbcom,...)
• x es un vector, una matriz de variables o un panel espacial.• W es una matriz de pesos espaciales del tipo listw
• nsim determina el numero de permutaciones a realizar para calcular el pvalue, Por defecto asume el valor NULL, es decir no calcula el p value.
• type determina el tipo de calculo deseado, üni" realiza cálculos univariados,"multi" realiza cálculos multivariados
• nbcom es el parámetro de ajuste del valor para corrección por comparacionesmúltiples, por defecto se usa el numero de unidades espaciales y el métodode ajuste es el propuesto por Bonferroni(1936)
Local Moran, ejemplo Anselin(2017)
• Si x es un vector la salida esuna matriz
• Si x es una matriz ytype=üni" es consideradoun panel espacial, la salidaes una lista de matricesconsiderando cada año comoun vector.
• Si x es una matriz ytype="multi" es un análisismultivariado y la salida es unalista con todas las posiblescombinaciones de variablesx,y posibles.
Local Moran, ejemplo Anselin(2017)
Local Geary
• Se generan dos posibilidades de cálculo:• Local Geary, Anselin(1995)
ci = 1m2
∑j
wij (xi − xj )2 ; m2 = (xi − x)n
• Local Multivariate Geary (LMG), Anselin (2017)
ck,i =k∑
v=1
cv,i /k
• LMG solo disponible por el momento en GeoDa.
Local Geary
La función
geary(x,W,nsim,type,nbcom,...)
• x es un vector, una matriz de variables o un panel espacial.• W es una matriz de pesos espaciales del tipo listw
• nsim determina el numero de permutaciones a realizar para calcular el pvalue, Por defecto asume el valor NULL, es decir no calcula el p value.
• type determina el tipo de calculo deseado, üni" realiza cálculos univariados,"multi" realiza cálculos multivariados
• nbcom es el parámetro de ajuste del valor para corrección por comparacionesmúltiples, por defecto se usa el numero de unidades espaciales y el métodode ajuste es el propuesto por Bonferroni(1936)
Local Geary, ejemplo Anselin(2017)
• Si x es un vector la salida esuna matriz
• Si x es una matriz ytype=üni" es consideradoun panel espacial, la salidaes una lista de matricesconsiderando cada año comoun vector.
• Si x es una matriz ytype="multi" es un análisismultivariado y la salida esuna matriz.
Local Geary, ejemplo Anselin(2017)
Directional LISA
• Basado en Rey et al., (2011) Integra los los indicadores de asociación espaciallocal con la estadística diseccional
• Analiza la evolución conjunta de una unidad espacial y sus vecinos en dosperiodos de tiempo.
• Es posible realizar inferencia estadística de la dirección de los movimientosa partir de permutaciones.
• PySAL entrega solo información para realizar los gráficos de rose
Directioanl LISA basado en Rey et al.(2011)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
28
2930
31
3233
34
35
36
37
38
39
40
41
42
43
4445
46
47
48
51
-0.2
-0.1
0.0
0.1
0.2
-0.2 0.0 0.2X
WX
1
2
3
4
5
6
78
9
10
11
12
13
14
15
16
17
18
19
20
2122
23
24
25
26
28
29
30
3132
33
3435
363738
3940
41
4243
444546
4748
51
-0.1
0.0
0.1
0.2
0.3
-0.2 0.0 0.2 0.4X
WX
Periodo inicial Periodo Final
Directioanl LISA basado en Rey et al.(2011)
-0.2
0.0
0.2
-0.2 0.0 0.2 0.4X
WX
Directional LISA
-1.0 -0.5 0.0 0.5 1.0
-1.0
-0.5
0.0
0.5
1.0
x
Wx
t0
t1
-1.0 -0.5 0.0 0.5 1.0
-1.0
-0.5
0.0
0.5
1.0
x
Wx
t0
t1
-1.0 -0.5 0.0 0.5 1.0
-1.0
-0.5
0.0
0.5
1.0
x
Wx
Directioanl LISA basado en Rey et al.(2011)
-0.1
0.0
0.1
-0.2 -0.1 0.0 0.1 0.2X
WX
Directional LISA
P=4 P=8
• Se divide el espacio teniendo en cuenta las posibles direcciones y patronesobservables.
Directional LISA
0-90
180-270270-360
90-180
0
1
2
3
4
5
6
Counts
• Se calcula la frecuencia de la dirección del movimiento.
Directional LISA
La función
d.LISA(x0,x1,W,Regime,k,mean.rel,nsim,arrow,only)
• x0 variable en el periodo inicial• x1 variable en el periodo final.• W es una matriz de pesos espaciales del tipo listw• Regime estructura de los regimenes espaciales a utilizar. Por defecto es NULL• mean.rel parámetro lógico, ¿Se debe relativizar por media?. Por defecto es
FALSE• k numero de porciones para contar las direcciones, por defecto es 8.• nsim determina el numero de permutaciones a realizar para calcular el p
value, Por defecto asume el valor NULL, es decir no calcula el p value.• arrow parámetro lógico, ¿Desea dibujar solo la punta de fecha? Por defecto
es FALSE• only numero indicando que régimen espacial dibujar. or defecto es NULL
Directioanl LISA basado en Rey et al.(2011)
• una lista conteniendo los gráficos por separado, y tres data frame: ángulosy tamaños, cuenta de direcciones, p values.
Markov analysis
Cadenas de Markov Discretas
DefinitionUn proceso aleatorio X0,X1,X2, . . . con un espacio de estados finitosS = {s1, . . . , sk} es una cadena homogenea de Markov si ∀i , j ∈ {i , . . . , k} y∀i0, . . . , in−1 ∈ {1, . . . , k}
P[Xt+1 = j | X0 = i0,X1 = i1, . . . ,Xt−1 = in − 1,Xt = i
]=
= P[Xt+1 = j | Xt = i
]= pi,j
• pi,j es la probabilidad condicional, define la probabilidad que una cadenapase de un estado i en un tiempo t a otro estado j en un tiempo t + 1
• pi,j es una regla de movimiento, desde que S tiene k estados, existen k × kreglas de movimientos. Estas reglas de movimiento especifican la matriz detransición.
La matriz de transición
P =
p11 p12 . . . p1k
p21 p22 . . . p2k...
.... . .
...pk1 pk2 . . . pkk
• Cada pij denota la probabilidad de salto en un peridodo de tiempo.• Son probabilidades ∀ pi,j ≥ 0
• Los estados son mutuamentek∑
i=1pij = 1
• El estimador de verosimilitud de pi,j viene dado por:
pi,j =∑
t ni,j,t∑t∑
j ni,j,t
siendo ni,j,t la cantidad de veces que una muestra de una cadena empiezaen el periodo i y se mueve al estado j en el siguiente periodo.
La matriz de transición
La función
mkv(m,classes,fixed,type=7)
• m matriz o un panel espacial.• classes numero de clases o un vector en el rango [0, 1]. Permite definir losestados para discretizar
• fixed parámetro lógico, ¿La discretización se realiza utilizando toda lamuestra (pool)?. Por defecto es FALSE
• type un entero entre 1 y 9 seleccionando uno de los nueve algoritmos paragenerar los cuantiles mediante la función quantile().
La matriz de transición
• la salida es una listaconteniendo dos matrices
• Probabilities entrega lamatriz de transición
• Transitions entrega lamatriz de cuentas (ni,j,t)
La matriz de transición
Funciones complementarias
shorrock(x)prais(x)st.st(x)
• x matriz de transición de una cadena discreta de Markov.
La matriz de transición
• shorrock computa el indice de movilidad de Shorrock (Shorrock, 1978)definido como:
Sh = k − trace(x)k − 1
• prais computa el indice de de Prais (Prais, 1955) definido como:
Pri = 1− pi,i
• st.st computa la distribución ergódica, de convergencia o de largo plazo:
π = xn
La matriz de Markov condicionada espacialmente
• Basado en Rey (2001) mide la probabilidad de transición de una cadenadiscreta de Markov condicionada al esta inicial de sus vecinos espaciales.
• El estimador de verosimilitud de pi,j viene dado por:
ˆp(l)i,j =∑
t n(l)i,j,t∑t∑
j n(l)i,j,t
siendo n(l)i,j,t la cantidad de veces que una muestra de una cadena discretacon retardo espacial en el estado l empieza en el periodo i y se mueve alestado j en el siguiente periodo.
• Solo disponible en PySAL
La matriz de Markov condicionada espacialmente
La función
sp.mkv(m,W,classes,fixed)
• m matriz o un panel espacial.• W es una matriz de pesos espaciales del tipo listw
• classes numero de clases o un vector en el rango [0, 1]. Permite definir losestados para discretizaritem fixed parámetro lógico, ¿La discretización se realiza utilizando todala muestra (pool)?. Por defecto es TRUE
La matriz de Markov condicionada espacialmente
• La salida es una lista conteniendo dosarray
• Probabilities entrega la matriz detransición
• Transitions entrega la matriz decuentas (ni,j,t)
• Es posible utilizar las funcionescomplementarias sobre el arraycompleto.
LISA Markov
• Basado en Rey y Janikas (2006) analiza la dinámica conjunta de una unidadespacial y sus vecinos
• Computa los movimientos de las unidades espaciales considerando comoestados de una cadena de Markov los cuadrantes del Moran’s scatter plot.
• Solo disponible en PySAL.
LISA Markov
-1.0 -0.5 0.0 0.5 1.0
-1.0
-0.5
0.0
0.5
1.0
Period 0
x
Wx
A
B
C
D
E
F
-1.0 -0.5 0.0 0.5 1.0
-1.0
-0.5
0.0
0.5
1.0
Period 1
x
Wx
A B
CD
E
F
t0 t0
Point Own Lag Own LagA L L L LB L H L LC H H H HD L L H HE H L L LF L H H H
t1
HH LH LL HL
t0
HH 1 0 0 0LH 1 0 1 0LL 1 0 1 0HL 0 0 1 0
LISA Markov
La función
lisamkv(x,W)
• x matriz conteniendo un panel espacial.• W es una matriz de pesos espaciales del tipo listw
LISA Markov
• La salida es una lista de tres matrices conteniendo la dinámica de losmovimientos, las transiciones y la probabilidad de transición.
Significant LISA Markov
La función
sig.lisamkv(x,W,nsim)
• x matriz conteniendo un panel espacial.• W es una matriz de pesos espaciales del tipo listw
• nsim determina el numero de permutaciones a realizar para calcular el pvalue, Por defecto asume el valor NULL, es decir no calcula el p value.
• La salida es una lista de tres matrices conteniendo la dinámica de losmovimientos, las transiciones y la probabilidad de transición.
Test disponibles
Test de propiedades de Markov (Bickenbach y Bode 2003
homo.test(x,classes,pr)mkv.pop.test(x,classes,order)
Test de dependencia espacial (Rey et.al, 2016; Rey et.al, 2012)
sp.homo.test(m,W,classes,fixed)joind.d(x,W)
• x matriz conteniendo un panel espacial.• W es una matriz de pesos espaciales del tipo listw• classes numero de clases o un vector en el rango [0, 1]. Permite definir losestados para discretizar
• pr subperidos en que se divide la muestra• order El orden del test a calcular, puede ser de 1 o 2 orden.
Ranking analysis
GIMA (Rey, 2016)
• Basado en Rey (2016)• El coeficiente de de Kendall esta basado en la comparación del numero
de pares de n observaciones que tienen concordancia de rango entre dosvariables del tipo ranking (f , g).
τ (f , g) = c − dn (n − 1)
2donde n es el tamaño de la muestra, c es el numero de pares concordantesy d el numero de pares discordantes
• Cualquier par (fi , gi ) y (fj , gj), con i 6= j , es concordante si existenconcordancia entre sus cambios de de rango, esto ocurre para los casos enque fi > fj y gi > gj o fi < fj y gi < gj .
GIMA
• El indice Tau espacial descompone los pares del ranking entre los vecinos ylos no vecinos espaciales para examinar en que grado las correlaciones delranking son diferente entre los los dos grupos relativo a lo que se esperaríabajo aleatoriedad espacial
τ(f , g) = φτW (f , g) + (1− φ)τW (f , g)
donde φ = ιW ι>/ι(W + W )ι>, con W = ιι> −W − In×n
• Se puede construir un indice de movilidad basado en la τ de Kendall:
M = τ (f , g)− 1−2
M = φMW + (1− φ)MW
• Este indice asume el valor 0 en caso de perfecta inmovilidad y 1 si lamovilidad es perfecta. Ejemplo
• Método solo disponible en PySAL
GIMA
La función usando algoritmo propuesto en Rey (2014)
sp.tau(x,y,W,perm)
• x variable numérica.• y variable numérica.• W es una matriz de pesos espaciales del tipo listw
• perm determina el numero de permutaciones a realizar para calcular el pvalue, Por defecto asume el valor NULL, es decir no calcula el p value.
GIMA
• La salida es un vector contenido el numero de pares concodantes, discordantes,los indices de movilidad, los indices tau y dos variables auxiliares para tratar conlos casos de empate.
Rank Decomposition
• Basado en Rey (2004)• Siendo θi,t la posición en el ranking de la unidad espacial i en el periodo t,
Suponiendo que existen R regimenes espaciales, the rank decomposition Θse calcula como:
Θt1−t0 =
∑R
∣∣∣∣∣∑i∈Rθi,t1 − θi,t0
∣∣∣∣∣∑i
∣∣θi,t1 − θi,t0
∣∣• Theta se define como la suma de la suma de los cambios de rango dentro
de los regímenes sobre la suma de todos los cambios de rango.• Es un indice de cohesión, si un conjunto de unidades espaciales en un régimen
aumenta su ranking a expensas de otras unidades espaciales pertenecientes aotro régimen, el índice asume un valor de 1, la ausencia de cohesión significaun índice igual a 0. Ejemplo
• Método disponible solo en PySAL
Rank Decomposition
La función
sp.tau(x,Regime,nsim)
• x matriz de n × t conteniendo un panel espacial con t ≥ 2.• Regime variable numérica, indicando el sistema de regímenes espaciales• nsim determina el numero de permutaciones a realizar para calcular el p
value, Por defecto asume el valor NULL, es decir no calcula el p value.
Rank Decomposition
• La salida es un data frame conteniendoel valor del estadístico y valor delpseudo p.
Trabajo por realizar
Trabajo por realizar
• Armonizar y colocar controles en argumentos.• Incorporar un set de funciones que se están elaborando:
• Weighted rose diagram• LISA paths• LIMA indicators
• Subir al CRAN• Publicar el paquete en alguna JCR
Example using block weight
Period t0
1 2 5 63 4 7 89 10 13 1411 12 15 16
Period t1
1 2 5 63 4 7 89 10 16 1511 12 14 13
• 120 pairs• 114 concordant pairs• τ = 0,90• 6 discordant pairs are all in thesame regime
• τW = 0,50 = (18− 6)/24,p − value = 0,001, τW = 1,00
• MW = 0,25 MW = 0
Return
Ranking decomposition example
t0 t1 t1 − t01 1 02 2 03 3 04 4 05 5 06 6 07 7 08 8 09 9 010 10 011 11 012 12 013 16 314 15 115 14 -116 13 -3
Θt1,t0 = 0 + 0 + 0 + 08 = 0
t0 t1 t1 − t01 13 122 14 123 15 124 16 125 5 06 6 07 7 08 8 09 9 010 10 011 11 012 12 013 1 -1214 2 -1215 3 -1216 4 -12
Θt1,to = 48 + 0 + 0 + 4896 = 1
Return