In a recent post on Linked In, David Vose argues that the advantages of Latin Hypercube sampling (LHS) over Monte Carlo are so minimal that "LHS does not deserve a place in modern simulation software." [1] He makes some interesting points, yet products like Analytica and Crystal Ball still provide LHS and even offer it as their default method. Why? Are we, the makers of these simulation products naïve? As the lead architect of Analytica for two decades, I've explored this question in detail. I've compared the performance of LHS vs. Monte Carlo on hundreds of real-world models. And I've concluded that yes —it does make sense to keep Latin Hypercube as the default method. Let me explain why I disagree with David Vose on some issues and agree with him on others. Several of his complaints are specific to Crystal Ball or @Risk and don't apply to Analytica. Then I'll add some key insights garnered from my own experience. What is Latin Hypercube Sampling? First some background. … [Read more...]

## Announcing Analytica 4.5

Lumina Decision Systems has announced the release of Analytica 4.5. One change that is sure to garner lots of attention is the new Analytica Free 101 edition. That's right -- there is now a fully functional edition of Analytica that you can use to build your own models, or to use models built by other people, which costs nothing and never expires! This is especially great for students, who can use it in their courses that use Analytica in the curriculum, and then continue using it after the course ends for other projects. It can even be used in moderate-sized commercial projects. The Analytica Trial and Analytica Player editions have now been eliminated. They are now replaced by the Analytica Free 101 edition. The Power Player and Power Player with Optimizer still exist. Where does the "Free 101" name come from? It allows the models you build to have up to 101 user objects, and it appropriately sounds like the name of an introductory college class. That's enough to do some … [Read more...]

## Analytica 4.5 beta available

Update 16 Dec 2013: The beta testing period for Analytica 4.5 is now closed. (Below shows the article as it appeared when posted 2 Aug 2013) The first beta release of Analytica 4.5 and ADE is now available. This kicks off the beta testing cycle for this next release of Analytica and ADE. To see a list of new enhancements, visit What's New in Analytica 4.5? Be a beta tester We invite you to be a beta tester, and here is what we ask of you: You should have an internet connection. Beta licenses are automatically activated over the internet and the software needs to check for new builds so it can alert you when new builds become available. Sign up as a beta tester by filling out the User Info form in the installer. During the beta testing period, always keep up-to-date with the latest beta build. Report bugs that you encounter to us (support@lumina.com). Include your model and steps required to reproduce problem with each bug report. Have patience if problems arise … [Read more...]

## Estimation of Mutual Information

Abstract: This article explores the difficult problem of estimating the mutual information between two variables from a sample of data. I use examples to demonstrate the challenges, and introduce a new algorithm for estimating mutual information along with an explicit representation of its uncertainty. A measure of association is a function that rates the strength of statistical dependence between two variables. In casual talk, people often express this idea by asserting that two things are "correlated"; however, in statistics the term correlated has a more precise meaning, where correlation (or more precisely, Pearson correlation) is a measure of how linear a statistical dependence is. Also in common usage is rank correlation, which measures how monotonic a statistical dependency is. But many dependencies can elude these measures, motivating the use of other measures of association. Another possible measure is mutual information, I(x,y). In Figure 1, the variables have a … [Read more...]

## Displaying indexes in balloon help

In a meeting today, Paul Sanford suggested that it would be nice if Analytica would show the indexes of a variable when you hover over its node. "I know how I can do that right now," I volunteered. I thought I'd share this with other Analytica users here. The help balloon with my modification shows the indexes on the last line. The indexes come from the computed result, so it only shows them if the result is already computed. If the result has already been computed and is scalar, then it shows the value, allowing you to hover over nodes and see their scalar values (text or numbers) quickly. To make it easy, I've placed this in a library file, Show-Indexes-In-Help-Balloons.ana. If you want this, all you have to do is add this library to your model (use Add Module... or Add Library... on the File menu, embed). How does it do it? The code in Analytica that decides what should appear in a help balloon is actually implemented as an Analytica expression, and it resides in … [Read more...]

## Greenhouse Gas Emissions and Energy Expenditure from Santa’s global tour

In four days, Santa Claus will embark on his annual Christmas eve ritual, delivering presents to the good little boys and girls around the world. In this article, I look at the net energy expenditure and greenhouse gas emissions attributable to this magical tour. Many aspects of Santa’s amazing technology are not publicly available, so it will be necessary to make numerous educated guesses to complete the analysis. I will derive an estimate for the total distance traveled, velocities obtained, work expended to reach the implied kinetic energies and energy losses due to air friction. Then I’ll consider the caloric efficiency of reindeer, the methane emissions due to reindeer manure and flatulence and the carbon dioxide emissions during the agricultural production of the carrots used to fuel their trip. Distance Traveled I’ll begin with an estimate of how far Santa must travel on Christmas Eve to visit the 300M or so households with children worldwide that celebrate … [Read more...]

## Analytica 4.4.3 Patch Release

Today we announce the Analytica and ADE 4.4.3 patch release. The patch has an extensive number of fixes and improvements since the 4.4.2 release. We recommend that all Analytica and ADE 4.4 users install and start using 4.4.3. When you already have an earlier 4.4 installed, installing the patch takes about a minute. If you have an internet connection and use Analytica 4.4, it will automatically detect the new patch within the next few days, download the installer, and then the next time you run Analytica, it will ask you if you want to install it. To update ADE, or if you need to download the installer manually, just visit the Lumina.com downloads page. The Analytica Wiki contains a comprehensive listing of all changes in this patch release at Build 4.4.3 release notes. I'll mention some of my favorite highlights here. Proactively evaluate indexes: This preference controls whether Analytica evaluates indexes when a model is first loaded, as well as whether … [Read more...]

## Is the media wrong about how many Mega-Million tickets were sold?

A few days ago on this blog, in Binomial distribution and Mega-Millions Lottery ROI, I wrote about statistically predicting the number of winners in a lottery, and the impact this has on the mean return-on-investment of a lottery ticket purchase. Now that the outcome of last week's record-setting Mega-Millions drawing is known, we have an opportunity to compare how the actual outcome compared to the prediction made by the binomial distribution model. A news article by Margery A. Beck of the Associated Press claims that 1.46 billion tickets were sold in the run-up to last week's drawing. The article was cited by several major newspapers, including the Los Angeles Times. If that number is credible, it is a spectacular two-day increase from the 50M tickets that had been sold as of Tuesday according to an article in Wednesday's San Jose Mercury News. It far exceeds the upper end of 250M that I used in my analysis last week. However, the post-hoc analysis that … [Read more...]

## Binomial distribution and Mega-Millions Lottery ROI

As of this morning, the Mega-Millions lottery for this week is at a record-setting grand prize level of $540M (when taken in installments) or $389M lump sum payout. The odds of any given ticket winning is 1 in 175,711,536. So, if you are a risk-neutral "investor" and you buy a ticket, your mean return-on-investment (ROI) may actually be positive in this case -- a highly unusual situation for a lottery. Hopefully you see the main opportunity that this presents: the opportunity to learn about the Binomial distribution! If it were as simple as saying that you had a 1 in 176M chance of winning $389M, then your mean winnings would be $2.17 for a $1 ticket. That would be a 117% ROI in only a few days time. Of course, it is not that simple due to two complicating factors: (the potential for) multiple winners, and taxes. When there are multiple winning numbers, the prize is split between winners, so even if you win you might receive only half, or one-third of the … [Read more...]

## Percentile Contour Plots

I saw a graph today that I thought was pretty cool and thought I'd share it here. In his Analytica model, Andrew DeBenedictis of E3 created a depiction energy usage percentiles by time of day in each month. I think a plausible name for this type of plot would be a Percentile Contour plot. Andrew tells me he got the idea from the Contour/Regions Charts page that I had written many years ago on the Analytica Wiki, which shows how to create plots like these: Nevertheless, I particularly liked the use of gray-scale to show the percentile (amount of activity), the customized scaling of percentiles, and layout of Andrew's graph. So, how do you put a percentile contour graph like this together? I thought I'd try it here. First, of course, I need some data, such as Energy_usage, indexed by Hour of day and Month, and for that I need the Hour and Month indexes: Index Hour := 1..24 Index Month := 1..12 Variable Energy_usage := Table(Hour,Month) I … [Read more...]