Complex Systems Summer School 2012-Tutorials
From Santa Fe Institute Events Wiki
Complex Systems Summer School 2012 |
CSSS participants come from a wide range of disciplines. Participants are encouraged to share their knowledge by organizing their own tutorials.
Also, please post requests for tutorials here.
Contents
- 1 Fractal Tutorial??
- 2 Python online materials
- 3 Non-linear measures of correlation
- 4 Intro to Philosophy of Science
- 5 Markov Chain Monte Carlo
- 6 Python, Computational Mechanics, and Information Theory
- 7 Order Book Dynamics: Learn how to trade in 15min
- 8 Update
- 9 An easier way to get a bifurcation plot
- 10 Using Tisean on R on OS X
- 11 A conceptual shell
- 12 Hierarchical Dirichlet Processes and the Infinite Hidden Markov Model
Fractal Tutorial??
Hi, I have a request for a tutorial: Could anyone who has the expertise please teach a tutorial on fractal theory and codes to generate some? Thanks! -Jasmeen
Python online materials
[Follow up to Ryan's tutorial..]
Here you have some useful online references for getting started in Python.
Google's Python Class
- A [...] free class for people with a little bit of programming experience who want to learn Python. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding [...]
- http://code.google.com/edu/languages/google-python-class/
Numpy, Scipy and Matplotlib tutorials
- I.e.: all the things you typically do in Matlab done in Python..
- NumPy tutorial: http://www.scipy.org/Tentative_NumPy_Tutorial
- Matplotlib tutorial: http://matplotlib.sourceforge.net/users/pyplot_tutorial.html
- Numpy for Matlab Users (extremely useful!!!): http://www.scipy.org/NumPy_for_Matlab_Users
NetworkX
- I.e.: network analysis in Python
- NetworkX tutorial: http://networkx.lanl.gov/tutorial/index.html
Enthought Python Distribution
- The Enthought Python Distribution provides scientists with a comprehensive set of tools to perform rigorous data analysis and visualization. Python, distinguished by its flexibility, coherence, and ease-of-use, is rapidly becoming the programming language of choice for researchers worldwide. EPD extends this capacity with a powerful collection of Python libraries to enable interactive technical computing and cross-platform rapid application development.
- It is free (!!!): http://www.enthought.com/products/edudownload.php
Additional References
- Py4Science: a Starter Kit (by Fernando Perez, U.C. Berkeley)
- http://fperez.org/py4science/starter_kit.html
Hope this helps,
Matteo
Non-linear measures of correlation
I have been working on how to quantify the reciprocal interaction of time-series over time. I am using Recurrence Plots (http://www.recurrence-plot.tk/glance.php). If anybody is interested in discussing this method, I am willing to prepare a small tutorial on what recurrence plots are and how I have been using them.
Riccardo (fusaroli@gmail.com)
- Matteo
- Oleksandr krystoferivanov@gmail.com
- Priya
- Friederike
- Miguel
- Vikram
- Hide
Intro to Philosophy of Science
Hi All, I've heard some interest in having a more structured/rigorous intro to ideas in the philosophy of science. I'd be happy to briefly explain some of the classic theories as well as some more recent views due to, e.g. Bas Van Fraassen, James Ladyman, Nancy Cartwright, and we could have a small (moderated!) group discussion. Sign up if interested... -Jasmeen
- Hide is interested and has a crush on Engels
- Friederike
- Matteo
- Vikram
- Mikkel
- Mark (!)
-Keegan is down
-Xiaoli
- Georg W.
- Priya
- Miguel
- Oscar
Markov Chain Monte Carlo
If anyone is interested in talking more about Bayesian methods and MCMC implementation, I'd be happy to put something together. - Keegan
-Hide is interested in this!
-Abby
-Joanne
-Oscar
-Vanessa
-Jasmeen
-Georg
-Nona
-benji
-Riccardo
-Matteo
-Cameron
- Priya
-Xiaoli
- Vikram
- Miguel
Python, Computational Mechanics, and Information Theory
There has been interest in more discussion on a number of topics, and so i'm offering to have evening discussions on them. please sign up below so that i can get a feel for the number of people who would be attending. also, please put a preference for what day it should be.
Python
Sign up below if you'd like an introduction to basic python programming. Python is a general purpose, very flexible and useful programming language. It is used pretty extensively in scientific computing.
dan wu: wu12345@gmail.com Let me know when we're meeting
- Benji: bzusman@gmail.com
-Keegan keegan.hines@gmail.com
-Christa (maybe- I'm competent at the very basics, but could still use some help)
- Riccardo: fusaroli@gmail.com
- Oleksandr: krystoferivanov@gmail.com
- Nona: nona.karalashvili@gmail.com
- Xiaoli: xiaolidong2008@gmail.com
- Abby: Abbyhorn@Mit.edu
- Marco: maduenase@gmail.com
- Nick: goudemand at pim dot uzh dot ch
- Fabio: fabio.cresto-aleina@zmaw.de
- Joanne: joannerodrigues@berkeley.edu
- Hide: hi55 at cornell dot edu
- Priya: iitm.priya@gmail.com
- Miguel: miguel.lurgi@icm.csic.es
- Oscar: opatters@asu.edu
- Vanessa: vanferdi at gmail dot com
- Georg G: gmg at stat dot cmu dot edu dot notthelastpart
- Oleksandr: krystoferivanov@gmail.com
Information Theory
Interested in turning your data into bits, or seeing how the bits over there are related to the bits over here? If so, sign up below.
- Matteo
- Benji: bzusman@gmail.com
-Keegan keegan.hines@gmail.com
-Riccardo
-Christa
- Katrien
- Xiaoli
- Abby
- Jasmeen
- Hide
- Sanith
- Priya
- Georg W.
- Piotr
- Miguel
- Oscar
- Vanessa
- Nona
- Georg G.
- Oleksandr krystoferivanov@gmail.com
Computational Mechanics
If you'd like to know more about epsilon machines, measures of complexity, how to go from a map to a machine, i'm happy to discuss it all.
- Matteo
Yes please! --Chloe
-Keegan keegan.hines@gmail.com
-Christa
-Xiaoli
-Jasmeen
-Hide
-Sanith
- Priya
- Georg W.
-Piotr
-Ian
- Miguel
- Oscar
- Abby
- Georg G.
- Riccardo.
Order Book Dynamics: Learn how to trade in 15min
--I'm happy to repeat this -just get in touch with me.--
If you are curious about how stocks trade and want to try your luck, I'll be going over some of the basics with a hands-on example.
Meet at 7.30pm in main lecture hall Thursday June 7th. Please make sure to bring your laptop.
Sanith
Update
Hi guys
I guess the main lecture hall is free at 6.30 pm and so we can meet there. I have a small talk through the idea and then maybe we can try out getting bifurcation plots for one or two systems. I use software written in MATLAB for the demo but the idea can be implemented in any software.
Here's a link to the http://twr.cs.kuleuven.be//research/software/delay/notice.shtml. This software can handle systems with time delays and can be used to obtain the bifurcation behaviour.
(1) Please download the software DDE-BIFTOOL and unzip.
(2) Within the folder, you will find another zipped folder in small case ‘ddebiftool’. Please unzip this into a folder with the same name
(3) Add the location of the folder to the path of MATLAB. I have also sent out a mail with a zipped folder containing files to get a bifurcation plot for a Rijke tube system. Do let me know if anyone did not get this. See you there!
Priya
An easier way to get a bifurcation plot
Hey guys I have been working in the past in obtaining bifurcation plots for different physical systems. There's a better way to get these pictures instead of getting the evolution at every parameter value of interest. This is called numerical continuation and basically involves tracking a curve. I plan to give a informal talk on how to do this and maybe even a demo on applying this technique on 14th June at 6.30 pm. Do mail me if you are interested at iitm.priya@gmail.com or sign up below. Priya
- Ryan is interested in this.
- Riccardo is interested in this.
- Vikram is interested in this.
- Matteo is interested in this.
- Hide is interested in this.
- Katrien wants to hear more about this.
- Cameron is interested in this and would like to see this in action if anyone has an iPad.
- Oscar is interested in this.
- Charlie is interested in this. (I've done this once for a paper.)
- Georg W. is interested in this
Using Tisean on R on OS X
first install TISEAN, like you've done already. Make sure R is up to date (v 2.15). you can try to install RTisean from CRAN
install.packages("RTisean"); library(RTisean); henon()
But me and Dave both got an error about some bad file name, something about con and something about a long path involving -Tmp- Solution:
remove.packages("RTisean")
restart R download this: http://cl.ly/0I0b2P2L311y1q0q0y0n install it, it changes line 74 of nativeTISEAN.R which has some problems with file handling If you are golden, then:
> henon() V1 V2 [1,] -0.1232481 -1.030383
A conceptual shell
One thing that I think has been missing from this course is an explicit set of concepts and tools which we can use to relate all of the talks we've been listening to. Last fall, two other graduates students and I taught a survey course on complexity. We put together the following document, which contains one-paragraph summaries of what we felt were the 20 most important concepts that comprised the field of complexity. These were the "glue" that we used to relate all of our lectures and workshops. Most of these will probably be familiar to you, but I think they serve as a nice, concise reference and may be helpful in tying all of this information overload together. One caveat: These are works in progress and are in alphabetical rather than any logical conceptual order.
Media:Topics_in_Complexity_Foundational_Definitions.pdf
Cheers, Mark Longo
Hierarchical Dirichlet Processes and the Infinite Hidden Markov Model
Over the past week, I've discussed Hierarchical Dirichlet Processes (HDP) and the Infinite Hidden Markov Model (iHMM) with several of you. Basically, it's the only framework I've come across, aside from Jim Crutchfield's work on the epsilon machine, that offers the diligent student the ability to estimate the hidden states generating one's data, without requiring the analyst a priori specify the number of hidden states (a very nice feature). One of the most significant differences between these approaches is Crutchfield's requires a finite alphabet, whereas HDP is defined in the context of an infinite number of base probability measures (think clustering). I believe they are both worth knowing, and I'm willing to offer a tutorial on the topics of HDP and iHHM. I'm thinking Tuesday at 8:30pm (after Scott Page's talk) in the conference room is our best bet. If you are interested, please do have a look at the following paper by Yee Whye Teh:
[1] Y. W. Teh, M. I. Jordan, M. J. Beal, and D. M. Blei, Journal of the American Statistical Association 101, 1566-1581 (2006).
[2] J. P. Huelsenbeck and P. Andolfatto, Genetics 175, 1787-802 (2007).
[3] T. Xu, Z. (Mark) Zhang, P. S. Yu, and B. Long, in 2008 Eighth IEEE International Conference on Data Mining (IEEE, 2008), pp. 658-667.
[4] J. D. McAuliffe, D. M. Blei, and M. I. Jordan, Statistics and Computing 16, 5-14 (2006).
It can get a little abstract, infinite partitions nested in infinite partitions, so try to check it out beforehand if you plan to attend. If you have any questions, fire me an email: jlong29@gmail.com Thanks, John
Please sign up:
-Keegan