Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

+1 it was actually a rather horrifying presentation of Bayes's theorem. I would just explain it in 2 lines:

P(Cause and Effect) = P(Cause) × P(Effect given Cause) = P(Effect) × P(Cause given Effect)

so P(Cause) = P(Effect) × P(Cause given Effect) ÷ P(Effect given Cause)



Naming it Cause and Effect is misleading; it makes it seem like bayes rule only applies when there is a causal relation somewhere. It also make the symmetry of the first line seem off. I would write the first line as

P(A and B are both true) = P (A is true) x P (B is also true, given that we know A is already true) = P (B is true) x P (A is also true, given that we know B is already true)


I was actually going to write A and B at first, but then realized that wouldn't show the relationship of the formula to the disease example very obviously.

I thought it'd be better to make it easier to understand (and more practical) by showing how it helps you infer causes from effects.


Unfortunately, "Cause" and "Effect" are actively misleading choices of names here. ("Evidence" and "Hypothesis" on the other hand are frequently used.)

ADDED. Explanation: hearing squeaking noises in the night is evidence for the hypothesis that the cheese will have bite marks on it when we look in the morning (in the sense that the squeaking noises increase the probability of the bite-mark hypothesis) even though the squeaking noises do not cause the bite marks nor do the bite marks cause the squeaking noises. You and I know that the squeaking noises and the bite marks have the same underlying cause, but Bayes's rule is useful in situations where cause-and-effect remain unknown. E.g., it can be used by a space alien without knowledge of mice who cannot afford to ponder on the possible causes of the bite marks and the squeaking noises.


Two lines of equations aren't a simple to use programming tool. It's debatable whether TFA achieved that goal, but you certainly didn't.


It's very easy to turn those simply stated equations into a short program that looks quite similar, without lots of strange metaprogramming going on.

As a bonus, others will easily be able to understand and fix or extend the code.


I don't see any metaprogramming going on in the original post at all.


Please show us an example in one language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: