urban-analytics / dust Goto Github PK
View Code? Open in Web Editor NEWData Assimilation for Agent-Based Models - A research project at the University of Leeds, funded by the European Research Council
License: MIT License
Data Assimilation for Agent-Based Models - A research project at the University of Leeds, funded by the European Research Council
License: MIT License
Include a pointer to the parent model
in the stationsim Agent
constructor. Then it will no longer be necessary to pass references to the model in Agent functions (e.g. Agent.activate(self, model)
becomes Agent.activate(self)
After a cursory glance at the EnKF it appears that the code could do with a little refactoring. This is partly be an exercise in reacquainting myself with the code, but also should help with the following:
E.g. so that the size of the environment and the ‘normal’ speeds that agents move across it look similar to the real world. (Then when we discuss parameters in the paper we can say that the units are in meters, not something arbitrary).
Since I have been away on placement, StationSim has received an overhaul. I should have a look to see what has changed and how it runs.
As with the EnKF code that that it uses, the code for running EnKF experiments and analysis could use some refactoring to make it more readable and concise. This should ultimately culminate in experiments being moved into a notebook similar to those used for other DA methods; utility functions for experiments may be left in an analysis module.
(Patricia I'm happy to look at this, but would be interested in your thoughts).
When running large numbers of particles, you end up with a few that take ages to complete. E.g. see the screenshot. At the start of the DA window there were 16 python processes all running simultaneously, working their way through a population of 1000 particles. However, after a few hours, most particles have finished but a few remain and take ages. Here you can see that there are only 4 processes remaining. This is because the other 996 particles finished hours ago, but these last four are still going.
I'm not sure why this is happenning. It might be to do with loads of random collisions taking place, but maybe there's a bug. Either way, one way round this might be to keep track of how long the particles are taking to complete and if any take too long, say more 10* the mean runtime of the whole population then we kill the process and discard them...
At the moment the collisions map produced by stationsim_gcs
(e.g. model.get_collision_map()
) shows most collisions happenning when agents meet the central barrier. It would be good to distinguish these collisions (which are inevitable) with those that occur when agents collide (which are the interesting ones).
Following on from a review of the new version of StationSIm, I need to see how my Ensemble Kalman Filter runs with it and fix any compatibility issues.
Produce the following figures and introduce them into the ODD for stationsim:
They kind of made sense in the original version when movement was always left to right, but were largely a fudge. Now that there is better collision detection, should we redesign the collision avoidance routine?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.