Welcome to my blog
This is my first blog post using the iPython notebook. I am very excited about the things it can do. Here is what I want to cover:
- Who I am
- What the blog will cover
- Why I named it Measure of Justice
Evan Misshula
I am a PhD student in Criminal Justice. I try to use social networks and data mining to help people make rational decisions about public safety. I care passionately about people that the world writes off. It is no shock. There have been many times when I have been written off.
Math, Computing, Causality, Networks, Security and Ethics
Early in my graduate career, I was struck that we spend a great deal of effort policing minority communities for drug use which has little effect on the non-involved but spend way less effort protecting the banking system from hackers. I also thought that there was a lot to learn about managing threats from inside by looking at both intrusion detection and counter- intelligence. Not suprisingly, I believe in second chances. Who gets those chances and when they come are an area of great interest.
What's in a name?
When I studied Stochastic Control, Girsanov's Theorem governed which measures were deformable into each other. Two measures needed to have the same sets of measure zero, to equivilent. In other words it is what we think that is impossible, not unlikely that is important.
My favorite new toy
I am excited about blogging again because I can now put code and math in the blog. I have spent a lot of time in graduate school learning new tools. This blog will hopefully document some of the challenges and help others find their way. Others blogs have certainly helped me.
We can assign variables in the ipython notebook.
a=5
print a
a=5
b=9
a+b
But you can also reach into the operating system and execute bash commands.
pwd
ls
This is a markdown cell
You can italicize and use boldface. It allows us to comment code and create interactive presentations. You can build lists of your favorite tools. Here are mine.
- linux
- emacs
- r statistical language
- Emacs Speaks Statistics
- Org-mode
- LaTeX
- Sweave
- Ggplot
What is most important is to LaTeX support. My favorite math equation is $e^{i\pi}+1=0$. It can also render math numbered equations: $$e^x=\sum_{j=0}^{\infty}\frac{x^j}{j!}$$
The browser displays
The program can display the numeric or character output of programs.
print "hi Doug"
x=3
x
It can also display graphs:
%pylab inline
plot(rand(100))
x = linspace(0, 3*pi)
plot(x, 0.5*sin(x), label=r'$\sin(x)$')
plot(x, cos(x), 'ro', label=r'$\cos(x)$')
title(r'Two familiar functions')
legend()
Symbolic Manipulation
The ipython notebook can also make symbolic calculations and solve complex algebraic equations:
%load_ext sympyprinting
import sympy as sym
from sympy import *
x, y, z = sym.symbols("x y z")
Rational(3,2)*pi + exp(I*x) / (x**2 + y**2)
eq = ((x+y)**3 * (x+3))
eq
expand(eq)
Ipython can even calculate the derivative!!
diff(cos(x**2)**2 / (1+x)**2, x)
It can also display pictures and videos...
from IPython.display import Image
Image(filename='/home/evan/Pictures/Evan.jpg')
from IPython.display import YouTubeVideo
YouTubeVideo('ystkKXzt9Wk')
We can even use other languages (including R)!!
%%ruby
puts "Hello from Ruby #{RUBY_VERSION}"
%%bash
echo "hello from $BASH"
import rpy2;
from rpy2 import robjects; robjects.r("version")
%load_ext rmagic
X = np.array([0,1,2,3,4])
Y = np.array([3,5,4,6,7])
%%R -i X,Y -o XYcoef
XYlm = lm(Y~X)
XYcoef = coef(XYlm)
print(summary(XYlm))
par(mfrow=c(2,2))
plot(XYlm)
XYcoef
There is more to come. Ipython does d3 interactive graphs but I have not been able to get them to work. It also handles cython (python wrapped c-code) and mpi parallel code. More later. It is time for bed.
No comments:
Post a Comment