JSS v78i01: Royuela-del-Val, Simmross-Wattenberg This folder contains MATLAB scripts and programs needed to generate the figures and tables that appear in the original publication at JSS. Please note that generating data can take a long time. Precomputed ground-truth data and performance measurements are available for download at http://www.lpi.tel.uva.es/~jroyval/html/software/JSS_v78i01_Replication_data.tar.gz FOLDER STRUCTURE =============================================================================== The structure of this folder is described at continuation: + libstable: + src: source files of the examples that appear in the manuscript and the programs used to calculate libstable precision and performance data. - example_section_5_2_a.c: source code of the example that appears in section 5.2 of the manuscript (Usage in C/C++ developments) - example_section_5_2_b.c: source code of the second example that appears on the same section of the manuscript. - stable_performance.c: source code of the program used to obtain libstable performance data. - stable_precision.c: source code of the program used to obtain libstable precision data. - nolan_performance.c: source code of the program used to obtain Nolan's STABLE tool performance data. - nolan_precision.c: source code of the program used to obtain Nolan's STABLE tool ground-truth precision data. + bin: binary files generated in compilation of the library + nolanSTABLE + src: source files of the benchmark programs used to calculate John Nolan's STABLE program ground-truth and performance data. + bin: - stablec.exe: John Nolan's STABLE binary available for download at [3]. - nolan_performance.exe: precompiled performance benchmark. - nolan_precision.exe: precompiled precision benchmark. Please note that STABLE program is only available for Windows OS. The programs nolan_performance.exe and nolan_precision.exe must be compiled on Windows also. E. g., via the commands: cl nolan_performance.c -o bin\ cl nolan_precision.c -o bin\ + matlab_veillete: a MATLAB direct implementation on John Nolan's expressions [1] available for download at [2] + matlab_scripts: several MATLAB scripts used reproduce examples and to generate figures and tables - example.m: example script that appears on section 5.3 of the manuscript (Usage in MATLAB environment) + R: scripts to reproduce the example of the R interface usage. - libstableUsageExample.R: example - stabledistPackage_test.R: script to test performance of the R package "stabledist". + generated_data: in this folder the data generated by different programs will be stored. - generate_libstable_data.sh: bash script to generate libstable performance and precision data. - generate_matlab_data.m: MATLAB function to generate MATLAB Veillete's implementation performance data. - generate_nolanSTABLE_data.bat: Windows batch script to generate ground-truth and performance data. - Makefile: General compilation file. Run "make all" to generate the tools needed to replicate the data tools. REPLICATION OF THE RESULTS ========================================================================= To reproduce the results presented in the manuscript, please follow the following steps: 1) Compiling. 1.a) If not done yet, please download the libstable library and compile it. 2.b) Modify the Makefile file in order to provide the path to the compiled libstable library by setting the value of the STABLE_DIR variable (../libstable by default). 2.c) Build the replication material programs. Run: make all This will generate the binaries needed to replicate the data in the manuscript. 2) ·To run the examples that appear in the manuscript: ./libstable/bin/example_section_5_2_a ./libstable/bin/example_section_5_2_b · To run the examples about it the MATLAB front-end usage section, open a MATLAB session, with ./matlab_scripts as working directory, and run: >> example.m · The R environment examples can be run in an R session by: R> source('./R/libstableUsageExample.R') The following steps refer to generating precision and performance data that is summarized on table 1 and figures 3 and 4 of the manuscript. PLEASE NOTE THAT THIS CAN TAKE A LONG TIME AND CONSIDER USING PRECOMPUTED DATA PROVIDED FOR DOWNLOAD AVAILABLE FOR DOWNLOAD AT: http://www.lpi.tel.uva.es/~jroyval/html/software/JSS_v78i01_Replication_data.tar.gz If using precomputed data, please skip to step 7). 3) GENERATION OF LIBSTABLE PRECISION AND PERFORMANCE DATA In the current folder, execute the script ./generate_libstable_data.sh and follow the instructions. Choose the number of threads of execution and the number of repetitions of the experiments according to your system capabilities. PLEASE NOTE THAT THIS CAN TAKE A LONG TIME AND CONSIDER USING PRECOMPUTED DATA PROVIDED FOR DOWNLOAD AVAILABLE FOR DOWNLOAD AT: http://www.lpi.tel.uva.es/~jroyval/html/software/JSS_v78i01_Replication_data.tar.gz 4) GENERATION OF MATLAB Veillete's IMPLEMENTATION PERFORMANCE DATA To generate MATLAB performance data, invoke the generate_matlab_data function with >> generate_matlab_data(threads, ntest) Where threads contains the number of execution threads to use (may be scalar or vector) and ntest the number of repetitions of each execution (may be scalar or vector). If no arguments are provided, by default all the available threads are used and ntest = 10. 5) GENERATION OF GROUND-TRUTH DATA AND JP NOLAN'S PERFORMANCE DATA To generate the ground-truth data and STABLE performance data execute the following script ON A WINDOWS SYSTEM: generate_nolanSTABLE_data.bat and follow the instructions. PLEASE NOTE THAT THIS CAN TAKE A LONG TIME AND CONSIDER USING PRECOMPUTED DATA PROVIDED FOR DOWNLOAD AVAILABLE FOR DOWNLOAD AT: http://www.lpi.tel.uva.es/~jroyval/html/software/JSS_v78i01_Replication_data.tar.gz 6) GENERATION OF stabledist R PACKAGE PERFORMANCE DATA Te generate the stabledist R package performance data: - Open an R session. - Set .R/ as the working directory - Run stabledistPackage_test.R 7) Finally, to generate the tables and figures, open MATLAB and set ./matlab_scripts as the working directory. Then run: >> table_1.m %To generate table 1 >> figure_1.m %To generate figure 1 >> figure_2.m %To generate figure 2 >> figure_3.m %To generate figure 3 >> figure_4.m %To generate figure 4 REFERENCES ========== [1] Nolan, J. P. Numerical Calculation of Stable Densities and Distribution Functions Stochastic Models, 1997, 13, 759-774 [2] Mark S. Veillete. Alpha-Stable Distributions in MATLAB, http://math.bu.edu/people/mveillet/research.html [3] Nolan, J. P., John Nolan's Stable Distribution Page, http://academic2.american.edu/~jpnolan/stable/stable.html Javier Royuela del Val Federico Simmross Wattenberg E.T.S.I. Telecomunicación Universidad de Valladolid Paseo de Belén 15, 47002 Valladolid, Spain. jroyval@lpi.tel.uva.es