Choose Language Hide Translation Bar
Staff (Retired)

Graphical Hypothesis Testing

A core application of statistics has always been the utilization of data in the decision-making process, and one of the most utilized tools to accomplish this is data visualization. Through the use of graphical elements, one can transform volumes of numbers into easily communicable images that everyone can understand which is incredibly powerful. Yet graphs can also be deceiving, and we may sometimes see patterns where none exist. Of course numerical tests of hypotheses can remedy this when looking at the data itself, but that’s not always a possibility when examining data visually. Therefore, the aim of this add-in is to implement a method in JMP to do just that. Take the graph below for example.


Sample Choropleth MapSample Choropleth Map


Do you see any sort of spatial trend going on? If you think there is some trend, how can you determine if this is actually the case or if it is simply random noise? This is exactly what the add-in addresses. Based on the ideas of Di Cook et al. [1], it displays the true graph alongside computer-generated decoy graphs. This introduces graphical testing to the visualization process by providing levels of significance determined by the user’s ability to select the true graph. That is, if you can pick out the graph of the true data from all the decoy graphs, then clearly there is something significant going on and a further investigation is needed.


To perform a graphical hypotheses test, simply run the add-in with your data set. You can select the graph type, line-up type, and more from the add-in menu. For more detailed help, click the Help button in the actions panel for documentation.


Sample InputSample Input


Sample OutputSample Output


[1] Cook, D., Wickham, H., Hofmann, H., & Buja, A. (2010, October 24). Graphical Inference for Infovis.



Hi michael, Thank you for sharing. When I try to run the addin with a single coninuous variable I receive the following error message followed by a string of my data values and the program does not complete. Would you be able to provide any insight on what this error message means or what I am doing wrong?


"argument should be character in access or evaluation of 'Length' , Bad Argument(
[truncated list of my values for the variable in each observation is shown here]
***** Text Truncated *****"


Thanks in advance, marxx