
Show HN: Unsure Calculator – back-of-a-napkin probabilistic calculator - filiph
https://filiph.github.io/unsure/
======
Doxin
And now I'm sat here wondering why this isn't a default feature on
calculators. It's great!

I think the simplicity really makes this work. just about anyone who can use a
calculator can operate this calculator -- but that doesn't make it any less
powerful. Humans are notoriously bad at intuitively dealing with uncertainty,
and this calculator might very well help get a feel for it.

The only thing I'd like to see improved is the histogram, the old timey
console-like graphing is cute, but not exactly easy to read or interpret.
Going for a modern graphical graph and marking it with some useful percentiles
would go a long way towards making it more usable.

EDIT: also -- only half facetiously -- is there a CLI/desktop/mobile app yet?
Doing quick back-of-a-napkin math on your phone is a pretty useful thing.

EDIT2: Is the source available somewhere? I'm having the hardest time finding
the github repo related to this page...

~~~
filiph
Thank you!

I already have a CLI tool and a library, but I'd like to make it a bit less
hairy before releasing. I also want to build an iOS / Android app. But I
wanted to release a web app first because that has by far the lowest barrier
to entry.

~~~
Doxin
ah so you _did_ think of everything ;-)

------
saeranv
Can someone explain the math here? How is he generating the histogram from
just the mean and the range?

UPDATE

Found this:

"Range is always a normal distribution, with the lower number being two
standard deviations below the mean, and the upper number two standard
deviations above. Nothing fancier is possible, in terms of input probability
distributions."

So the range is two std dev from the mean. He also mentions somewhere early
that he's assuming the input range is 95% confident.

If I am understanding this correctly, I have a second question: if he has the
mean, and the std dev, what is the purpose of the monte carlo simulation
exactly? Can't you just subdivide your range, and compute frequency using the
gaussian function?

~~~
rathel
This will work for simple equations, for more complex ones you will run into
the curse of dimensionality. That's why MC was invented in the first place by
Stanisław Ulam et al.

------
Wildgoose
This is great. I often test assumptions by picking a set of low/high numbers
to get a feel for the range of likelihood in a very crude way. This is more
sophisticated and gives more confidence in the correctness of the answer.

------
itodd
I haven't bookmarked something in ages. I bookmarked this. The value added
with a single new operator is amazing. Feel good about this work. Not many
people can create something so unique and valuable by adding so little.

~~~
filiph
Thank you! I've been thinking about this problem for years, and had several
ideas in that time. But the complexity always grew out of proportion as I
started adding "features" to the notation and the tool. In the end, I'm happy
with how it looks like now, even if it isn't perfect by any means.

------
AstroJetson
This is great, I've done calcs to get the upper and lower bounds, but to get
the full range like this is super. The example of moving was perfect, I had
done a similar calculation by an excel sheet and it was a pain.

Nicely done!

------
xo5vik
Maybe related: Interval Analysis ?
[https://en.wikipedia.org/wiki/Interval_arithmetic](https://en.wikipedia.org/wiki/Interval_arithmetic)

------
giansegato
Every project you release is impressive, I gotta say. Love the UX of this one,
making statistics accessible is soooo hard. Eager to see the Flutter version!

------
phyzix5761
Very nice project but I broke it though:

Input: 100 / 0~0

UI: Please wait...

Console: worker.dart.js:348 Uncaught Invalid argument(s): Cannot make stats
from empty list of values

~~~
filiph
Fixed! Thanks for the report. This also fixes `sqrt(-10~-5)` and other fun
inputs.

------
cerberusss
Amazing writeup, kudos.

