Coder Social home page Coder Social logo

acabaniss / py-households Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 1.0 1.61 MB

Pythonic ABM for household demography in the Mediterranean

Python 39.45% Jupyter Notebook 60.19% Makefile 0.17% Batchfile 0.20%
agent-based-modeling demography archaeology egypt mediterranean greece household families linked-lives

py-households's Introduction

house-inheritance

Pythonic ABM for household demography. Actively under development.

by Andrew Cabaniss

[email protected] | @andrewcabaniss | http://www.andrewcabaniss.com


This project is an ABM (agent-based model) for examining household inheritance and demography in the ancient Mediterranean. Individuals residing within houses are modeled to explore the effects of birth and death rates alongside marriage locality, household fragmentation, and inheritance rules on houses and households. The goal is to eventually provide an easily-adaptable model to control for demographic processes in the analysis of household assemblages and characteristics.

This project is written in python 3. While originally constructed for Prof. Lynette Shaw's graduate course on computational modeling, I am now adapting it for more general use with the help of two Undergraduate Research Opportunity Program (UROP) students through the University of Michigan.

Everything here is under active development. Please contact me (Andrew) through one of the links above if you are looking for a more immediate use of the package.

Contents:

Code: Contains the households python package, currently under development. The overall structure and many individual modules work as-is. Examples and tests are also included or being developed.

Data: Contains data to be used in launching, calibrating, or checking the model.

Doc: Contains the Model Proposal for the original course this project began under (CMPLXSYS 530).

Dev: Contains code currently being developed.

py-households's People

Contributors

acabaniss avatar evandrow avatar lynetteshaw avatar scampau avatar

Watchers

 avatar  avatar

Forkers

scampau

py-households's Issues

Rules are part of individuals, not communities

Behavior is currently carried out by communities, but ultimately it is individuals and households who enact these behaviors. Person objects need to have these behaviors personally, and have learning/transmission rules.

From the to do list:
Inheritance, locality, fragmentation (And later other rules) need to be conducted by individuals, and be inherited or learned, with those methods of inheritance/learning also definable (and inherited/learned themselves.)

History tracking

All properties should be defined for Person, House, Community, and Worljd classes and include a log in a Diary object as part of the set_ function. Diaries can be part of main or narrative, whatever helps you sleep at night.

Birth rules

Birth is currently not customizable beyond rate. Sex ratio needs to be a variable as well.

Value checks for agetables, rules

When a specific class is required as input, make sure that the input is of the correct type, and provide an error message. #5 will make this easier.

Alternate household definitions

The current household definitions are very limited, and other formats need to be provided for extensively as well. Turn residency into a subpackage, and from there expand out into other definitions. Du and Kamakura 2006, for example.

Create classes for behavior

The behavior subpackage is missing class definitions, which would make it easier to verify that they each inheritance rule, fragmentation rule, etc. actually do what they should and fit into the rest of the simulation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.