Estimación de parámetros para un proceso espacial

12

Me dan una cuadrícula de valores enteros positivos. Estos números representan una intensidad que debería corresponder a la fuerza de creencia de una persona que ocupa esa ubicación de la cuadrícula (un valor más alto indica una creencia más alta). En general, una persona tendrá influencia sobre varias celdas de la cuadrícula.n×n

Creo que el patrón de intensidades debería "verse gaussiano" en el sentido de que habrá una ubicación central de alta intensidad, y luego las intensidades disminuirán radialmente en todas las direcciones. Específicamente, me gustaría modelar los valores como provenientes de un "Gaussiano escalado" con un parámetro para la varianza y otro para el factor de escala.

Hay dos factores complicados:

  • la ausencia de una persona no corresponderá a un valor cero, debido al ruido de fondo y otros efectos, pero los valores deberían ser menores. Sin embargo, pueden ser erráticos, y en una primera aproximación puede ser difícil de modelar como simple ruido gaussiano.
  • El rango de intensidad puede variar. Para una instancia, los valores pueden variar entre 1 y 10, y en otra, entre 1 y 100.

Estoy buscando una estrategia de estimación de parámetros adecuada, o punteros a la literatura relevante. También se agradecerán los indicios de por qué estoy abordando este problema de la manera incorrecta :). He estado leyendo sobre kriging y los procesos gaussianos, pero esa parece ser una maquinaria muy pesada para mi problema.

Suresh Venkatasubramanian
fuente
1
¿Qué quiere decir con un gaussiano con un parámetro de varianza y escala? El parámetro de varianza es el parámetro de escala de un gaussiano! También estoy un poco inseguro sobre el modelo que has configurado hasta ahora. ¿Puedes describir el problema que realmente estás tratando de resolver con más detalle? El uso de un gaussiano para modelar observaciones de baja granularidad con valor entero parece sospechoso.
cardenal
(+1) Para una pregunta interesante. Espero comprender lo que estás tratando de resolver un poco mejor.
cardenal
Aquí hay varias observaciones: 1. Si sus valores son enteros, usar Gaussian no parece apropiado. 2. No está claro cuál es el propósito de su modelo, ¿desea identificar los grupos de creencias fuertes, por ejemplo? ¿Cuál será la interpretación de sus parámetros si los tuviera? 3. Dado que tiene una cuadrícula, ¿por qué no tratar de ajustar la mezcla de distribuciones bivariadas? Entonces la cuadrícula será el soporte de la distribución (digamos unidad cuadrática) y las intensidades corresponderán a las regiones de alta probabilidad.
mpiktas
Gracias a todos por los puntos interesantes. Déjame intentar aclarar. La elección de "gaussiano", a la luz de los comentarios, podría ser una pista falsa que causa más confusión de la que ayuda. La característica clave de los datos son los valores de alta intensidad en el punto de mayor creencia en la ubicación de la persona, y la disminución "radial" a su alrededor (lo que he observado empíricamente). Los valores de intensidad provienen de la solución a un problema inverso (lineal) y, por lo tanto, en realidad no necesariamente tienen que ser integrales; esos son solo los datos que tenemos.
Suresh Venkatasubramanian
Por cierto, aprecio los intentos de hacer la pregunta más bien definida y mejor modelada. Haré todo lo posible para explicar la configuración de datos real para converger en los supuestos de modelado correctos.
Suresh Venkatasubramanian

Respuestas:

5

Puede usar este módulo de la biblioteca pysal python para los métodos de análisis de datos espaciales que analizo a continuación.

Su descripción de cómo la actitud de cada persona está influenciada por las actitudes de las personas que la rodean puede representarse mediante un modelo espacial autorregresivo (SAR) (también vea mi explicación SAR simple de esta respuesta SE 2 ). El enfoque más simple es ignorar otros factores y estimar la fuerza de la influencia de cómo las personas que los rodean afectan las actitudes de los demás mediante el uso de la estadística I de Moran .

Si desea evaluar la importancia de otros factores al estimar la fuerza de la influencia de las personas que lo rodean, una tarea más compleja, puede estimar los parámetros de una regresión: . Vea los documentos aquí . (Los métodos para estimar este tipo de regresión provienen del campo de la econometría espacial y pueden ser mucho más sofisticados que la referencia que proporcioné).y=bx+rhoWy+e

Su desafío será construir una matriz de pesos espaciales ( ). Creo que cada elemento de la matriz debe ser 1 o 0 en función de si la persona está dentro de cierta distancia, usted siente que es necesario para influir en la otra persona .w i j i jWwijij

Para tener una idea intuitiva del problema, a continuación ilustramos cómo un proceso de generación de datos autorregresivo espacial (DGP) creará un patrón de valores. Para las 2 redes de valores simulados, los bloques blancos representan valores altos y los bloques oscuros representan valores bajos.

En la primera red debajo de los valores de la cuadrícula han sido generados por un proceso aleatorio normalmente distribuido (o gaussiano), donde es cero.rho

Aleatorio (gaussiano)

En la siguiente red debajo de los valores de la cuadrícula han sido generados por un proceso espacial autorregresivo, donde se ha establecido en algo alto, digamos .8. rhoingrese la descripción de la imagen aquí

b_dev
fuente
Eso es muy interesante (y también lo es el Geary C relacionado). Esto podría estar cerca de lo que necesito.
Suresh Venkatasubramanian
Geary C le ayuda a ver cómo los valores cercanos se agrupan, incluso los valores en el medio de la distribución. Moran's I te ayuda a ver cómo los valores muy altos se agrupan con valores muy altos, y los valores muy bajos se agrupan alrededor de valores muy bajos. Entonces, tal vez esté en lo correcto y el método más simple y mejor es Geary's C. Recuerde que el enfoque Geary C es exploratorio y no le permitirá condicionar sus resultados en otros factores. Mire este módulo de Python para ver el código para ejecutar Geary's C: pysal.org/1.1/library/esda/geary.html .
b_dev
Déjame jugar con estos un poco más. Si parece hacer lo que necesito (y creo que lo hará), esta parece ser la mejor respuesta.
Suresh Venkatasubramanian
3

Aquí hay una idea simple que podría funcionar. Como he dicho en los comentarios, si tiene una cuadrícula con intensidades, ¿por qué no ajustar la densidad de la distribución bivariada?

Aquí está el gráfico de muestra para ilustrar mi punto: ingrese la descripción de la imagen aquí

Cada punto de la cuadrícula se muestra como un cuadrado, coloreado de acuerdo con la intensidad. Superpuesta en el gráfico está el gráfico de contorno del gráfico de densidad normal bivariado. Como puede ver, las líneas de contorno se expanden en la dirección de intensidad decreciente. El centro estará controlado por la media de la bivariada normal y la propagación de la intensidad según la matriz de covarianza.

Para obtener las estimaciones de la media y la matriz de covarianza, se puede utilizar una optimización numérica simple, compare las intensidades con los valores de la función de densidad utilizando la media y la matriz de covarianza como parámetros. Minimizar para obtener las estimaciones.

Por supuesto, esto no es estrictamente una estimación estadística, pero al menos le dará una idea de cómo continuar.

Aquí está el código para reproducir el gráfico:

require(mvtnorm)
sigma=cbind(c(0.1,0.7*0.1),c(0.7*0.1,0.1))

x<-seq(0,1,by=0.01)
y<-seq(0,1,by=0.01)
z<-outer(x,y,function(x,y)dmvnorm(cbind(x,y),mean=mean,sigma=sigma))

mz<-melt(z)

mz$X1<-(mz$X1-1)/100
mz$X2<-(mz$X2-1)/100

colnames(mz)<-c("x","y","z")

mz$intensity<-round(mz$z*1000)

ggplot(mz, aes(x,y)) + geom_tile(aes(fill = intensity), colour = "white") + scale_fill_gradient(low = "white",     high = "steelblue")+geom_contour(aes(z=z),colour="black")
mpiktas
fuente
2

Su modelo es un campo aleatorio bidimensional , y está tratando de estimar la distribución conjunta de las variables aleatorias de valores enteros . Deberá asumir la estacionariedad espacial: es decir, la distribución conjunta de es la misma que la distribución conjunta de . En particular, la distribución marginal es la misma para cada celda. Una pregunta simple es la estructura de autocorrelación del campo. Es decir, ¿qué es dada la distancia ? Representamos esto como una funciónX[i,j]X[i,j](X[i1,j1],...,X[im,jm])(X[i1+k,j1+l]...,X[im+k,jm+l])corr(X[i1,j1],X[i2,j2])d([i1,j1],[i2,j2])ρ(d). Un modelo simple para la estructura de autocorrelación es , donde es una constante.ρ(d)=kd1k

Un efecto 'gaussiano' corresponde a una función de distancia cuadrática, pero hay muchas otras funciones de distancia que debe considerar, como la norma de taxi. Una vez que haya decidido una función de distancia y la forma de su modelo de autocorrelación, es lo suficientemente simple como para estimar por ejemplo, a través de la máxima probabilidad. Para obtener más ideas, busque "campo aleatorio".ρ ( d )d([i1,j1],[i2,j2])=|i1i2|+|j1j2|ρ(d)

charles.y.zheng
fuente
1
"Quiere asumir la estacionariedad espacial" parece contradecir directamente la suposición del OP de que "las intensidades disminuyen radialmente en todas las direcciones".
whuber
¿Cómo es eso? Tal patrón ocurriría con la estructura de autocorrelación que propuse.
charles.y.zheng
1
@charles Es un punto importante: si esta tendencia aparente se debe atribuir a la autocorrelación, entonces, en principio, otra realización independiente del proceso podría parecer tener una tendencia dramáticamente diferente, como un aumento en el valor fuera de un punto central. Debido a que el OP ha articulado y distinguido claramente algunos elementos deterministas de la tendencia (el "estrechamiento radial") y los elementos correlacionales ("tienen influencia sobre múltiples celdas de la cuadrícula"), una respuesta que respete esto probablemente se vería más positivamente que una que afirme el OP "querrá" cambiar de opinión.
whuber
No estoy seguro de entender la condición de estacionariedad espacial. En la superficie, parece estar en desacuerdo con la idea de tener un "pico que disminuya" en una ubicación específica, pero claramente no entiendo algo.
Suresh Venkatasubramanian
1
@charles, el patrón que describas estará presente para cada uno de los puntos de la cuadrícula, debido a la suposición de estacionariedad espacial. La estacionariedad básicamente dice que todos mis puntos se comportan de manera similar. Este no es el caso descrito por OP. La respuesta sigue siendo muy buena, pero no es apropiada en este caso.
mpiktas