Saturday, January 30, 2010
The sacrificial lamb has been delivered
Friday, January 29, 2010
Who is Mr. Pareto?
Wednesday, January 27, 2010
Metonymy

Monday, January 25, 2010
So, you're a lumberjack?
A new desktop background

Sunday, January 24, 2010
Saturday, January 23, 2010
Marginal Analysis
Friday, January 22, 2010
Coppices
Wednesday, January 20, 2010
Where did all that data come from?
Tuesday, January 19, 2010
3 AM at Lehotsky Hall
Monday, January 18, 2010
Einstein
Sunday, January 17, 2010
Longing for Kashi and the American Chestnut
In case you haven't noticed, I am not sure my brain really knows how to make metaphors correctly. Often I start thinking about one thing, which makes me think about another, and then I sort of sigh and relax into "the great smug curtain that goes around everything / has always been there / will always remain."
Saturday, January 16, 2010
"Woo-whee" as deconstructivist criticism
But that's not what I am really going to talk about. You see, as I was enjoying this weather, I was thinking about Clemson. One of the things I really love about the program here is how intuitively we are trained to work the forest. Labs often involve going out into the woods and looking at the trees and ground and trying to tell the forest's "story." What did it look like in 1600? In 1840? 1920? If you can't tell the story of the forest, you can't work with it effectively. You have to know the forest like you know your family-- you know its history, its composition, it's behavior. It's funny-- the best advice I got from a professor here about how to improve my forestry was "walk around in the woods more." What a tough life :) . This morning, I wondered-- with all the precision agriculture techniques and algorithms driving them out there, would it ever be possible to simulate the absolute intuition of an experienced forester? It's sort of like Gary Kasparov's situation. But, I am not so sure that a real forester's experience could ever be trumped by a model (I would say "a constrained optimization" but that implies that there is a set of definite goals, which is not necessarily true in real situations). I needed an analogous way to assess this situation.
This made me think of literary criticism methods.
In the early 20th century, literary critics (and art critics) began to really push the limit of "what is a work?" They sought to break the boundary between something that is art and something that is real. To break that boundary, they had to define it. And they found that definition was significantly more complicated than expected. (If you read "Pale Fire" or "House of Leaves," you'll see this in full force). Of course, people have been looking at this for a long time, but there are three critical movements that I think really fostered ways we think about "what is a work?"
The first is the deconstructivist movement. Descartes. The idea behind deconstructive criticism is to look at juxtapositions of literary constructs in a work and examine symbolic fallacies. Diction, for example, you might look at certain noun-noun or noun-verb or verb-adjective (they don't have to just be dualistic combinations, but that's the easiest to describe) and think of all the possible historic and social symbolic references for each term (for example, blood might invoke "red," and "war," and "love," and "water," etc.) and then you look at the references for another term and you compare them and try to find combinations that "fall apart," which can basically be described as combinations that make you say "why would anyone write about that?" You go through the whole "work" this way. You can also deconstruct syntax, plot, character specifications, etc. The idea is that by deconstructing the literature you find the fallacies in the literature that prevent it from being "real."
The second movement is the... and I am somewhat hesitant to use this term loosely, but I will, "constructivist" movement. I am going to allude to an author here who is not exactly a typical constructivist, but I think he does a good job of describing the idea. Donald Davidson's poem "The Ninth Part of Speech" describes how a literary work is composed of eight parts of speech combined in such a way that different actions are "run" within the work. In a way, it is sort like thinking of literature as a computer program. "Yes! (You) get the blue ball quickly" combines interjection + subject (noun) + verb (act) + adjective, adjective (specification) + adverb (specification to verb). That sentence "constructs" a very specific scenario. I cannot go get the blue ball. You cannot go get the red ball. You cannot go get the blue cow. You cannot go get the blue ball slowly. Etc. Every construct destroys all the other possible constructs. However, that construction still does not exactly mimic reality. Davidson suggests that a "ninth part of speech," something that can be akin to, I guess, an "intuition" or a "soul"-- something greater than the sum of constructs in the context of all the impossible constructs-- cannot be written, and therefore no matter what constructions are employed, no literary work can ever have the dimensionality of reality.
The third movement is the vorticist movement. I don't think many literary professors would be happy that I mention this here, but I think it is the most superior method for trying to unite a work and reality. A vorticist constructs a "web" of meaning. I actually thought of vorticists yesterday when I looked at graph theory-- just like coloring the vertices of graphs in certain manners can create an impression for the whole graph (and there is a distinct theory behind how the vertices should be colored in order to avoid repetition), a vorticist's web (or vortex) of meaning combines parts of speech / their relevant symbols in such a way that the literary work creates on overall meaning greater than the sum of its parts. It is therefore considered to be a "vortex" with symbols, words, images, etc. on the periphery that sucks in the reader or viewer. Because the reader or viewer is required to participate in the full work in order to elucidate this deeper meaning, it is therefore a powerful method of breaking the barrier between work and reality.
So, what does this have to do with foresters? I think, in a sense, that the deconstructive method is very similar to a forester in a forest. He or she has the intuition to look at problems on a microscopic scale and construct generalizations about the forest, and then to go back and assess these generalizations on the microscopic scale. I think of precision agriculture as being similar to constructivist method, where different combinations and constraints can be put together in order to seek the optimal "solution" given landowner objectives. I wonder how the idea of the vorticists could be used as an analogy to forestry... is there some way that an intuitive, evolving model could be constructed... a model that is greater than the sum of its parts?... a model so good that, dare I say it, it might be a perfect representation of reality?
I'm not sure how I feel about this. Ethically, it feels unstable. Maybe it's just me, but I like thinking that the "woo-whee'ers" of the world will always have just that little edge on what I can do with my models.
Friday, January 15, 2010
Stay or jump...this shouldn't be complicated!
Here is the standard approach. Removing the "must hop in pairs" constraint, the transition matrix is a simple way of analyzing many time steps for a single particle. Suppose there are two states a particle may be in, state 1 and state 2 (denoted by s1 and s2). During each time step, a particle in state 1 has probability a11 of remaining in state 1, and probability a21 of switching to state 2. A particle in state 2 has probability a22 of remaining in state 2, and probability a12 of switching to state 1. The transition matrix, A, is
A = |
|
The probability of finding the particle in each state after t time steps is found from At. If we're given its initial location, then
| = |
|
|
|
The components of the final state vector, s(t), are mutually exclusive: either the particle has found its way to state 1 or state 2. So the total probability of the particle being somewhere is just their sum (which is, of course, 1). To calculate the statistics for N independent particles, this sum is raised to the N power. For 1 time step, if the particle starts in state 1, this is a simple binomial:
Q = (a11 + a21)N
Q, the sum over all available system states, is the partition function. For multiple time steps, Q is calculated as
Q = ([1 1]Ats(0))N
where [1 1] just "flattens" the final state vector into a sum, so the multiparticle expansion is all-to-all, as required. This is mathematically convenient in this case, but it's worth noting that the final state may be kept in vector form: we can still do an all-to-all multiplication by convoluting the vector with itself (which is, in an unfortunate convention, denoted by *),
Ats(0) * Ats(0) * · · · * Ats(0)
Writing the multiparticle expansion as a convolution seems like a pointless complication, since we're going to ultimately flatten the vector to calculate Q. However, keeping the vector's structure intact has the advantage of being able to keep track of pairs of particles switching states, because that information has not been flattened out. This is most clearly seen by writing the convolution in matrix form. The convolution matrix, C, will have the state vector as its first row, and a "shifted" state vector as its second row. (A matrix created using this rule is called a "circulant matrix.") After 1 time step,
C = |
|
This circulant matrix is handy because it lets us calculate convolutions by doing ordinary matrix multiplication. The total expansion for a two-particle system (N = 2) is:
C2 = |
|
The internal structure of the circulant stores even powers of the hop probability a21, corresponding to pairs of particles switching states, on its diagonal, and odd powers on its anti-diagonal. To see this more clearly, look at the circulant for a four-particle system,
C4 = |
|
So the partition function for 1 time step for pairs of particles can be calculated as 1/2 of the trace of the circulant raised to the number of particles! Alternately, to store every third power of the hop probability on its diagonal (a "three particles must jump simultaneously" rule), a 3x3 circulant matrix may be used:
C = |
|
and so on, for every fourth (4x4), fifth (5x5), etc. power.
This is not that useful as-is, because it's only for a single time-step, where it is not difficult to brute-force calculate every possible trajectory by hand. It would be very nice to be able to do this for multiple time steps: in effect, combining the transition matrix and circulant matrix to allow you to easily develop a multiparticle system for many time steps, while keeping the allowed trajectories separated from the forbidden trajectories inside the circulant's structure. This is a bit frustrating, because I think there should be a simple way to do this, but for some reason I just can't see what it is...
Sportswochen
Thursday, January 14, 2010
Amortization tables... just another fun thing to do with finance
Matrix multiplication
The cleanest, one-sentence explanation of matrix multiplication is that a matrix is just a special kind of function ("build a linear combination of the matrix's columns"), and multiplication of matrices is just the composition of functions: "build a linear combination of the first matrix's columns, and use this as the input to build a linear combination of the second matrix's columns."
Here is a simple example that may help illustrate this somewhat abstract concept. Suppose you are looking at some kind of iterative process. For example, coupled probabilities of something happening: let's say that, each year, there's a 25% chance of someone living in South Carolina (x) moving to California (y), but only a 1% chance of someone living in California moving to South Carolina. (For simplicity, assume these are the only two options.) In this scenario, you start out in one of the two states: if you're living in South Carolina, then x0 = 1 and y0 = 0. If you're living in California, x0 = 0 and y0 = 1. After 1 year passes, what are your chances of being in either state, x1 and y1? These are linear equations:
x1 = 0.75 x0 + 0.01 y0
y1 = 0.25 x0 + 0.99 y0
After 2 years:
x2 = 0.75 x1 + 0.01 y1 = 0.75 (0.75 x0 + 0.01 y0) + 0.01 (0.25 x0 + 0.99 y0)
y2 = 0.25 x1 + 0.99 y1 = 0.25 (0.75 x0 + 0.01 y0) + 0.99 (0.25 x0 + 0.99 y0)
etc. for as many years as you want. Clearly, after a few years, these equations are going to turn into a confusing mess. A way of cleaning this up is to write the coefficients as a matrix:
| = |
|
|
| = |
|
| = |
|
|
| = |
|
|
|
where side-by-side matrices indicate that they should be multiplied together following the standard rule of (element i,j of the resulting matrix) = (dot product of row i from the left matrix with column j from the right matrix). The matrix
|
is the "transition matrix" for this process. Matrix multiplication is an easy way of encoding an iterative, coupled process. This is one of the reasons the eigenvalue decomposition is so useful: even though it's easier to multiply together lots of these matrices then to work out the iterative process by hand, it's even easier if you can diagonalize the matrix! (The introductory linear algebra class will also cover eigenvalues. I may type up an explanation for that later, too...)
We shall not cease...
I think that's the way to live. Not to be known for where you come from, but to be known for where you went.
Wednesday, January 13, 2010
The "Burdens of Proof" of Ecological Economics
Cold Weather Running- 11 years of tips and tricks
A (logarithmic) leap of faith
where the angle brackets denote an average.
"Free energy" is defined as the sum of entropy and energy, or F = S +⟨E⟩, and to maximize the entropy subject to the constraint on the average energy, we set the total derivative dF = dS + β d⟨E⟩= 0, where β is the Lagrange multiplier for the constraint and d⟨E⟩= ∑i Ei dpi. The total derivative is
where α is the normalization multiplier, ∑i pi = 1, so that α ∑i dpi = 0. The resulting probability distribution is exponential:
where Q = ∑i e-β Ei is the partition function.
One assumption built into this calculation is that an average observed quantity implies a linear constraint on the underlying variable, E. For observed average energy, this is empirically true, but clearly for other quantities an experimental average would imply a nonlinear constraint on the variable: observed average momentum, P, for example, would constrain E = P2 / 2m. This quadratic constraint results in a Gaussian probability distribution, rather than exponential:
This raises an interesting question: for an arbitrary observed quantity, how do we know, a priori, what the form of the constraint on the underlying variable should be? For a multiplicative process, a logarithmic constraint might be the most natural choice. (Ok, so that's not much of an argument. Well, it's late and let's face it, if you couldn't make half-baked arguments on your blog, there wouldn't be too many blogs around, would there?) In this case, for an observed value ⟨k⟩, the constraint would be
This results in a probability distribution which follows a power law,
The challenge, then, is to decide what the most justifiable form is for the constraint, both in terms of curve fitting, as well as the underlying microscopic explanation. In the case of a logarithmic constraint, is there a solid argument, for example based on the principle that the constrained quantity must be extensive, that certain constraints should be logarithmic, rather than linear?
Tuesday, January 12, 2010
SAS vs. R... a fight for dominance in the statistical packages world
Anyway, we've just received our first "homework" and as nerdy as this sounds, I am excited about it... except for one little thing... it's done on SAS.
Now, I can't claim to be an expert in SAS or in R, and maybe someone who is will give me a little tip on why my opinion is complete fail, but I really think R is much more user friendly, especially for someone like me who has very little programming experience outside of making macros in Excel (prior to the great loss of VBA apps in Excel 2008 for Mac... the horror!), making a few visual basic programs that can taunt the user with insults given a certain input, or making annoying pop ups when certain coordinates on a screen are moused over. In other words, I know almost nothing about programming.
For example, I am about to begin a program in SAS for making a correlation matrix. Right, simple, a correlation matrix. Let me show you what that would look like in R.
DATANAME<-as.matrix(read.table('/R/dataname.csv', sep=","))
#possibly a few specifications about how to read the data included in that first bracket
DATACORR<-corr(dataname)
DATACORR
That's it!! That's the whole correlation matrix for R. It will show up immediately after you type in that second DATACORR (R likes to print automatically, oh, how Ilove R!)
Now let's talk about how we do THE EXACT SAME THING in SAS
DATA DATANAME;
INPUT VAR1 VAR2....etc. #not going to input vars here- worthless for the rant
# here is where you input all of the relationships between the variables if you need to
DATALINES;
#now you type in all the data, because SAS really hates reading from files... or you can be lazy like me and use Excel's export features to make files that are suitable for SAS... and easily adaptable to the variables you want to input
PROC CORR NOSIMPLE DATA= DATANAME;
VAR VAR1 VAR2 VAR3 .... etc.
WITH VAR1 VAR2 VAR3 ... etc.
RUN; QUIT;
Now, I think we can all see the problem here; as your data set gets bigger and bigger, and it will, incorporating all this stuff into SAS... pain in the butt. For SAS experts, there may be some shortcut to doing this, but let's think about it for a second. I am not a SAS expert, and many people who need to use statistical packages for large data set applications (biologists, etc.) probably aren't programming experts, either... So this seems like a lot of trouble to me.
With that being said, I think a fight needs to go down: SAS v. R... who will dominate the "Entry-Level Statistical Packages World"? I am obviously biased to R. Here's some points to think of
FOR SAS:
- more traditional package, has been around for a long time
- already incorporated into curriculums
- produces standard plots
- labels statistical tests and their solutions (for example, on the SW test it will remind you that P
- can easily run "tests" for equality of B's that help choose model form
- traditional ("old-school") programming syntax
FOR R:
- really sweet graphics
- lots of cool packages to download
- easy commands to use
- reading files is not TOO difficult (it can even work with some Excel files-- which is amazing-- it knows the data entry from the function entry!)
- calculates statistical tests
- new-school syntax
- 3D graphics that look just amazingly sweet (2 comments on the graphics, I know, but you can make just about anything on there! You can layer it with a MAP for goodness sake... I mean... hot skippy, that's amazing!)
So... it's the duel of the century in nerd world. I guess as this class progresses we will see-- will my exposure to SAS build my love for it or will my heart remain devoted to R? More of this epic saga to come.
Monday, January 11, 2010
Mass Carriers and Britain from the Sky

Well, it appears that I am now a bunch of mass carriers... :)