News for hackers. Stuff that matters.
Re:Average Income per Programming Language by quchen on Wednesday August 21, 2013 @06:22AM (#6249125)
The only sort of data you can trust is the data itself. Providing the mean of data is providing a sum value a person thinks is useful to convey the shape of the data, and the mean in particular is unsuitable at conveying shape on its own.

What the author tries to get at is a precise quantity, namely the average salary for each language. However, we cannot measure that quantity directly, so taking samples (from a good source) is as good as it gets.

The easiest assumption about that data is that it follows a normal distribution, which does have a mean, but also a standard deviation; both of these are required to talk about any meaning of the result. (If the normal distribution is not a good fit things may get more complicated.)

What I'm saying is that providing just means is not a ballpark way of doing statistics, it is wrong. The statistical ballpark is the normal distribution, and maybe a value ensuring that it is at least somewhat appropriate to use that one.

Re:Average Income per Programming Language by dlss on Wednesday August 21, 2013 @07:59AM (#6249541)
I'm confused.

I was trying to say something along the lines of "once you've played with rapleaf, you won't care what the stdev is", because rapleaf's data isn't good.

The standard deviation here isn't going to be the standard deviation of programmer salaries -- it will be the standard deviation of rapleafs estimates. Which as I previously mentioned are horrible, and not particularly interesting.

I agree with the author that Haskell is estimated at a lower rate because it's academic. I think the reason we see higher salaries for older languages here is that rapleaf must be using age as an input (with makes sense in some fields).

> The only sort of data you can trust is the data itself.

Agree. Again, here there is no data. It's gibbs sampled noise from shitty models.

> Providing the mean of data is providing a sum value a person thinks is useful to convey the shape of the data, and the mean in particular is unsuitable at conveying shape on its own.

I don't think anyone here is confused about the question of the mean showing the shape of data.

> The easiest assumption about that data is that it follows a normal distribution

Salary most certainly does not follow a normal distribution. I don't understand how you came to write what you wrote without knowing that. It's a classic example of the exponential distribution.

(To be fair, salary estimates from rapleaf do seem to follow a normal distribution :p maybe you can guess why? [hint, it's a phrase I used earlier that starts with "gibbs sampled noise from" and ends with "shitty models"])

Re:Average Income per Programming Language by lifeisstillgood on Wednesday August 21, 2013 @06:54AM (#6249277)
So forgive the statistical ignorance, but how would one display mean and std dev in useful graphical form? (Asking seriously as it would be good to know which setting to press on gnu plot)
Re:Average Income per Programming Language by merijnv on Wednesday August 21, 2013 @07:02AM (#6249308)
Not quite the same, but box-and-whisker plots (https://en.wikipedia.org/wiki/Box_plot) are good for visualising distributions. They show the mean, minimum, maximum and the first and second quartiles.

Since they show the minimum and maximum we can judge the overall spread, the mean tells us...well...the mean and first and second quartile lets us judge how close data is clustered around the mean.

See http://gnuplot.sourceforge.net/demo/candlesticks.html for gnuplot examples.

Re:Average Income per Programming Language by omh on Wednesday August 21, 2013 @07:39AM (#6249444)
A minor point, but I think Box Plots usually show the median rather than the mean at the centre.

It would make sense perhaps to use standard deviations and means for some data, but in cases like this I think quartiles and medians make more sense.

Re:Average Income per Programming Language by lifeisstillgood on Wednesday August 21, 2013 @07:25AM (#6249389)
But box plots seem to be needing turning on their side to visualise (assuming normal distribution)

I suppose I am looking for mathematically faithful whilst still Omnigraffle good looks

Cheers

Re:Average Income per Programming Language by glaugh on Wednesday August 21, 2013 @11:53AM (#6251171)
Personally I prefer histograms (assuming you have all the data, not just mean and std dev).

For example, here's a histogram of ages of passengers of the Titanic: https://www.statwing.com/demos/titanic#workspaces/21

Or rents in the bay area: https://www.statwing.com/open/datasets/034b4af16d50a0ad35f1a...

Gives a real nice feel for the data.

These histograms are lacking in that they don't actually have the mean line or std devs on the plot itself; my general point is that if the goal is to get across a distribution, a histogram is the best way to do it, perhaps aided by markers for mean, median, std dev, etc., as the case merits.

Disclosure: I work at Statwing.

Re:Average Income per Programming Language by route66 on Wednesday August 21, 2013 @07:02AM (#6249307)
With boxplots? http://benchmarksgame.alioth.debian.org/u64q/which-programs-... (they can show a bit more though, min, max, interquartile range or mean+/- 1 stddev and mean itself) see also http://en.wikipedia.org/wiki/Box_plot .
Re:Average Income per Programming Language by ichinco on Wednesday August 21, 2013 @07:22AM (#6249369)
even just some error bars would help: http://en.wikipedia.org/wiki/Error_bar

They're typically used for confidence intervals or standard error, but you can theoretically use them with any measure of variability as long as you're clear.