Configurar
Mi ciudad ha puesto en marcha recientemente un programa piloto para obligar a que sólo el transporte público utilice determinadas secciones del centro de la ciudad.
La ciudad ha publicado datos sobre el programa. Disponen de sensores en lugares estratégicos del centro de la ciudad para controlar el tiempo de viaje entre segmentos. Los datos incluyen:
- La latitud y la longitud del sensor
- Un código para el segmento (por ejemplo, Yo_Ds_Yo_Ds).
- La hora en que se realizaron las mediciones.
- Es el número medio de segundos necesarios para recorrer un segmento. Es una medida de la congestión. Más tiempo significa mayor congestión.
Los datos abarcan desde los 3 meses anteriores al inicio de la prueba piloto hasta casi 8 meses después de su comienzo. Los datos se registran en todas las horas del día.
Me interesa determinar cómo ha cambiado la congestión en las zonas circundantes debido a la entrada en vigor del programa. Preveo que esto requerirá una suavidad en el espacio y el tiempo.
Los datos y el modelo
El conjunto de datos tiene 5 columnas:
TravelTime
-- Tiempo medio en segundos para atravesar el segmentoLat/Lon
-- coordenadas del sensorTime
-- Hora en que se hizo la observaciónIsProgram
-- Indicador binario para saber si la observación es del programa.
A partir de ahora, utilizo lo siguiente para modelar los datos
bam(TravelTime ~ s(Lat,Lon, bs = 'gp', by = IsProgram) + s(Time,bs = 'cc'))
aquí está mi razonamiento:
-
Utilizo un bam porque tengo algo así como 1.000.000+ observaciones
-
IsProgram
es un factor que indica si la observación es de cuando el programa estaba en marcha. Pasando esto a la funciónby
argumento me permitirá estimar la congestión para antes y después del programa. -
Utilizo un
s(Time)
para controlar el efecto del tiempo en la congestión. El sitio webcc
es porque el efecto del tiempo es periódico.
Pregunta
¿Es este un enfoque razonable para utilizar GAMS para modelar este problema? ¿Debería utilizar un modelo de efectos aleatorios ya que tengo observaciones repetidas de los sensores?
Si necesitas datos, puedo enlazar con un repo de GitHub.