├── doc ├── __init__.py ├── images │ ├── n01-1.png │ ├── n02-1.png │ ├── n11-1.png │ ├── n021-1.png │ ├── n012n022-1.png │ ├── n014n021-1.png │ ├── n01ecdf-1.png │ ├── n02ecdf-1.png │ ├── n02n021-1.png │ ├── n11ecdf-1.png │ ├── http-ecdf-1.png │ ├── n01n02ecdf-1.png │ ├── n01n02n11-1.png │ ├── n01n11ecdf-1.png │ ├── n02n021ecdf-1.png │ ├── n02n022ecdf-1.png │ ├── n02n023ecdf-1.png │ ├── n02n024ecdf-1.png │ ├── n02n11ecdf-1.png │ ├── http-density-1.png │ ├── http1-density-1.png │ ├── http2-density-1.png │ ├── http3-density-1.png │ ├── http4-density-1.png │ ├── httphttp4ecdf-1.png │ ├── n012n022ecdf-1.png │ ├── n014n021ecdf-1.png │ ├── n01n02n11ecdf-1.png │ ├── critical-values-1.png │ ├── http-timeseries-1.png │ ├── http1-timeseries-1.png │ ├── http1http4ecdf-1.png │ ├── twtr-open-ecdf-1.png │ ├── twtr-volume-ecdf-1.png │ ├── twtr-open-density-1.png │ ├── twtr-open-timeseries-1.png │ ├── twtr-volume-density-1.png │ └── twtr-volume-timeseries-1.png ├── conf.py └── Makefile ├── .travis.yml ├── src ├── lib.rs ├── bin │ ├── normal.rs │ ├── critical_values.rs │ ├── ks_i64.rs │ └── ks_f64.rs └── test.rs ├── .dockerignore ├── .gitignore ├── Cargo.toml ├── dat ├── http_ttime.2.tsv ├── http_ttime.4.tsv ├── http_ttime.1.tsv ├── http_ttime.3.tsv ├── http.2.tsv ├── http.4.tsv ├── http.1.tsv ├── http.3.tsv ├── normal_1_1.3.tsv ├── normal_1_1.4.tsv ├── normal_1_1.1.tsv ├── normal_1_1.2.tsv ├── normal_0_1.2.tsv ├── normal_0_2.3.tsv ├── normal_0_2.2.tsv ├── normal_0_2.4.tsv ├── normal_0_1.1.tsv ├── normal_0_1.4.tsv ├── normal_0_2.1.tsv ├── normal_0_1.3.tsv ├── critical_values.tsv ├── images.Rmd └── twtr.1.tsv ├── Dockerfile ├── README.md └── LICENSE /doc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /doc/images/n01-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n01-1.png -------------------------------------------------------------------------------- /doc/images/n02-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02-1.png -------------------------------------------------------------------------------- /doc/images/n11-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n11-1.png -------------------------------------------------------------------------------- /doc/images/n021-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n021-1.png -------------------------------------------------------------------------------- /doc/images/n012n022-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n012n022-1.png -------------------------------------------------------------------------------- /doc/images/n014n021-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n014n021-1.png -------------------------------------------------------------------------------- /doc/images/n01ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n01ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n02ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n02n021-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02n021-1.png -------------------------------------------------------------------------------- /doc/images/n11ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n11ecdf-1.png -------------------------------------------------------------------------------- /doc/images/http-ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http-ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n01n02ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n01n02ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n01n02n11-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n01n02n11-1.png -------------------------------------------------------------------------------- /doc/images/n01n11ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n01n11ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n02n021ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02n021ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n02n022ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02n022ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n02n023ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02n023ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n02n024ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02n024ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n02n11ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n02n11ecdf-1.png -------------------------------------------------------------------------------- /doc/images/http-density-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http-density-1.png -------------------------------------------------------------------------------- /doc/images/http1-density-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http1-density-1.png -------------------------------------------------------------------------------- /doc/images/http2-density-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http2-density-1.png -------------------------------------------------------------------------------- /doc/images/http3-density-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http3-density-1.png -------------------------------------------------------------------------------- /doc/images/http4-density-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http4-density-1.png -------------------------------------------------------------------------------- /doc/images/httphttp4ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/httphttp4ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n012n022ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n012n022ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n014n021ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n014n021ecdf-1.png -------------------------------------------------------------------------------- /doc/images/n01n02n11ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/n01n02n11ecdf-1.png -------------------------------------------------------------------------------- /doc/images/critical-values-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/critical-values-1.png -------------------------------------------------------------------------------- /doc/images/http-timeseries-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http-timeseries-1.png -------------------------------------------------------------------------------- /doc/images/http1-timeseries-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http1-timeseries-1.png -------------------------------------------------------------------------------- /doc/images/http1http4ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/http1http4ecdf-1.png -------------------------------------------------------------------------------- /doc/images/twtr-open-ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/twtr-open-ecdf-1.png -------------------------------------------------------------------------------- /doc/images/twtr-volume-ecdf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/twtr-volume-ecdf-1.png -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: rust 2 | rust: 3 | - stable 4 | - beta 5 | - nightly 6 | matrix: 7 | allow_failures: 8 | - rust: nightly 9 | -------------------------------------------------------------------------------- /doc/images/twtr-open-density-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/twtr-open-density-1.png -------------------------------------------------------------------------------- /doc/images/twtr-open-timeseries-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/twtr-open-timeseries-1.png -------------------------------------------------------------------------------- /doc/images/twtr-volume-density-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/twtr-volume-density-1.png -------------------------------------------------------------------------------- /doc/images/twtr-volume-timeseries-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daithiocrualaoich/kolmogorov_smirnov/HEAD/doc/images/twtr-volume-timeseries-1.png -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod ecdf; 2 | pub mod test; 3 | 4 | pub use test::{test, test_f64, calculate_critical_value}; 5 | pub use ecdf::{Ecdf, ecdf, percentile, permille, rank}; 6 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.so 3 | *.rlib 4 | *.dll 5 | *.exe 6 | target 7 | Cargo.lock 8 | _build 9 | *.iml 10 | .idea 11 | *~ 12 | *.bk 13 | .DS_Store 14 | .RHistory 15 | *.html -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.so 3 | *.rlib 4 | *.dll 5 | *.exe 6 | target 7 | Cargo.lock 8 | _build 9 | *.iml 10 | .idea 11 | *~ 12 | *.bk 13 | .DS_Store 14 | .RHistory 15 | *.html -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "kolmogorov_smirnov" 3 | description = "Implementation of the Kolmogorov-Smirnov statistical test as a Rust library." 4 | version = "1.1.0" 5 | homepage = "http://daithiocrualaoich.github.io/kolmogorov_smirnov" 6 | repository = "https://github.com/daithiocrualaoich/kolmogorov_smirnov" 7 | authors = ["Daithi O Crualaoich "] 8 | license = "Apache-2.0" 9 | keywords = ["statistics"] 10 | exclude = [ 11 | ".dockerignore", 12 | ".gitignore", 13 | ".travis.yml", 14 | "Cargo.lock", 15 | "Dockerfile", 16 | "dat/*", 17 | "doc/*", 18 | ] 19 | 20 | [[bin]] 21 | name = "critical_values" 22 | 23 | [[bin]] 24 | name = "normal" 25 | 26 | [[bin]] 27 | name = "ks_f64" 28 | 29 | [[bin]] 30 | name = "ks_i64" 31 | 32 | [dependencies] 33 | rand = "0.3.12" 34 | 35 | [dev-dependencies] 36 | quickcheck = "0.2" 37 | -------------------------------------------------------------------------------- /doc/conf.py: -------------------------------------------------------------------------------- 1 | project = u'Kolmogorov-Smirnov' 2 | copyright = u'2015, Daithi O Crualaoich' 3 | author = u'Daithi O Crualaoich' 4 | 5 | version = '1.1.0' 6 | release = '1.1.0' 7 | 8 | extensions = [ 9 | 'sphinx.ext.pngmath', 10 | 'sphinxcontrib.googleanalytics' 11 | ] 12 | 13 | templates_path = ['_templates'] 14 | exclude_patterns = ['_build'] 15 | 16 | source_suffix = '.rst' 17 | master_doc = 'index' 18 | 19 | language = None 20 | pygments_style = 'sphinx' 21 | 22 | googleanalytics_id = 'UA-71626319-1' 23 | 24 | # -- Options for HTML output ---------------------------------------------- 25 | 26 | html_theme = 'alabaster' 27 | html_title = project 28 | 29 | html_static_path = ['_static'] 30 | 31 | html_sidebars = { 32 | '**': ['localtoc.html'], 33 | } 34 | 35 | html_use_index = False 36 | html_show_sourcelink = False 37 | html_show_sphinx = False 38 | html_show_copyright = False 39 | -------------------------------------------------------------------------------- /src/bin/normal.rs: -------------------------------------------------------------------------------- 1 | extern crate rand; 2 | 3 | use std::env; 4 | use rand::distributions::{Normal, IndependentSample}; 5 | 6 | /// Prints a sequence of Normal deviates. 7 | /// 8 | /// # Examples 9 | /// 10 | /// ```bash 11 | /// cargo run --bin normal 12 | /// ``` 13 | /// This will print `` float point numbers, one per line, to 14 | /// standard output. These numbers will have a Normal distribution with the 15 | /// specified mean and variance. 16 | /// 17 | /// `` must be a positive integer, `` and `` may 18 | /// be integers or floating point numbers but `` must be positive. 19 | fn main() { 20 | let args: Vec = env::args().collect(); 21 | 22 | let n: u32 = args[1].parse().expect(" must be an integer."); 23 | let mean: f64 = args[2].parse().expect(" must be a floating point number."); 24 | let variance: f64 = args[3].parse().expect(" must be a floating point number."); 25 | 26 | assert!(n > 0 && variance.is_sign_positive()); 27 | 28 | let mut rng = rand::thread_rng(); 29 | let normal = Normal::new(mean, variance.sqrt()); 30 | 31 | for _ in 0..n { 32 | let x = normal.ind_sample(&mut rng); 33 | println!("{}", x) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/bin/critical_values.rs: -------------------------------------------------------------------------------- 1 | extern crate kolmogorov_smirnov as ks; 2 | 3 | use ks::calculate_critical_value; 4 | 5 | use std::env; 6 | 7 | /// Calculate critical values dataset. 8 | /// 9 | /// # Examples 10 | /// 11 | /// ```bash 12 | /// cargo run --bin critical_values 13 | /// ``` 14 | /// 15 | /// This will print the critical values of the Kolmogorov-Smirnov two sample 16 | /// test for samples of size `` against samples of sizes 16 17 | /// through `` inclusive at the specified confidence level. 18 | /// 19 | /// `` and `` must be positive integers, `` must 20 | /// be a floating point number strictly between zero and one. 21 | fn main() { 22 | let args: Vec = env::args().collect(); 23 | 24 | let confidence: f64 = args[1].parse().expect(" must be a floating point number."); 25 | let n1: usize = args[2].parse().expect(" must be an integer."); 26 | let limit: usize = args[3].parse().expect(" must be an integer."); 27 | 28 | assert!(n1 > 0 && limit > 0); 29 | assert!(0.0 < confidence && confidence < 1.0); 30 | 31 | println!("n1\tn2\tconfidence\tcritical_value"); 32 | for n2 in 16..(limit + 1) { 33 | println!("{}\t{}\t{}\t{}", 34 | n1, 35 | n2, 36 | confidence, 37 | calculate_critical_value(n1, n2, confidence)); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/bin/ks_i64.rs: -------------------------------------------------------------------------------- 1 | extern crate kolmogorov_smirnov as ks; 2 | 3 | use ks::test; 4 | 5 | use std::env; 6 | use std::io::{BufReader, BufRead}; 7 | use std::fs::File; 8 | use std::path::Path; 9 | 10 | fn parse_int(s: String) -> i64 { 11 | s.parse::().expect("Not an integer.") 12 | } 13 | 14 | /// Runs a Kolmogorov-Smirnov test on integer data files. 15 | /// 16 | /// Input files must be single-column headerless data files. The data samples 17 | /// are tested against each other at the 95% confidence level. 18 | /// 19 | /// # Examples 20 | /// 21 | /// ```bash 22 | /// cargo run --bin ks_i64 23 | /// ``` 24 | /// 25 | /// This will print the test result to standard output. 26 | fn main() { 27 | let args: Vec = env::args().collect(); 28 | 29 | let path1 = Path::new(&args[1]); 30 | let path2 = Path::new(&args[2]); 31 | 32 | let file1 = BufReader::new(File::open(&path1).unwrap()); 33 | let file2 = BufReader::new(File::open(&path2).unwrap()); 34 | 35 | let lines1 = file1.lines().map(|line| line.unwrap()); 36 | let lines2 = file2.lines().map(|line| line.unwrap()); 37 | 38 | let xs: Vec = lines1.map(parse_int).collect(); 39 | let ys: Vec = lines2.map(parse_int).collect(); 40 | 41 | let result = ks::test(&xs, &ys, 0.95); 42 | 43 | if result.is_rejected { 44 | println!("Samples are from different distributions."); 45 | } else { 46 | println!("Samples are from the same distribution."); 47 | } 48 | 49 | println!("test statistic = {}", result.statistic); 50 | println!("critical value = {}", result.critical_value); 51 | println!("reject probability = {}", result.reject_probability); 52 | } 53 | -------------------------------------------------------------------------------- /src/bin/ks_f64.rs: -------------------------------------------------------------------------------- 1 | extern crate kolmogorov_smirnov as ks; 2 | 3 | use ks::test_f64; 4 | 5 | use std::env; 6 | use std::io::{BufReader, BufRead}; 7 | use std::fs::File; 8 | use std::path::Path; 9 | 10 | fn parse_float(s: String) -> f64 { 11 | s.parse::().expect("Not a floating point number.") 12 | } 13 | 14 | /// Runs a Kolmogorov-Smirnov test on floating point data files. 15 | /// 16 | /// Input files must be single-column headerless data files. The data samples 17 | /// are tested against each other at the 95% confidence level. 18 | /// 19 | /// # Examples 20 | /// 21 | /// ```bash 22 | /// cargo run --bin ks_f64 23 | /// ``` 24 | /// 25 | /// This will print the test result to standard output. 26 | fn main() { 27 | let args: Vec = env::args().collect(); 28 | 29 | let path1 = Path::new(&args[1]); 30 | let path2 = Path::new(&args[2]); 31 | 32 | let file1 = BufReader::new(File::open(&path1).unwrap()); 33 | let file2 = BufReader::new(File::open(&path2).unwrap()); 34 | 35 | let lines1 = file1.lines().map(|line| line.unwrap()); 36 | let lines2 = file2.lines().map(|line| line.unwrap()); 37 | 38 | let xs: Vec = lines1.map(parse_float).collect(); 39 | let ys: Vec = lines2.map(parse_float).collect(); 40 | 41 | let result = ks::test_f64(&xs, &ys, 0.95); 42 | 43 | if result.is_rejected { 44 | println!("Samples are from different distributions."); 45 | } else { 46 | println!("Samples are from the same distribution."); 47 | } 48 | 49 | println!("test statistic = {}", result.statistic); 50 | println!("critical value = {}", result.critical_value); 51 | println!("reject probability = {}", result.reject_probability); 52 | } 53 | -------------------------------------------------------------------------------- /dat/http_ttime.2.tsv: -------------------------------------------------------------------------------- 1 | 284 2 | 289 3 | 287 4 | 288 5 | 287 6 | 287 7 | 289 8 | 287 9 | 288 10 | 288 11 | 289 12 | 286 13 | 287 14 | 291 15 | 791 16 | 286 17 | 940 18 | 288 19 | 291 20 | 291 21 | 315 22 | 287 23 | 288 24 | 292 25 | 287 26 | 287 27 | 287 28 | 288 29 | 288 30 | 289 31 | 302 32 | 286 33 | 287 34 | 287 35 | 287 36 | 286 37 | 286 38 | 287 39 | 291 40 | 287 41 | 287 42 | 288 43 | 287 44 | 288 45 | 289 46 | 285 47 | 287 48 | 288 49 | 287 50 | 287 51 | 287 52 | 287 53 | 287 54 | 287 55 | 289 56 | 286 57 | 287 58 | 288 59 | 1143 60 | 286 61 | 755 62 | 630 63 | 908 64 | 925 65 | 921 66 | 928 67 | 949 68 | 926 69 | 937 70 | 899 71 | 925 72 | 923 73 | 957 74 | 927 75 | 915 76 | 929 77 | 933 78 | 926 79 | 939 80 | 1008 81 | 927 82 | 935 83 | 934 84 | 934 85 | 953 86 | 913 87 | 907 88 | 913 89 | 915 90 | 920 91 | 910 92 | 902 93 | 928 94 | 901 95 | 930 96 | 900 97 | 930 98 | 904 99 | 899 100 | 923 101 | 931 102 | 906 103 | 938 104 | 912 105 | 955 106 | 913 107 | 922 108 | 912 109 | 923 110 | 912 111 | 929 112 | 905 113 | 927 114 | 902 115 | 924 116 | 933 117 | 934 118 | 925 119 | 944 120 | 928 121 | 935 122 | 956 123 | 924 124 | 932 125 | 763 126 | 923 127 | 911 128 | 914 129 | 920 130 | 914 131 | 934 132 | 929 133 | 930 134 | 937 135 | 931 136 | 935 137 | 941 138 | 935 139 | 935 140 | 947 141 | 940 142 | 941 143 | 990 144 | 939 145 | 944 146 | 946 147 | 936 148 | 920 149 | 938 150 | 919 151 | 919 152 | 919 153 | 915 154 | 919 155 | 912 156 | 918 157 | 913 158 | 917 159 | 939 160 | 936 161 | 923 162 | 938 163 | 952 164 | 902 165 | 923 166 | 901 167 | 923 168 | 911 169 | 908 170 | 924 171 | 911 172 | 922 173 | 909 174 | 919 175 | 915 176 | 897 177 | 918 178 | 919 179 | 927 180 | 923 181 | 928 182 | 915 183 | 923 184 | 921 185 | 928 186 | 913 187 | 937 188 | 930 189 | 916 190 | 928 191 | 774 192 | 923 193 | 920 194 | 856 195 | 933 196 | 943 197 | 841 198 | 959 199 | 947 200 | 942 201 | 936 202 | 945 203 | 951 204 | 932 205 | 913 206 | 933 207 | 909 208 | 916 209 | 913 210 | 916 211 | 908 212 | 908 213 | 912 214 | 908 215 | 895 216 | 942 217 | 917 218 | 917 219 | 900 220 | 916 221 | 901 222 | 912 223 | 922 224 | 906 225 | 919 226 | 912 227 | 919 228 | 774 229 | 615 230 | 1004 231 | 759 232 | 906 233 | 916 234 | 902 235 | 919 236 | 912 237 | 915 238 | 918 239 | 921 240 | 906 241 | 952 242 | 1025 243 | 928 244 | 916 245 | 915 246 | 910 247 | 329 248 | 292 249 | 1159 250 | 918 251 | 905 252 | 918 253 | 811 254 | 286 255 | 843 256 | 912 257 | -------------------------------------------------------------------------------- /dat/http_ttime.4.tsv: -------------------------------------------------------------------------------- 1 | 895 2 | 898 3 | 914 4 | 899 5 | 921 6 | 900 7 | 907 8 | 901 9 | 912 10 | 898 11 | 910 12 | 902 13 | 926 14 | 920 15 | 942 16 | 999 17 | 906 18 | 913 19 | 904 20 | 903 21 | 906 22 | 909 23 | 905 24 | 908 25 | 902 26 | 923 27 | 903 28 | 914 29 | 903 30 | 911 31 | 913 32 | 904 33 | 900 34 | 915 35 | 923 36 | 887 37 | 924 38 | 887 39 | 923 40 | 882 41 | 921 42 | 884 43 | 922 44 | 887 45 | 931 46 | 926 47 | 934 48 | 933 49 | 925 50 | 914 51 | 898 52 | 913 53 | 896 54 | 917 55 | 894 56 | 909 57 | 898 58 | 915 59 | 940 60 | 912 61 | 922 62 | 911 63 | 901 64 | 925 65 | 925 66 | 937 67 | 904 68 | 913 69 | 902 70 | 904 71 | 908 72 | 611 73 | 287 74 | 735 75 | 910 76 | 916 77 | 903 78 | 915 79 | 287 80 | 288 81 | 1052 82 | 921 83 | 926 84 | 917 85 | 789 86 | 288 87 | 604 88 | 906 89 | 891 90 | 893 91 | 919 92 | 916 93 | 916 94 | 901 95 | 915 96 | 909 97 | 910 98 | 923 99 | 925 100 | 929 101 | 914 102 | 961 103 | 938 104 | 900 105 | 913 106 | 921 107 | 925 108 | 923 109 | 923 110 | 925 111 | 933 112 | 947 113 | 936 114 | 945 115 | 944 116 | 932 117 | 921 118 | 950 119 | 932 120 | 923 121 | 928 122 | 920 123 | 936 124 | 918 125 | 930 126 | 935 127 | 951 128 | 915 129 | 616 130 | 4597 131 | 915 132 | 917 133 | 926 134 | 921 135 | 935 136 | 919 137 | 991 138 | 914 139 | 923 140 | 910 141 | 923 142 | 910 143 | 923 144 | 912 145 | 934 146 | 906 147 | 859 148 | 907 149 | 925 150 | 914 151 | 930 152 | 895 153 | 929 154 | 892 155 | 925 156 | 894 157 | 925 158 | 932 159 | 940 160 | 913 161 | 924 162 | 935 163 | 964 164 | 935 165 | 919 166 | 918 167 | 936 168 | 917 169 | 936 170 | 950 171 | 933 172 | 947 173 | 919 174 | 907 175 | 913 176 | 929 177 | 298 178 | 309 179 | 333 180 | 301 181 | 308 182 | 372 183 | 323 184 | 324 185 | 341 186 | 346 187 | 393 188 | 407 189 | 444 190 | 485 191 | 537 192 | 542 193 | 572 194 | 678 195 | 888 196 | 897 197 | 898 198 | 932 199 | 902 200 | 931 201 | 948 202 | 956 203 | 947 204 | 970 205 | 908 206 | 982 207 | 908 208 | 914 209 | 923 210 | 923 211 | 918 212 | 915 213 | 928 214 | 927 215 | 921 216 | 888 217 | 925 218 | 893 219 | 921 220 | 916 221 | 901 222 | 950 223 | 918 224 | 904 225 | 898 226 | 929 227 | 907 228 | 931 229 | 937 230 | 987 231 | 977 232 | 927 233 | 930 234 | 928 235 | 890 236 | 931 237 | 889 238 | 937 239 | 911 240 | 904 241 | 917 242 | 901 243 | 919 244 | 908 245 | 925 246 | 906 247 | 914 248 | 910 249 | 911 250 | 947 251 | 921 252 | 925 253 | 924 254 | 900 255 | 916 256 | 954 257 | -------------------------------------------------------------------------------- /dat/http_ttime.1.tsv: -------------------------------------------------------------------------------- 1 | 284 2 | 286 3 | 1077 4 | 934 5 | 910 6 | 918 7 | 932 8 | 916 9 | 902 10 | 917 11 | 922 12 | 932 13 | 919 14 | 906 15 | 919 16 | 911 17 | 917 18 | 909 19 | 927 20 | 921 21 | 924 22 | 924 23 | 675 24 | 286 25 | 287 26 | 1023 27 | 923 28 | 906 29 | 917 30 | 286 31 | 288 32 | 1046 33 | 918 34 | 903 35 | 915 36 | 811 37 | 289 38 | 833 39 | 913 40 | 917 41 | 906 42 | 916 43 | 289 44 | 493 45 | 1148 46 | 918 47 | 904 48 | 908 49 | 916 50 | 921 51 | 902 52 | 919 53 | 908 54 | 919 55 | 914 56 | 914 57 | 918 58 | 908 59 | 902 60 | 947 61 | 921 62 | 912 63 | 915 64 | 913 65 | 923 66 | 910 67 | 923 68 | 908 69 | 928 70 | 911 71 | 903 72 | 906 73 | 894 74 | 910 75 | 899 76 | 909 77 | 900 78 | 910 79 | 898 80 | 912 81 | 898 82 | 914 83 | 903 84 | 967 85 | 904 86 | 915 87 | 902 88 | 910 89 | 904 90 | 917 91 | 939 92 | 914 93 | 924 94 | 890 95 | 930 96 | 889 97 | 926 98 | 896 99 | 922 100 | 917 101 | 904 102 | 893 103 | 930 104 | 897 105 | 890 106 | 927 107 | 932 108 | 891 109 | 929 110 | 893 111 | 930 112 | 916 113 | 955 114 | 922 115 | 914 116 | 905 117 | 900 118 | 913 119 | 912 120 | 905 121 | 916 122 | 934 123 | 890 124 | 918 125 | 891 126 | 925 127 | 885 128 | 887 129 | 922 130 | 922 131 | 884 132 | 920 133 | 894 134 | 921 135 | 785 136 | 287 137 | 844 138 | 906 139 | 920 140 | 906 141 | 905 142 | 917 143 | 920 144 | 902 145 | 942 146 | 1064 147 | 1141 148 | 1066 149 | 1070 150 | 1063 151 | 419 152 | 941 153 | 726 154 | 301 155 | 972 156 | 959 157 | 928 158 | 920 159 | 287 160 | 446 161 | 1150 162 | 935 163 | 954 164 | 964 165 | 906 166 | 919 167 | 907 168 | 918 169 | 907 170 | 922 171 | 916 172 | 911 173 | 895 174 | 916 175 | 929 176 | 986 177 | 950 178 | 954 179 | 895 180 | 913 181 | 902 182 | 950 183 | 932 184 | 982 185 | 942 186 | 1005 187 | 1051 188 | 985 189 | 1013 190 | 929 191 | 908 192 | 927 193 | 902 194 | 979 195 | 964 196 | 906 197 | 935 198 | 903 199 | 915 200 | 959 201 | 918 202 | 926 203 | 891 204 | 922 205 | 891 206 | 918 207 | 900 208 | 927 209 | 946 210 | 762 211 | 824 212 | 909 213 | 917 214 | 906 215 | 926 216 | 931 217 | 926 218 | 912 219 | 939 220 | 904 221 | 973 222 | 963 223 | 930 224 | 933 225 | 931 226 | 907 227 | 922 228 | 895 229 | 927 230 | 921 231 | 929 232 | 904 233 | 935 234 | 934 235 | 928 236 | 929 237 | 938 238 | 912 239 | 910 240 | 901 241 | 919 242 | 908 243 | 917 244 | 918 245 | 899 246 | 966 247 | 905 248 | 911 249 | 911 250 | 908 251 | 904 252 | 909 253 | 923 254 | 968 255 | 934 256 | 946 257 | -------------------------------------------------------------------------------- /dat/http_ttime.3.tsv: -------------------------------------------------------------------------------- 1 | 920 2 | 914 3 | 950 4 | 934 5 | 906 6 | 931 7 | 917 8 | 922 9 | 933 10 | 916 11 | 929 12 | 916 13 | 929 14 | 951 15 | 908 16 | 943 17 | 919 18 | 927 19 | 922 20 | 908 21 | 926 22 | 914 23 | 924 24 | 910 25 | 921 26 | 943 27 | 921 28 | 935 29 | 902 30 | 945 31 | 949 32 | 945 33 | 932 34 | 961 35 | 954 36 | 940 37 | 1133 38 | 1022 39 | 933 40 | 927 41 | 943 42 | 945 43 | 921 44 | 925 45 | 905 46 | 934 47 | 962 48 | 925 49 | 856 50 | 985 51 | 937 52 | 921 53 | 944 54 | 938 55 | 929 56 | 939 57 | 936 58 | 940 59 | 935 60 | 930 61 | 917 62 | 934 63 | 938 64 | 932 65 | 918 66 | 905 67 | 923 68 | 926 69 | 925 70 | 928 71 | 1090 72 | 1168 73 | 1089 74 | 1106 75 | 1099 76 | 991 77 | 978 78 | 920 79 | 930 80 | 931 81 | 983 82 | 955 83 | 950 84 | 916 85 | 953 86 | 954 87 | 956 88 | 1014 89 | 985 90 | 1020 91 | 1118 92 | 1151 93 | 1111 94 | 1154 95 | 1106 96 | 1057 97 | 1061 98 | 983 99 | 972 100 | 987 101 | 929 102 | 918 103 | 968 104 | 898 105 | 932 106 | 923 107 | 931 108 | 912 109 | 919 110 | 927 111 | 910 112 | 923 113 | 922 114 | 940 115 | 1020 116 | 1021 117 | 930 118 | 927 119 | 915 120 | 929 121 | 917 122 | 921 123 | 911 124 | 916 125 | 975 126 | 928 127 | 922 128 | 894 129 | 931 130 | 886 131 | 896 132 | 921 133 | 886 134 | 904 135 | 913 136 | 914 137 | 939 138 | 915 139 | 915 140 | 875 141 | 921 142 | 906 143 | 935 144 | 937 145 | 919 146 | 918 147 | 922 148 | 910 149 | 924 150 | 917 151 | 941 152 | 937 153 | 894 154 | 905 155 | 906 156 | 911 157 | 916 158 | 912 159 | 917 160 | 915 161 | 914 162 | 938 163 | 900 164 | 922 165 | 921 166 | 948 167 | 912 168 | 916 169 | 923 170 | 910 171 | 908 172 | 911 173 | 910 174 | 907 175 | 897 176 | 912 177 | 905 178 | 940 179 | 923 180 | 900 181 | 894 182 | 917 183 | 973 184 | 904 185 | 927 186 | 930 187 | 912 188 | 931 189 | 933 190 | 919 191 | 917 192 | 918 193 | 939 194 | 925 195 | 932 196 | 937 197 | 922 198 | 928 199 | 935 200 | 891 201 | 936 202 | 930 203 | 929 204 | 942 205 | 1108 206 | 1054 207 | 966 208 | 1018 209 | 904 210 | 1288 211 | 1326 212 | 986 213 | 995 214 | 996 215 | 991 216 | 953 217 | 1013 218 | 1006 219 | 973 220 | 1005 221 | 991 222 | 1019 223 | 1035 224 | 1023 225 | 994 226 | 1010 227 | 1039 228 | 1039 229 | 1001 230 | 990 231 | 1033 232 | 1013 233 | 1012 234 | 999 235 | 989 236 | 1008 237 | 1021 238 | 1025 239 | 1006 240 | 968 241 | 999 242 | 1012 243 | 1034 244 | 1073 245 | 1013 246 | 1023 247 | 1067 248 | 1051 249 | 974 250 | 1153 251 | 1312 252 | 1286 253 | 944 254 | 917 255 | 974 256 | 922 257 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:wily 2 | MAINTAINER Daithi O Crualaoich 3 | 4 | 5 | ################################################################################ 6 | # Basic Development Tools 7 | ################################################################################ 8 | 9 | RUN apt-get update -qq 10 | RUN apt-get upgrade -qq 11 | 12 | RUN apt-get install -qq wget 13 | RUN apt-get install -qq build-essential gcc 14 | 15 | 16 | ################################################################################ 17 | # LaTeX 18 | ################################################################################ 19 | 20 | RUN apt-get install -qq texlive 21 | RUN apt-get install -qq texlive-latex-extra dvipng 22 | 23 | 24 | ################################################################################ 25 | # Pandoc 26 | ################################################################################ 27 | 28 | RUN apt-get install -qq pandoc 29 | 30 | 31 | ################################################################################ 32 | # Sphinx 33 | ################################################################################ 34 | 35 | RUN apt-get install -qq python2.7 python2.7-dev python-pip 36 | RUN pip install Sphinx sphinxcontrib-googleanalytics 37 | RUN pip install cloud_sptheme 38 | 39 | 40 | ################################################################################ 41 | # R 42 | ################################################################################ 43 | 44 | RUN apt-get install -qq libjpeg62 libcairo2-dev 45 | 46 | RUN gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 47 | RUN gpg -a --export E084DAB9 | apt-key add - 48 | RUN echo 'deb http://cran.r-project.org/bin/linux/ubuntu wily/' > /etc/apt/sources.list.d/cran.list 49 | 50 | RUN apt-get install -qq r-base 51 | 52 | RUN echo 'update.packages(ask = FALSE, repos="http://cran.r-project.org")' | R --vanilla 53 | RUN echo 'install.packages(c("markdown"), repos="http://cran.r-project.org", dependencies=TRUE)' | R --vanilla 54 | RUN echo 'install.packages(c("knitr"), repos="http://cran.r-project.org", dependencies=TRUE)' | R --vanilla 55 | RUN echo 'install.packages(c("Cairo"), repos="http://cran.r-project.org", dependencies=TRUE)' | R --vanilla 56 | RUN echo 'install.packages(c("ggplot2"), repos="http://cran.r-project.org", dependencies=TRUE)' | R --vanilla 57 | RUN echo 'install.packages(c("scales"), repos="http://cran.r-project.org", dependencies=TRUE)' | R --vanilla 58 | 59 | 60 | ################################################################################ 61 | # Rust 62 | ################################################################################ 63 | 64 | ENV rust_version 1.5.0-x86_64-unknown-linux-gnu 65 | RUN wget -q https://static.rust-lang.org/dist/rust-${rust_version}.tar.gz 66 | RUN tar xzf rust-${rust_version}.tar.gz 67 | RUN rust-${rust_version}/install.sh --without=rust-docs 68 | RUN rm -fr rust-${rust_version}.tar.gz rust-${rust_version} 69 | 70 | RUN cargo install --git https://github.com/rust-lang-nursery/rustfmt --root /usr 71 | -------------------------------------------------------------------------------- /dat/http.2.tsv: -------------------------------------------------------------------------------- 1 | ctime dtime ttime wait 2 | 140 144 284 143 3 | 142 147 289 146 4 | 143 144 287 144 5 | 143 145 288 145 6 | 142 144 287 144 7 | 142 145 287 144 8 | 143 146 289 146 9 | 142 145 287 145 10 | 142 146 288 145 11 | 143 145 288 144 12 | 143 146 289 146 13 | 142 143 286 143 14 | 143 144 287 144 15 | 143 148 291 148 16 | 142 649 791 648 17 | 143 144 286 143 18 | 464 477 940 476 19 | 142 146 288 146 20 | 143 148 291 148 21 | 147 144 291 144 22 | 172 144 315 143 23 | 142 144 287 144 24 | 142 146 288 145 25 | 147 144 292 144 26 | 142 144 287 144 27 | 143 144 287 144 28 | 143 144 287 144 29 | 144 144 288 144 30 | 142 146 288 144 31 | 143 146 289 145 32 | 158 144 302 144 33 | 142 144 286 144 34 | 142 144 287 144 35 | 142 145 287 144 36 | 143 145 287 145 37 | 142 144 286 144 38 | 143 144 286 143 39 | 143 144 287 144 40 | 142 148 291 148 41 | 143 144 287 144 42 | 143 144 287 144 43 | 143 145 288 144 44 | 142 145 287 144 45 | 143 145 288 145 46 | 143 146 289 146 47 | 141 144 285 144 48 | 143 144 287 144 49 | 143 145 288 144 50 | 143 144 287 143 51 | 143 144 287 144 52 | 143 144 287 144 53 | 143 145 287 144 54 | 142 144 287 144 55 | 142 145 287 144 56 | 142 147 289 147 57 | 142 144 286 144 58 | 143 145 287 144 59 | 143 145 288 144 60 | 675 467 1143 467 61 | 142 143 286 143 62 | 143 612 755 612 63 | 444 186 630 186 64 | 446 462 908 462 65 | 462 464 925 463 66 | 450 471 921 471 67 | 457 471 928 471 68 | 465 484 949 484 69 | 461 465 926 465 70 | 472 464 937 464 71 | 438 461 899 461 72 | 456 469 925 469 73 | 462 460 923 460 74 | 463 494 957 494 75 | 458 469 927 469 76 | 453 462 915 461 77 | 461 468 929 468 78 | 468 465 933 465 79 | 462 465 926 464 80 | 470 469 939 469 81 | 502 506 1008 506 82 | 458 469 927 469 83 | 457 478 935 477 84 | 461 473 934 472 85 | 471 464 934 463 86 | 477 476 953 476 87 | 452 461 913 461 88 | 450 457 907 456 89 | 460 453 913 453 90 | 468 447 915 447 91 | 456 463 920 463 92 | 462 448 910 448 93 | 454 448 902 447 94 | 478 450 928 450 95 | 454 447 901 446 96 | 453 477 930 476 97 | 455 445 900 445 98 | 453 477 930 477 99 | 458 447 904 446 100 | 454 445 899 445 101 | 464 460 923 459 102 | 456 474 931 474 103 | 455 451 906 451 104 | 454 484 938 484 105 | 462 450 912 449 106 | 476 479 955 478 107 | 456 457 913 457 108 | 457 465 922 464 109 | 456 456 912 456 110 | 459 464 923 464 111 | 456 456 912 455 112 | 459 469 929 469 113 | 449 455 905 455 114 | 457 470 927 470 115 | 448 455 902 455 116 | 455 469 924 469 117 | 459 473 933 473 118 | 455 479 934 479 119 | 452 473 925 473 120 | 470 474 944 474 121 | 468 460 928 459 122 | 467 468 935 468 123 | 476 481 956 480 124 | 460 465 924 464 125 | 455 477 932 477 126 | 143 620 763 619 127 | 459 464 923 463 128 | 458 453 911 453 129 | 449 465 914 464 130 | 461 459 920 459 131 | 448 466 914 465 132 | 469 464 934 464 133 | 465 463 929 463 134 | 462 468 930 468 135 | 471 467 937 467 136 | 461 470 931 470 137 | 457 478 935 477 138 | 459 482 941 481 139 | 461 473 935 473 140 | 461 475 935 474 141 | 465 482 947 482 142 | 462 479 940 478 143 | 465 476 941 476 144 | 485 505 990 505 145 | 464 475 939 474 146 | 478 465 944 465 147 | 470 476 946 475 148 | 475 462 936 461 149 | 449 471 920 471 150 | 472 465 938 464 151 | 464 455 919 454 152 | 452 466 919 466 153 | 464 455 919 455 154 | 450 465 915 465 155 | 464 455 919 455 156 | 448 464 912 464 157 | 464 454 918 453 158 | 450 464 913 463 159 | 464 453 917 453 160 | 475 464 939 463 161 | 465 470 936 470 162 | 463 459 923 459 163 | 464 473 938 473 164 | 463 489 952 489 165 | 448 454 902 454 166 | 465 457 923 457 167 | 444 457 901 456 168 | 468 454 923 454 169 | 450 461 911 461 170 | 463 445 908 445 171 | 467 457 924 456 172 | 470 441 911 441 173 | 468 455 922 454 174 | 446 462 909 462 175 | 462 457 919 457 176 | 459 456 915 456 177 | 443 455 897 454 178 | 445 473 918 472 179 | 462 457 919 457 180 | 467 460 927 460 181 | 458 465 923 465 182 | 465 463 928 462 183 | 460 455 915 455 184 | 461 462 923 461 185 | 460 461 921 460 186 | 464 464 928 464 187 | 455 458 913 458 188 | 464 472 937 472 189 | 471 459 930 458 190 | 461 455 916 455 191 | 461 467 928 467 192 | 457 316 774 316 193 | 465 458 923 458 194 | 451 469 920 469 195 | 455 401 856 400 196 | 470 462 933 462 197 | 475 468 943 468 198 | 457 383 841 383 199 | 505 455 959 455 200 | 470 477 947 477 201 | 472 470 942 470 202 | 473 463 936 463 203 | 474 471 945 471 204 | 480 471 951 470 205 | 463 469 932 469 206 | 448 465 913 465 207 | 457 477 933 476 208 | 450 458 909 458 209 | 446 471 916 471 210 | 455 458 913 458 211 | 445 471 916 471 212 | 455 453 908 453 213 | 446 462 908 461 214 | 455 457 912 457 215 | 445 463 908 463 216 | 447 448 895 448 217 | 461 481 942 481 218 | 458 459 917 458 219 | 462 455 917 455 220 | 441 460 900 459 221 | 461 455 916 454 222 | 442 459 901 459 223 | 463 449 912 448 224 | 464 458 922 457 225 | 465 441 906 440 226 | 458 461 919 460 227 | 465 447 912 447 228 | 457 461 919 461 229 | 143 631 774 631 230 | 470 145 615 144 231 | 561 443 1004 443 232 | 142 616 759 616 233 | 446 460 906 460 234 | 457 459 916 459 235 | 443 459 902 459 236 | 459 461 919 461 237 | 448 465 912 464 238 | 456 459 915 459 239 | 462 456 918 455 240 | 456 465 921 465 241 | 451 455 906 454 242 | 464 487 952 487 243 | 502 522 1025 522 244 | 456 472 928 472 245 | 452 464 916 464 246 | 451 464 915 464 247 | 453 457 910 457 248 | 185 143 329 143 249 | 143 149 292 148 250 | 708 451 1159 450 251 | 458 460 918 460 252 | 457 448 905 448 253 | 456 462 918 461 254 | 453 358 811 358 255 | 142 144 286 144 256 | 143 700 843 700 257 | 446 465 912 465 258 | -------------------------------------------------------------------------------- /dat/http.4.tsv: -------------------------------------------------------------------------------- 1 | ctime dtime ttime wait 2 | 445 450 895 450 3 | 436 462 898 462 4 | 461 453 914 453 5 | 436 463 899 462 6 | 462 459 921 459 7 | 435 464 900 464 8 | 460 447 907 447 9 | 437 463 901 463 10 | 460 452 912 451 11 | 436 463 898 462 12 | 462 448 910 448 13 | 438 464 902 464 14 | 461 465 926 464 15 | 443 477 920 477 16 | 458 484 942 484 17 | 477 522 999 522 18 | 465 442 906 441 19 | 471 443 913 442 20 | 460 444 904 443 21 | 461 441 903 441 22 | 468 438 906 438 23 | 446 462 909 462 24 | 460 445 905 445 25 | 468 440 908 440 26 | 460 442 902 442 27 | 460 463 923 463 28 | 463 440 903 440 29 | 451 464 914 463 30 | 461 442 903 442 31 | 449 462 911 462 32 | 450 463 913 462 33 | 462 442 904 441 34 | 460 441 900 440 35 | 454 461 915 461 36 | 460 463 923 463 37 | 447 440 887 440 38 | 459 465 924 465 39 | 448 439 887 438 40 | 460 464 923 464 41 | 445 437 882 437 42 | 459 462 921 462 43 | 446 438 884 438 44 | 458 464 922 464 45 | 449 438 887 438 46 | 463 468 931 467 47 | 470 456 926 456 48 | 460 474 934 474 49 | 449 483 933 483 50 | 460 464 925 464 51 | 444 470 914 470 52 | 435 463 898 463 53 | 441 472 913 471 54 | 435 461 896 460 55 | 444 473 917 472 56 | 433 461 894 461 57 | 440 469 909 469 58 | 434 463 898 463 59 | 440 475 915 475 60 | 470 471 940 470 61 | 462 450 912 450 62 | 449 473 922 473 63 | 460 452 911 451 64 | 450 451 901 450 65 | 460 465 925 464 66 | 460 465 925 465 67 | 468 469 937 469 68 | 467 437 904 436 69 | 465 448 913 448 70 | 463 439 902 438 71 | 459 446 904 445 72 | 467 440 908 440 73 | 467 144 611 144 74 | 143 144 287 143 75 | 143 591 735 591 76 | 448 462 910 462 77 | 456 460 916 459 78 | 443 460 903 459 79 | 455 460 915 460 80 | 143 144 287 144 81 | 143 145 288 145 82 | 597 454 1052 454 83 | 457 464 921 464 84 | 457 470 926 469 85 | 458 459 917 458 86 | 142 647 789 647 87 | 143 145 288 145 88 | 456 148 604 148 89 | 448 458 906 457 90 | 445 446 891 445 91 | 444 449 893 449 92 | 466 453 919 453 93 | 446 470 916 470 94 | 456 459 916 459 95 | 455 447 901 446 96 | 456 458 915 458 97 | 453 457 909 456 98 | 456 454 910 454 99 | 464 460 923 459 100 | 446 479 925 479 101 | 462 467 929 467 102 | 462 451 914 451 103 | 469 492 961 491 104 | 477 461 938 460 105 | 438 462 900 462 106 | 452 461 913 460 107 | 466 455 921 454 108 | 459 466 925 466 109 | 464 458 923 458 110 | 460 462 923 462 111 | 464 461 925 461 112 | 464 469 933 469 113 | 478 469 947 468 114 | 461 475 936 475 115 | 467 478 945 477 116 | 476 469 944 468 117 | 464 468 932 468 118 | 455 466 921 466 119 | 472 478 950 478 120 | 469 463 932 463 121 | 458 465 923 465 122 | 462 466 928 465 123 | 460 460 920 460 124 | 471 466 936 465 125 | 460 458 918 458 126 | 465 464 930 464 127 | 465 470 935 469 128 | 477 474 951 474 129 | 461 454 915 453 130 | 471 145 616 145 131 | 501 4096 4597 4095 132 | 458 457 915 457 133 | 451 466 917 466 134 | 466 460 926 460 135 | 455 466 921 465 136 | 467 468 935 467 137 | 453 466 919 465 138 | 462 529 991 528 139 | 460 453 914 453 140 | 459 464 923 464 141 | 455 454 910 454 142 | 460 463 923 463 143 | 455 454 910 454 144 | 459 463 923 463 145 | 460 452 912 451 146 | 462 472 934 472 147 | 454 452 906 452 148 | 389 470 859 470 149 | 445 463 907 462 150 | 461 464 925 464 151 | 452 462 914 462 152 | 461 469 930 469 153 | 457 439 895 438 154 | 453 475 929 475 155 | 454 438 892 438 156 | 454 471 925 471 157 | 454 440 894 440 158 | 452 473 925 473 159 | 459 473 932 473 160 | 465 475 940 474 161 | 437 476 913 475 162 | 466 457 924 457 163 | 462 474 935 473 164 | 466 498 964 498 165 | 473 462 935 462 166 | 458 461 919 461 167 | 451 467 918 467 168 | 457 479 936 479 169 | 463 454 917 454 170 | 467 469 936 468 171 | 475 475 950 475 172 | 462 471 933 470 173 | 478 469 947 469 174 | 466 453 919 453 175 | 452 455 907 455 176 | 457 456 913 456 177 | 463 466 929 466 178 | 154 144 298 144 179 | 165 144 309 144 180 | 189 144 333 144 181 | 142 158 301 158 182 | 143 166 308 165 183 | 200 172 372 172 184 | 144 179 323 179 185 | 153 171 324 171 186 | 167 175 341 174 187 | 176 171 346 170 188 | 188 204 393 204 189 | 206 202 407 201 190 | 215 230 444 229 191 | 245 240 485 240 192 | 259 278 537 277 193 | 268 274 542 274 194 | 274 298 572 297 195 | 329 350 678 349 196 | 416 473 888 472 197 | 451 446 897 446 198 | 445 453 898 453 199 | 464 468 932 467 200 | 443 459 902 459 201 | 462 469 931 469 202 | 476 471 948 471 203 | 461 494 956 494 204 | 485 461 947 461 205 | 492 477 970 477 206 | 458 450 908 450 207 | 511 471 982 471 208 | 454 454 908 454 209 | 462 452 914 452 210 | 471 452 923 452 211 | 460 463 923 463 212 | 455 463 918 462 213 | 452 463 915 463 214 | 456 472 928 472 215 | 463 464 927 464 216 | 463 458 921 458 217 | 432 456 888 456 218 | 467 458 925 457 219 | 433 460 893 460 220 | 464 457 921 457 221 | 446 470 916 470 222 | 443 459 901 458 223 | 476 474 950 474 224 | 451 467 918 467 225 | 452 452 904 452 226 | 456 442 898 442 227 | 476 452 929 452 228 | 454 454 907 453 229 | 470 461 931 460 230 | 479 459 937 458 231 | 496 491 987 491 232 | 500 477 977 477 233 | 450 478 927 477 234 | 469 462 930 461 235 | 475 453 928 452 236 | 438 452 890 451 237 | 458 473 931 472 238 | 440 449 889 448 239 | 462 475 937 475 240 | 436 475 911 475 241 | 456 448 904 448 242 | 467 450 917 449 243 | 454 446 901 446 244 | 468 450 919 450 245 | 458 449 908 449 246 | 468 457 925 456 247 | 458 448 906 448 248 | 447 467 914 466 249 | 465 445 910 445 250 | 443 468 911 468 251 | 473 474 947 474 252 | 459 462 921 462 253 | 454 470 925 470 254 | 460 463 924 463 255 | 448 453 900 452 256 | 458 458 916 458 257 | 462 492 954 491 258 | -------------------------------------------------------------------------------- /dat/http.1.tsv: -------------------------------------------------------------------------------- 1 | ctime dtime ttime wait 2 | 139 145 284 145 3 | 143 143 286 143 4 | 579 498 1077 498 5 | 465 469 934 468 6 | 455 455 910 455 7 | 457 461 918 460 8 | 462 471 932 470 9 | 455 461 916 461 10 | 456 446 902 446 11 | 457 460 917 460 12 | 455 466 922 466 13 | 470 461 932 461 14 | 457 462 919 461 15 | 443 463 906 463 16 | 457 463 919 462 17 | 447 464 911 464 18 | 457 460 917 460 19 | 444 465 909 465 20 | 463 463 927 463 21 | 458 463 921 463 22 | 455 469 924 468 23 | 461 463 924 463 24 | 454 220 675 220 25 | 143 143 286 143 26 | 143 144 287 144 27 | 573 450 1023 450 28 | 462 461 923 460 29 | 458 447 906 447 30 | 455 462 917 462 31 | 142 145 286 144 32 | 142 146 288 145 33 | 596 450 1046 450 34 | 456 462 918 462 35 | 456 447 903 447 36 | 456 459 915 459 37 | 457 355 811 354 38 | 142 147 289 147 39 | 142 691 833 690 40 | 450 462 913 462 41 | 457 460 917 460 42 | 445 461 906 461 43 | 455 460 916 460 44 | 143 146 289 146 45 | 349 144 493 144 46 | 695 453 1148 453 47 | 458 460 918 460 48 | 454 450 904 450 49 | 455 454 908 453 50 | 455 461 916 460 51 | 453 468 921 468 52 | 453 449 902 449 53 | 457 462 919 462 54 | 456 451 908 451 55 | 456 463 919 463 56 | 457 457 914 457 57 | 452 463 914 462 58 | 457 461 918 461 59 | 447 462 908 461 60 | 434 468 902 468 61 | 484 463 947 463 62 | 450 471 921 471 63 | 448 464 912 463 64 | 455 460 915 459 65 | 448 465 913 465 66 | 458 465 923 465 67 | 458 452 910 452 68 | 460 463 923 463 69 | 457 451 908 451 70 | 461 467 928 467 71 | 460 451 911 451 72 | 459 444 903 444 73 | 453 453 906 453 74 | 456 438 894 437 75 | 458 452 910 452 76 | 460 439 899 439 77 | 459 451 909 450 78 | 459 441 900 441 79 | 457 453 910 452 80 | 459 439 898 439 81 | 461 452 912 451 82 | 459 439 898 439 83 | 458 456 914 455 84 | 459 444 903 444 85 | 479 488 967 488 86 | 450 454 904 453 87 | 462 453 915 452 88 | 447 455 902 455 89 | 458 452 910 451 90 | 449 456 904 456 91 | 461 456 917 455 92 | 471 469 939 468 93 | 457 457 914 456 94 | 457 466 924 466 95 | 437 453 890 453 96 | 464 467 930 466 97 | 435 454 889 454 98 | 459 468 926 468 99 | 442 455 896 454 100 | 457 465 922 464 101 | 442 475 917 475 102 | 438 466 904 466 103 | 440 453 893 453 104 | 460 470 930 470 105 | 439 458 897 458 106 | 438 452 890 452 107 | 460 466 927 466 108 | 464 468 932 468 109 | 439 452 891 452 110 | 462 467 929 467 111 | 438 454 893 454 112 | 461 469 930 469 113 | 462 454 916 454 114 | 473 482 955 482 115 | 457 465 922 465 116 | 448 466 914 466 117 | 464 441 905 441 118 | 461 439 900 439 119 | 472 441 913 440 120 | 449 463 912 462 121 | 461 444 905 444 122 | 476 440 916 440 123 | 468 466 934 466 124 | 448 442 890 442 125 | 455 463 918 463 126 | 451 439 891 439 127 | 459 466 925 465 128 | 447 437 885 437 129 | 448 439 887 439 130 | 459 463 922 462 131 | 457 465 922 465 132 | 448 437 884 436 133 | 458 462 920 462 134 | 449 445 894 445 135 | 457 465 921 464 136 | 470 315 785 315 137 | 142 145 287 144 138 | 143 701 844 701 139 | 447 459 906 459 140 | 456 464 920 464 141 | 445 461 906 461 142 | 446 460 905 460 143 | 456 461 917 461 144 | 457 463 920 463 145 | 443 459 902 459 146 | 448 494 942 494 147 | 537 527 1064 527 148 | 556 585 1141 584 149 | 536 530 1066 530 150 | 527 543 1070 543 151 | 544 519 1063 519 152 | 273 146 419 146 153 | 473 468 941 468 154 | 144 582 726 582 155 | 153 148 301 148 156 | 482 490 972 489 157 | 488 471 959 471 158 | 466 462 928 461 159 | 457 462 920 462 160 | 142 144 287 144 161 | 303 143 446 143 162 | 698 451 1150 451 163 | 465 470 935 470 164 | 465 489 954 489 165 | 500 464 964 464 166 | 457 449 906 448 167 | 455 464 919 464 168 | 457 449 907 449 169 | 456 461 918 461 170 | 458 449 907 448 171 | 456 465 922 465 172 | 454 462 916 462 173 | 446 465 911 464 174 | 435 461 895 461 175 | 450 466 916 466 176 | 467 461 929 461 177 | 477 509 986 508 178 | 469 481 950 480 179 | 477 477 954 477 180 | 457 438 895 438 181 | 459 454 913 454 182 | 458 444 902 443 183 | 469 482 950 481 184 | 464 468 932 467 185 | 478 503 982 501 186 | 463 479 942 479 187 | 469 536 1005 535 188 | 488 563 1051 563 189 | 514 471 985 470 190 | 520 493 1013 493 191 | 473 457 929 456 192 | 451 457 908 457 193 | 476 452 927 451 194 | 449 453 902 453 195 | 488 491 979 490 196 | 488 476 964 476 197 | 435 471 906 471 198 | 455 480 935 480 199 | 448 455 903 455 200 | 460 455 915 454 201 | 492 467 959 467 202 | 453 465 918 464 203 | 458 467 926 467 204 | 451 441 891 441 205 | 457 464 922 464 206 | 448 443 891 443 207 | 459 459 918 458 208 | 458 442 900 442 209 | 459 469 927 468 210 | 462 484 946 484 211 | 461 302 762 301 212 | 144 679 824 679 213 | 446 463 909 463 214 | 457 459 917 459 215 | 444 462 906 462 216 | 460 466 926 465 217 | 468 463 931 462 218 | 461 465 926 464 219 | 449 463 912 462 220 | 460 478 939 478 221 | 442 462 904 462 222 | 486 488 973 487 223 | 492 472 963 471 224 | 465 465 930 465 225 | 465 468 933 467 226 | 464 467 931 467 227 | 459 449 907 448 228 | 457 464 922 464 229 | 449 446 895 446 230 | 464 463 927 463 231 | 448 473 921 473 232 | 458 472 929 471 233 | 449 456 904 455 234 | 467 468 935 468 235 | 464 470 934 469 236 | 463 465 928 465 237 | 464 465 929 465 238 | 470 468 938 468 239 | 458 454 912 453 240 | 445 465 910 464 241 | 457 445 901 444 242 | 453 465 919 465 243 | 466 442 908 442 244 | 452 465 917 465 245 | 454 464 918 463 246 | 456 442 899 442 247 | 486 480 966 480 248 | 448 457 905 457 249 | 465 446 911 445 250 | 453 457 911 457 251 | 461 447 908 447 252 | 449 455 904 455 253 | 463 446 909 446 254 | 448 475 923 475 255 | 466 502 968 500 256 | 469 465 934 465 257 | 472 475 946 474 258 | -------------------------------------------------------------------------------- /dat/http.3.tsv: -------------------------------------------------------------------------------- 1 | ctime dtime ttime wait 2 | 459 461 920 461 3 | 453 461 914 461 4 | 478 472 950 471 5 | 470 464 934 464 6 | 461 446 906 445 7 | 466 464 931 464 8 | 450 467 917 467 9 | 456 466 922 465 10 | 460 473 933 473 11 | 451 465 916 465 12 | 457 472 929 472 13 | 454 462 916 462 14 | 460 469 929 469 15 | 471 480 951 479 16 | 462 446 908 446 17 | 471 471 943 471 18 | 462 458 919 457 19 | 465 462 927 462 20 | 465 456 922 456 21 | 443 465 908 464 22 | 460 466 926 465 23 | 452 462 914 462 24 | 466 458 924 457 25 | 445 465 910 465 26 | 462 459 921 459 27 | 481 462 943 461 28 | 461 460 921 460 29 | 466 469 935 469 30 | 442 459 902 459 31 | 468 477 945 476 32 | 475 474 949 474 33 | 469 476 945 476 34 | 465 467 932 466 35 | 459 502 961 502 36 | 467 487 954 486 37 | 476 464 940 464 38 | 542 591 1133 589 39 | 504 518 1022 517 40 | 468 465 933 465 41 | 465 463 927 463 42 | 467 476 943 476 43 | 465 480 945 480 44 | 457 465 921 464 45 | 466 458 925 458 46 | 439 466 905 466 47 | 475 459 934 458 48 | 481 482 962 481 49 | 461 465 925 464 50 | 473 383 856 383 51 | 516 469 985 469 52 | 463 474 937 473 53 | 459 462 921 461 54 | 473 472 944 471 55 | 474 464 938 464 56 | 463 466 929 466 57 | 461 478 939 478 58 | 470 466 936 466 59 | 476 464 940 464 60 | 458 477 935 477 61 | 450 479 930 479 62 | 458 458 917 458 63 | 461 473 934 472 64 | 465 473 938 473 65 | 463 469 932 469 66 | 470 448 918 447 67 | 459 446 905 446 68 | 472 451 923 450 69 | 461 465 926 465 70 | 477 447 925 447 71 | 467 462 928 461 72 | 522 569 1090 568 73 | 588 580 1168 580 74 | 544 545 1089 545 75 | 579 527 1106 527 76 | 594 505 1099 505 77 | 494 498 991 498 78 | 488 490 978 489 79 | 465 454 920 454 80 | 458 473 930 472 81 | 451 480 931 479 82 | 492 491 983 491 83 | 464 491 955 491 84 | 477 474 950 473 85 | 459 457 916 457 86 | 481 472 953 472 87 | 475 479 954 479 88 | 480 476 956 476 89 | 483 531 1014 531 90 | 482 502 985 502 91 | 478 541 1020 541 92 | 534 584 1118 584 93 | 578 573 1151 572 94 | 555 556 1111 555 95 | 579 576 1154 576 96 | 580 526 1106 525 97 | 550 508 1057 507 98 | 511 550 1061 550 99 | 483 500 983 500 100 | 485 488 972 487 101 | 508 479 987 479 102 | 466 463 929 462 103 | 459 459 918 458 104 | 486 482 968 481 105 | 440 458 898 457 106 | 472 460 932 459 107 | 453 470 923 470 108 | 460 472 931 471 109 | 447 465 912 464 110 | 450 469 919 469 111 | 470 457 927 457 112 | 449 461 910 461 113 | 451 471 923 471 114 | 466 456 922 455 115 | 452 488 940 487 116 | 525 495 1020 495 117 | 523 497 1021 497 118 | 475 455 930 454 119 | 469 458 927 458 120 | 452 463 915 463 121 | 457 473 929 472 122 | 452 465 917 465 123 | 457 464 921 463 124 | 455 456 911 454 125 | 466 451 916 450 126 | 505 470 975 469 127 | 469 459 928 458 128 | 458 464 922 464 129 | 454 440 894 440 130 | 460 471 931 471 131 | 443 443 886 443 132 | 448 448 896 448 133 | 468 453 921 453 134 | 449 437 886 437 135 | 452 452 904 451 136 | 451 462 913 461 137 | 471 443 914 443 138 | 466 473 939 473 139 | 450 466 915 466 140 | 441 474 915 473 141 | 442 433 875 432 142 | 449 472 921 472 143 | 463 443 906 442 144 | 466 469 935 469 145 | 464 473 937 473 146 | 453 465 919 465 147 | 459 459 918 459 148 | 463 459 922 459 149 | 453 457 910 457 150 | 462 462 924 462 151 | 471 447 917 446 152 | 458 483 941 483 153 | 461 475 937 475 154 | 462 432 894 432 155 | 446 459 905 459 156 | 446 460 906 460 157 | 452 459 911 459 158 | 457 459 916 459 159 | 452 460 912 460 160 | 446 471 917 471 161 | 445 470 915 470 162 | 447 467 914 467 163 | 467 471 938 470 164 | 435 464 900 464 165 | 463 459 922 459 166 | 459 462 921 462 167 | 470 478 948 478 168 | 444 468 912 468 169 | 454 463 916 463 170 | 459 464 923 464 171 | 448 462 910 462 172 | 446 461 908 461 173 | 451 461 911 460 174 | 457 454 910 453 175 | 450 457 907 456 176 | 446 451 897 451 177 | 455 457 912 457 178 | 455 450 905 449 179 | 461 479 940 479 180 | 457 466 923 466 181 | 447 453 900 452 182 | 434 460 894 460 183 | 461 456 917 456 184 | 490 483 973 483 185 | 448 456 904 456 186 | 461 466 927 466 187 | 459 470 930 470 188 | 449 463 912 463 189 | 467 464 931 464 190 | 461 472 933 471 191 | 460 459 919 459 192 | 448 468 917 468 193 | 450 468 918 468 194 | 460 478 939 478 195 | 462 463 925 463 196 | 456 477 932 476 197 | 467 470 937 469 198 | 457 466 922 466 199 | 460 468 928 468 200 | 464 471 935 471 201 | 440 450 891 450 202 | 460 476 936 476 203 | 464 465 930 465 204 | 465 464 929 464 205 | 469 474 942 473 206 | 569 539 1108 539 207 | 519 535 1054 534 208 | 484 482 966 481 209 | 535 483 1018 483 210 | 453 450 904 450 211 | 581 707 1288 707 212 | 749 577 1326 576 213 | 498 488 986 487 214 | 496 500 995 499 215 | 489 508 996 507 216 | 503 488 991 487 217 | 465 488 953 488 218 | 504 510 1013 509 219 | 499 507 1006 507 220 | 473 500 973 500 221 | 501 504 1005 504 222 | 488 503 991 503 223 | 507 512 1019 512 224 | 510 525 1035 523 225 | 519 503 1023 503 226 | 496 498 994 498 227 | 500 511 1010 510 228 | 515 524 1039 523 229 | 516 523 1039 523 230 | 500 500 1001 500 231 | 494 496 990 496 232 | 522 512 1033 512 233 | 512 502 1013 501 234 | 520 492 1012 492 235 | 501 498 999 497 236 | 492 496 989 496 237 | 490 518 1008 518 238 | 510 511 1021 511 239 | 507 518 1025 518 240 | 507 499 1006 498 241 | 483 485 968 484 242 | 493 506 999 506 243 | 512 500 1012 500 244 | 515 519 1034 519 245 | 519 554 1073 553 246 | 504 509 1013 506 247 | 517 506 1023 506 248 | 515 551 1067 551 249 | 534 517 1051 516 250 | 462 512 974 512 251 | 537 616 1153 616 252 | 647 666 1312 665 253 | 732 554 1286 553 254 | 474 470 944 470 255 | 450 467 917 467 256 | 466 508 974 507 257 | 450 471 922 471 258 | -------------------------------------------------------------------------------- /dat/normal_1_1.3.tsv: -------------------------------------------------------------------------------- 1 | 2.028596461424229 2 | 2.003505902474155 3 | 0.6635798734147828 4 | 2.8085128335514096 5 | 0.4512994267940539 6 | 0.6025825685932957 7 | 1.3897600353823378 8 | -0.10953593553402996 9 | -0.03868764079082965 10 | 0.7112746656801672 11 | 2.565116827913262 12 | 0.9350572235195186 13 | 0.36873399160245834 14 | 0.3393444378267514 15 | 0.5026594006880465 16 | 0.7774245797275712 17 | 1.1902256864303582 18 | 0.9084543439266317 19 | -0.7488204686119861 20 | 1.372118410236891 21 | 0.8382173690678564 22 | 1.2717840768331712 23 | 0.9225325051596643 24 | 0.24544886150638878 25 | 2.1649996770327404 26 | 1.281430593074663 27 | 1.375492366411304 28 | 0.7136110222850742 29 | -1.6137986065436598 30 | 1.7876937284825676 31 | 0.22646584132492964 32 | 1.122177814233384 33 | -0.22227923565996988 34 | 0.4682483061778202 35 | 0.1301322297801617 36 | 1.6270035429336553 37 | 2.7711698524995936 38 | 2.190627693855567 39 | 2.3862274810751885 40 | 1.621220843994955 41 | 1.065176154054001 42 | 2.737924134366465 43 | 0.3704701625343919 44 | 0.6948443257307642 45 | 1.3954465784065075 46 | 2.4978230575592786 47 | 0.33273361256160794 48 | 1.090026767168095 49 | 1.4430317707286584 50 | -0.16487918293661075 51 | 0.3478262535820714 52 | 1.2953962866736568 53 | 1.6651470331339717 54 | 0.02892657996653747 55 | 0.57154591859498 56 | 2.482997413838924 57 | 0.8031059355418276 58 | 2.167283395588683 59 | 1.6909831709357461 60 | 0.8765648389585415 61 | 0.3216391520713744 62 | 0.1994097746725636 63 | 0.7143688168674084 64 | 2.329642198658536 65 | 0.6665821713030473 66 | 0.41722484081615707 67 | 0.676973676986263 68 | -0.11098627965340446 69 | 1.4976156215884384 70 | 3.0755682738422614 71 | 1.1881218720510858 72 | 1.5882418374302476 73 | 2.2276256743725793 74 | 1.6113198207710813 75 | 0.1565259112409464 76 | 1.6289986818296502 77 | 2.954199767460298 78 | 0.043204560612791765 79 | 2.8437901265092442 80 | 0.05483519511502721 81 | -0.4379824099822416 82 | 1.7511246595016878 83 | 1.4856321982223677 84 | 0.6726803583228851 85 | 0.8483310813309873 86 | 1.9839132283645782 87 | 1.8495686351278153 88 | 0.27573111765704417 89 | -0.458083693415948 90 | 0.08191399091635121 91 | 0.960740380083927 92 | 0.5405814634304056 93 | 1.2956941398725794 94 | 0.9603055802242236 95 | -0.3015231574108892 96 | 0.31769431145986937 97 | -0.13709222018670153 98 | -0.12180502377540892 99 | 1.0913280353065749 100 | 1.0513734182017938 101 | 1.816538928274207 102 | -0.7491196963241928 103 | 0.25089269310126994 104 | 0.5654655282724756 105 | 1.3222631438036208 106 | 0.651426372553727 107 | 0.7785563733316778 108 | 1.313620791735249 109 | 1.6554516634934162 110 | 0.285178066847783 111 | 0.26802134543864364 112 | -0.6071617444741386 113 | 1.309912370495518 114 | 0.30160586261790234 115 | 0.00044048179836131407 116 | 0.3903238336478989 117 | 0.26779212681911335 118 | 1.0163765745988842 119 | -0.8766284709482426 120 | 3.064790569928375 121 | -0.6577484010608263 122 | 1.2085592000341747 123 | 0.46943234658193067 124 | 0.8754694901437952 125 | 1.892832375023014 126 | 1.0328040785966768 127 | 1.0973414345106896 128 | 1.835242947386928 129 | 2.257422217655471 130 | 1.7629385665741166 131 | 0.8261226502558174 132 | 1.7012054374365082 133 | 0.4033351447158623 134 | 2.006593656542333 135 | 0.7557399307182978 136 | 0.48240752478998594 137 | 1.0339479648120735 138 | 1.405223316024098 139 | 0.15218988636078312 140 | 0.4581513252475309 141 | 2.816021414603245 142 | 0.4909342723722805 143 | 0.12904718554483774 144 | 1.0538678764222562 145 | 1.6031324151218524 146 | -0.41108497218795836 147 | 2.514588470985609 148 | -0.3805321392788954 149 | -1.1160772790550646 150 | 0.6242087693003393 151 | 1.8830152537131255 152 | -0.5494588710496946 153 | 2.4521376055312576 154 | 0.6735175467043226 155 | 1.129411972410649 156 | 0.10673563770602712 157 | 1.087735148822433 158 | 0.01854372161645601 159 | 1.1170434700843095 160 | 1.1530802496624264 161 | 2.677581090800604 162 | 2.691972903866551 163 | 0.9817178486637133 164 | 0.5453798555838607 165 | -0.7488752649835682 166 | 0.16344412730377944 167 | 0.24364039274979465 168 | 1.9314535675106077 169 | 0.7969959769393635 170 | 0.9959096873091753 171 | 2.5363355429757637 172 | 0.7448072701001609 173 | -0.24345101276262726 174 | 0.8904197060281482 175 | 0.578800745298357 176 | 2.027865154042756 177 | 2.381883663240936 178 | 1.2954252320289612 179 | 0.9808139225370757 180 | 2.368270235950341 181 | 1.0254750006285225 182 | 1.6601769465924914 183 | 0.7755794240257246 184 | 0.1806856242073117 185 | 0.6300379536599982 186 | 1.9799431513045778 187 | 2.2586676459453705 188 | 0.9006829248220041 189 | 2.2972646272848998 190 | 2.0014832947413286 191 | 1.8777274866384515 192 | 0.177210266175864 193 | 1.06676829900017 194 | 0.06321609942240602 195 | 0.9673919755167341 196 | 0.4302488080358611 197 | 0.7381579702800871 198 | 1.3851620463384209 199 | 1.2666217372404156 200 | 0.2786135414946118 201 | 1.1389910932832825 202 | 0.9745634572290627 203 | 2.166606455094904 204 | 1.3891662027520715 205 | 1.105067805139517 206 | 1.231212685312582 207 | 2.418936794649124 208 | 1.8866186908348939 209 | 1.5064712403533742 210 | 0.9705884105351625 211 | 0.8511529918877188 212 | 0.9359507329658208 213 | -0.5916067483453475 214 | 2.180787116401289 215 | 1.4832391537491545 216 | 0.4965187814317469 217 | 0.25003367025756273 218 | 1.6630359579065037 219 | 0.7461592541807038 220 | 0.27729997462458456 221 | 1.7650879480534765 222 | 0.4383424862873171 223 | 0.8623251954784301 224 | 0.38748328523339703 225 | 0.6221274973522919 226 | 0.030717937640576398 227 | 1.0799822313077885 228 | 0.6431643637436015 229 | 2.7041253059640944 230 | 0.08030594149473269 231 | 0.861337632358136 232 | 0.6412242075922328 233 | -0.1927094105416005 234 | 2.2365953811412616 235 | 1.5900878688499254 236 | -0.4885448258221019 237 | 1.8590005838387502 238 | 0.2832891397562225 239 | 1.5245307404415178 240 | 1.755235198431107 241 | 1.2739844148911756 242 | 1.3640275751647373 243 | 0.2777081471113154 244 | -0.9221462559559346 245 | 1.4788246794042008 246 | 1.347061438999327 247 | 1.847778087462403 248 | -0.5230149795194878 249 | 1.7428845760012295 250 | 0.9331124874519428 251 | 1.259676011027634 252 | -0.16123092392676797 253 | -0.5633691202460145 254 | -0.6361751170209802 255 | 0.6178850100622657 256 | 0.9296707946995872 257 | -------------------------------------------------------------------------------- /dat/normal_1_1.4.tsv: -------------------------------------------------------------------------------- 1 | 1.5983963822196012 2 | 2.148677828150202 3 | 0.42338591996091723 4 | 1.191697164615915 5 | -0.4079526265081461 6 | 0.4273341144182704 7 | -0.6148115564157599 8 | 0.6082454850693568 9 | -0.26361010436102306 10 | 3.652836391856875 11 | 1.3305903749510875 12 | -0.3017462265261124 13 | 2.908031430588734 14 | -0.14951251935032328 15 | 1.9104203302326166 16 | 1.672173119024459 17 | 1.1460243368518572 18 | 1.8483474055146463 19 | 1.6750133410049486 20 | -0.5241819314735034 21 | -1.1299293334124112 22 | 1.7602725142940328 23 | 0.0035546959793353317 24 | -1.42152130353025 25 | -0.21009662507384386 26 | 1.6803973778606496 27 | 1.9536078377807617 28 | 0.22458658443676638 29 | 1.8293481540944174 30 | 1.8382692263782574 31 | 0.6951442532316398 32 | 2.354821220286368 33 | 1.1716756526372751 34 | -0.49868936077949644 35 | 0.5136662641817245 36 | 1.98165239625254 37 | 0.6007426090602954 38 | -0.04657802111613707 39 | 1.1208180943493007 40 | 0.9872898105513357 41 | 0.5510457469983944 42 | 2.1877207759240234 43 | 0.07256456715221227 44 | 1.86922647208246 45 | 0.9352957470643168 46 | 1.9382613127416999 47 | 0.9644178335593108 48 | -0.27358887616424665 49 | 1.6694119910003207 50 | 0.41626278430241337 51 | 2.004120149133951 52 | 1.4291637371323556 53 | -0.4770806538024417 54 | 1.803366550775206 55 | -0.15795339024629462 56 | 0.9915934345776607 57 | 0.6832436277041875 58 | 0.2923284676722414 59 | 0.7739965130595001 60 | 0.34835913304548805 61 | 1.6383162230710595 62 | 1.5259128071403891 63 | 0.14368854335968062 64 | 2.162001010336924 65 | -0.013076348456275255 66 | 3.1659625677154453 67 | 1.417504107390302 68 | 1.0238877932432657 69 | 1.3532829108883677 70 | 0.0572384285094264 71 | 2.341569319621732 72 | 0.8309991977886061 73 | 1.6900848197664171 74 | 0.6853440374192109 75 | 1.781194172851543 76 | 1.7231517799978184 77 | 1.6881687082065802 78 | 1.763525648367107 79 | 2.560236239329152 80 | 1.267318832897868 81 | 0.6077702930176953 82 | 0.3933939889110588 83 | 1.6398831470638116 84 | 0.6236137136790879 85 | 2.230207019597411 86 | 0.7631713159486928 87 | 0.8731306539600499 88 | -0.2839244487560937 89 | -0.25315717953732 90 | 1.375971106936908 91 | 0.036334275319287235 92 | 1.1888018191427072 93 | 0.6193122712659371 94 | 1.83880915537683 95 | -0.6390388600240275 96 | 0.12560602023734402 97 | 1.7569876692742672 98 | 0.10448901390398546 99 | 1.2776383473126904 100 | 1.0924870465340257 101 | 0.7053531927366699 102 | 1.2591450410610356 103 | 0.003018384931592233 104 | 1.2815341928114607 105 | 0.44138040934933653 106 | -0.25216417419446335 107 | 1.6232513713912464 108 | 1.8366693096597775 109 | 0.8994651455952476 110 | 1.2114350411779402 111 | 2.441651759269737 112 | 0.5529245042352342 113 | 0.9341519282336708 114 | 2.0093731841828326 115 | 1.9078154354488026 116 | 1.0460526624323863 117 | 1.654553893640587 118 | 0.25994468778572044 119 | 1.2271558674674299 120 | -0.09056689327299039 121 | -0.3083294056248058 122 | 2.1556390090132727 123 | 0.7491858529381383 124 | -0.16661784800637913 125 | 2.1539316323589044 126 | 0.8204252629864858 127 | 2.1898759342193337 128 | 0.8626208519990561 129 | 2.138933491762673 130 | 1.7597532800198106 131 | 0.35519642447733657 132 | 1.6726232835169514 133 | 0.20733771148178815 134 | 1.2264037562559265 135 | 2.114976613752728 136 | 2.2438543278193337 137 | 1.6015061131123451 138 | 1.5916210259618722 139 | 1.578748982301732 140 | 2.526262648286752 141 | 1.064163172796468 142 | 2.178317825480548 143 | 0.9362373770720392 144 | 1.287842868138499 145 | -0.5236580921105773 146 | 1.208142436836378 147 | 0.31729958395739044 148 | 0.5516081101419226 149 | 0.5106042065381671 150 | 0.005833545965021614 151 | 1.4017078169186243 152 | 0.7863517726886636 153 | 0.39325023373647183 154 | 0.21456338092112703 155 | 0.43053539187917567 156 | 3.3496582089447235 157 | 0.2241230027121437 158 | 2.188285778475837 159 | 0.8872921635820795 160 | 0.27578521435388126 161 | 0.8913782048281476 162 | -0.2663153859927796 163 | 0.2864006388877198 164 | 0.9528983783256382 165 | 1.3544546790082317 166 | 2.846917353200478 167 | 0.6212382804578773 168 | 0.2573686954314648 169 | 0.5744193873103767 170 | 0.6460343560513029 171 | 1.6110955684242427 172 | 0.3233361225272894 173 | -0.48837229078833366 174 | 1.2670001292119442 175 | 0.15599414928551947 176 | 1.2163764634742884 177 | 1.5224211287926024 178 | 1.8177146951602157 179 | 0.9994111014295108 180 | 2.8366235454834396 181 | 0.8229526348633592 182 | 2.0278569766592627 183 | -0.7277970317935942 184 | 2.886056363213358 185 | 2.149485386715005 186 | 1.182981021307261 187 | 1.9011821744360535 188 | 1.2150952879002428 189 | 2.3048638983236973 190 | 2.5574526080275497 191 | -0.31852604681416974 192 | 0.018321550036613732 193 | 2.414672884091912 194 | -0.5105449818832626 195 | 1.0106375992263903 196 | 1.415821641118908 197 | 2.827167634883076 198 | 1.3024771033133287 199 | 1.443619699655078 200 | 2.5702315487913596 201 | 0.6740308124155414 202 | 1.64315806051871 203 | 2.205609210188147 204 | 3.4071770304317415 205 | 1.9623571097616723 206 | -0.6070650604397996 207 | 1.0907376733426366 208 | 0.05194668251852441 209 | 0.8335596807214217 210 | 1.1157511692512696 211 | 0.3826504747089975 212 | 2.5342875918062404 213 | 1.3050163051411643 214 | -0.23619677740430167 215 | 1.5719497478152151 216 | 0.6516269002464792 217 | 1.8911233261782259 218 | 1.7518354134002232 219 | 2.1830524357648424 220 | 1.7043740223942105 221 | 0.6317647582279766 222 | 2.0800213346330576 223 | 1.1547622162096078 224 | -0.2919074481511572 225 | 0.029291981356230457 226 | 0.963807572591411 227 | 2.8268514234084168 228 | 2.0491475573137254 229 | 1.3289491435954408 230 | -0.10640407369511173 231 | 0.8201901464609784 232 | -0.34965899165988334 233 | 1.8593570682300804 234 | 2.446967339353172 235 | 1.5791606148647857 236 | 1.2189080432850432 237 | 3.124452454828856 238 | -0.10451677040841556 239 | -0.49497583580835247 240 | 1.9707047390965793 241 | 0.4287348949759152 242 | 3.973967759433805 243 | 0.3134345206178195 244 | 1.4695035801926002 245 | 1.408141873107846 246 | 2.439777003597395 247 | 1.9647130190634459 248 | 1.4726295586963927 249 | 1.678520806092831 250 | 1.055860606976244 251 | 2.311036562752591 252 | 2.1303632459200617 253 | 1.2015001187448973 254 | 0.41135782691917877 255 | 0.9601984775980026 256 | -0.031927954337727105 257 | -------------------------------------------------------------------------------- /dat/normal_1_1.1.tsv: -------------------------------------------------------------------------------- 1 | 1.7658298310843912 2 | 0.12024979120483059 3 | 0.6276272216299917 4 | 1.5783514237778382 5 | 1.4187271365777208 6 | 1.7835367866633907 7 | 0.8079944152999781 8 | 1.458223316442696 9 | 0.4883679249734797 10 | 1.7882545663288512 11 | 1.7514516531061441 12 | -0.7849624345006438 13 | 1.3005287338849516 14 | 2.787451687137258 15 | 2.360578879713165 16 | 0.644703769489612 17 | 1.6678983008975479 18 | 1.2715705476898105 19 | 1.305894211382925 20 | 0.2235303618265826 21 | 0.5654284902512521 22 | 0.0272553186140021 23 | 0.6258258891838466 24 | 1.5477129480868577 25 | 0.3603550252051636 26 | 0.3595586324771989 27 | 0.7732186522443903 28 | 0.5795833180220422 29 | -1.184066088813032 30 | 1.6339841757279918 31 | 0.9166881240909858 32 | -0.9022779146339479 33 | -1.0977129825661045 34 | 1.0956413218931984 35 | -0.03265617353696215 36 | -0.1920185537008241 37 | 1.3808836532272097 38 | -0.09970781948954155 39 | 0.18277847658970103 40 | -0.19395382956536333 41 | 1.2253522617639283 42 | -0.4400887674054461 43 | 1.3806159012221222 44 | 1.8206581111167839 45 | 0.9481282858259265 46 | 0.6716072939715654 47 | 1.804281778490718 48 | 0.028916306945019454 49 | 2.351851684729203 50 | 0.7095700095929334 51 | -0.10869553560940526 52 | 1.800367880399894 53 | 0.05777882748902208 54 | 1.0096770966062198 55 | 2.4353164515336814 56 | 1.4169817426181917 57 | 0.9054166072457771 58 | 0.0012278402223950824 59 | 1.742348813871041 60 | 2.4262716294341375 61 | -1.2206488028566587 62 | 2.777274783026354 63 | 1.9513090918529632 64 | -0.02528929880370767 65 | 1.166842656122017 66 | 1.9437873468139375 67 | 0.471969393757104 68 | 1.7807526016175164 69 | -0.01403361492636157 70 | -0.46176978520874856 71 | 0.7685643533108936 72 | 1.04729320992671 73 | 0.5060804846901829 74 | -0.1279878633968481 75 | 3.3263629198865354 76 | 0.9250566310122046 77 | 0.19191078442611575 78 | 1.4398809440187508 79 | 0.16759692198763287 80 | 1.5807570113998228 81 | 0.37087903941950484 82 | 1.8628890174557355 83 | 0.8575402688210796 84 | 0.4103693043776775 85 | 1.8914825089255185 86 | 0.8333980889521849 87 | -0.007414771400707121 88 | 0.03871348287943377 89 | 2.608115327149208 90 | -0.5103585312654955 91 | 1.5180405588173067 92 | 1.099808258380617 93 | 2.7035043802757586 94 | 1.071436611299593 95 | 1.837718444518424 96 | 1.6174678016612112 97 | -0.6181105051859768 98 | 0.9842143134533833 99 | 1.5986523732937579 100 | 1.6989126732617414 101 | 0.8242416524466235 102 | 1.2575087342760276 103 | 1.2127367320584257 104 | 3.264781675762674 105 | 0.05360434072690301 106 | 0.330524506906567 107 | 2.012012430182879 108 | 0.6059228828264944 109 | -0.3435151538811252 110 | 0.21720998118546075 111 | 2.194639441487999 112 | 2.202768335369971 113 | 0.9396576513924917 114 | -0.2145317605535626 115 | 0.8409071982534523 116 | -0.9452022306223535 117 | 0.6834012852391871 118 | 1.0599281168058707 119 | 1.1656482040498748 120 | 0.05433886160065482 121 | 1.1383097358239718 122 | 1.0641014806152655 123 | 2.3722265079359905 124 | -1.2238202166046297 125 | 1.5900712106173007 126 | 0.9854375440300059 127 | 0.7727523438242396 128 | 0.9841725348722102 129 | 2.728420545265861 130 | 0.06367090617531679 131 | 0.6257660598216896 132 | -0.1097922187568996 133 | -0.3769384507026805 134 | 0.7704136118240341 135 | -0.7157870147577914 136 | 0.9247106916478602 137 | 1.2602305267939327 138 | -0.2016900110375177 139 | 0.23698367398922893 140 | 2.5612527546095056 141 | -0.17485135350380765 142 | 0.8616917741503501 143 | 1.325996222977659 144 | 2.1829521280569564 145 | 1.5047902155119939 146 | -0.4282271965924873 147 | -1.1302025251806644 148 | 1.746264655931863 149 | 1.0066255447468984 150 | 2.249733615487203 151 | 3.6501408333143215 152 | 0.1944090757966831 153 | 0.3703806575161258 154 | 0.04909933898050722 155 | 0.8306889903333994 156 | 0.1353602778472921 157 | 2.4676605643429097 158 | 0.5792252506136746 159 | 2.048993805621052 160 | 3.0046885041913183 161 | 2.231349231825317 162 | 1.1793423211310972 163 | 1.2372772363642932 164 | 1.803924834304671 165 | 0.8104977947626624 166 | 2.8910713733034923 167 | 0.31683031898159675 168 | -0.42218671683773246 169 | -0.37651468603644744 170 | 2.7472272918889793 171 | -0.06190466911999537 172 | 0.15561690370516623 173 | 2.1043324877643563 174 | 0.30786064016030257 175 | 0.7224818197847552 176 | 0.14891309262265362 177 | 1.9323672919698702 178 | -1.3496050548181908 179 | 0.01393603405978694 180 | 1.5321057061302752 181 | 1.4903273432508466 182 | 1.5607007416052483 183 | 0.8191311647770609 184 | 1.35335969200474 185 | 1.1611740931080752 186 | -0.03590457965533478 187 | 0.5441358745120108 188 | 1.5686387082379731 189 | 1.702495383688264 190 | 1.0553157652766934 191 | 2.302785788808759 192 | 1.0120843104802877 193 | 0.12023003554346001 194 | 1.0370454290511848 195 | 0.17466849892309877 196 | 1.7518923877861354 197 | 0.930429603447516 198 | 2.9699511887567214 199 | -0.21691257477337733 200 | -0.2904773827203162 201 | 0.8127678387243751 202 | 2.936900500855662 203 | -0.8356578913354589 204 | 0.77904288120511 205 | 2.319304400192201 206 | 0.750300762772908 207 | 1.3497159993187284 208 | -0.4962186418848471 209 | 2.9280733025971415 210 | 0.3635897484184111 211 | 1.681397146613357 212 | 1.5491879658211383 213 | 1.3971971273351564 214 | 1.3827819736421756 215 | 2.014114005112983 216 | -0.6629331203091606 217 | 1.244527291495206 218 | 0.5914598344071216 219 | 4.2064034356181015 220 | 1.5199044422740908 221 | 1.033977203602353 222 | 0.6029994042028776 223 | 1.439035392859758 224 | 1.7903061335209967 225 | -0.06485422835498555 226 | -0.444225933851508 227 | 2.1473826452336073 228 | 0.7606013026831447 229 | -0.27798114493900616 230 | 0.15328902918502818 231 | 0.593458021070319 232 | 1.153767145741967 233 | 0.44466210827827657 234 | 0.5305313127280538 235 | 1.7884956565232613 236 | 0.38702512945562983 237 | 1.60016962466811 238 | 0.6207742358892111 239 | 0.3080981719943584 240 | 2.433525146711464 241 | 1.1335878796930574 242 | 0.2755884483918253 243 | 1.3137493614104814 244 | -0.35430291792282076 245 | 2.7961772234192193 246 | 0.0606444513344403 247 | -0.11241170095194719 248 | 0.11121588345908251 249 | 0.6143480380176451 250 | 0.2896212129540756 251 | 3.9737174766519514 252 | -0.09849770823364068 253 | 3.062900987200861 254 | 1.8956200005737647 255 | 0.5728066035801981 256 | 1.3488457977991375 257 | -------------------------------------------------------------------------------- /dat/normal_1_1.2.tsv: -------------------------------------------------------------------------------- 1 | 2.8346165634733937 2 | 1.7323778167513249 3 | -0.4854591921626903 4 | 2.5993200988436698 5 | 1.9319680197915066 6 | 1.8613402492245719 7 | 2.042210357121893 8 | 0.674700525102701 9 | 2.2329018525604676 10 | -0.02404472076600639 11 | 0.5412843948655539 12 | -1.1674335123249788 13 | -1.5765960802225716 14 | 1.4007159801854963 15 | 2.5816760669129515 16 | 0.5333071004938648 17 | 0.45754250143085284 18 | 2.2205965142734025 19 | 1.377608553436098 20 | 2.456865574544312 21 | 2.2661000223033576 22 | 1.3768469460211048 23 | 1.5542214812316781 24 | 1.0571553616349718 25 | 0.7360377551811499 26 | 2.4148779040853494 27 | 0.5856717905166395 28 | 1.927107352385813 29 | 2.844292797662569 30 | 1.2236990625359905 31 | 0.4637533997528045 32 | 1.7565663179119304 33 | 0.33687980331625755 34 | -0.47892566010279025 35 | -0.23006306663038867 36 | 0.09012440072492456 37 | 1.0655975181059336 38 | 0.33766146832472554 39 | 0.9403232151229374 40 | -0.22508547763845188 41 | 1.5305162550379985 42 | 1.8277272378036815 43 | 1.5695667739111214 44 | 0.7753900501754764 45 | 2.2357375919969 46 | -0.16256095350098598 47 | 2.5164446769465663 48 | 1.388301951953031 49 | 1.1002405698953963 50 | -1.0072159740155153 51 | 1.285619636635091 52 | 1.6659007011797384 53 | 1.777097347451691 54 | 1.0316491366221825 55 | 0.8759168574798964 56 | 0.9972391192651625 57 | 0.8075085058249006 58 | 0.9595485657059578 59 | 2.3737348603273665 60 | 0.9028308165476547 61 | 2.2523730982005765 62 | 1.0157392944852806 63 | 0.19347231133833953 64 | 1.2343981604306296 65 | 0.021019710085404264 66 | -0.11675453521851109 67 | 2.012969228586636 68 | 1.1101876296420858 69 | 0.4130160546458238 70 | 0.24054496187393937 71 | 2.599950972345569 72 | 1.9717636781303267 73 | 0.7600695012628746 74 | 1.81248263794282 75 | -0.24814275073688963 76 | 0.9349646554147731 77 | 1.3101813458224325 78 | 2.831290618947799 79 | 3.464398808599144 80 | 0.6261326181050193 81 | -0.20836887588469577 82 | -0.29355247822844177 83 | -0.8069655171864059 84 | 1.7553482515584102 85 | 0.4890550458458611 86 | 0.2889359102618796 87 | 1.3659356815147372 88 | -0.4370971620773565 89 | 1.3684061447449487 90 | 1.6442496690614015 91 | 2.5142387942724387 92 | -1.0587180290053686 93 | 0.6026114022907062 94 | -0.027858071570464826 95 | -0.6431039620743884 96 | 1.3514830943686353 97 | 2.8649071247693447 98 | -0.3489561113713455 99 | -0.14430287708834366 100 | 0.9681996415065895 101 | 0.8498871209292531 102 | 2.3071922923149515 103 | 3.376579300177569 104 | 1.0228275663161552 105 | 1.3151790311090847 106 | 1.0585663451799598 107 | 1.8752034115796041 108 | 2.9710261517543586 109 | 1.8637005943434328 110 | 2.7587131661845596 111 | -0.28151058121483175 112 | -1.190320982748871 113 | 1.4185390385765457 114 | -0.28846847380406104 115 | 0.9858438709996802 116 | 1.6418917307439505 117 | 1.3675279808012746 118 | 2.6111969585059436 119 | 1.5661109401826576 120 | 0.4650407592995306 121 | 0.039874371703899514 122 | 0.8267082920255155 123 | 1.1532108332786553 124 | 0.8760557462301479 125 | -1.3591675163549342 126 | 1.3797698297404999 127 | 0.039323780513262685 128 | 1.619909778184339 129 | 1.1112944108809413 130 | 0.1735279114221664 131 | 1.8024943440424441 132 | 1.4241943617074524 133 | 1.0151643569457074 134 | 1.8493232796186332 135 | -1.2345161622182874 136 | 1.2645387600966957 137 | 1.3026743059504826 138 | 1.3433872681926122 139 | 3.8806294487777486 140 | 1.5062977966995215 141 | 0.5075824872563925 142 | 1.304317548075911 143 | 1.6605349759775667 144 | 1.4164918321113733 145 | -0.19521988918485356 146 | -0.27242234735653237 147 | -0.43410090189420103 148 | 1.0138407534971823 149 | 0.7038310368391147 150 | 2.1196462351455407 151 | 0.43883570314693476 152 | 2.2116177104866015 153 | 0.8939587537211289 154 | 2.3614640392416613 155 | 2.545922558009166 156 | 0.09647676038872033 157 | 2.080977012494637 158 | 1.3474202546238536 159 | 0.6459241471057052 160 | 1.0776879983795191 161 | 1.8648406025098918 162 | 1.3040256567869584 163 | 1.052203521922053 164 | 1.2970597309873706 165 | -0.45976619601781477 166 | -0.21883125086417876 167 | 0.5435475855755183 168 | 1.8531398627944988 169 | 1.339223945070607 170 | 0.8969681685897494 171 | 0.10225172786322367 172 | 1.815930509944332 173 | 1.6956687457696709 174 | 0.37411739768818575 175 | 1.892987667122653 176 | -0.2131282977866824 177 | 0.9043658072794588 178 | 0.011967874701560133 179 | 1.4390639483964294 180 | -0.11302479848475722 181 | -0.7291427279691345 182 | 0.012418829085965144 183 | 2.0281136067813064 184 | -0.5072272826525897 185 | 0.6281252671324016 186 | -1.1235790344356706 187 | 1.7950634787794062 188 | 0.057645373742783224 189 | 0.07960480875886777 190 | -0.4767349442335329 191 | 1.260332988889469 192 | 0.6562019054420445 193 | 0.2472572937579547 194 | 0.08301795362345166 195 | -0.7538753210748561 196 | 0.6950082201492509 197 | 3.727825338477424 198 | 0.07777237943577897 199 | 0.6517215411107387 200 | 0.937806719220222 201 | 0.8981900092155899 202 | 2.403647684066356 203 | 0.5153794863002155 204 | -0.8415979969055696 205 | 1.284694424001306 206 | 0.449625945731023 207 | 1.2245364933542313 208 | -0.055714975027261415 209 | 1.4032987046816587 210 | 0.002643266818953105 211 | 1.3987024440785851 212 | 2.715231151402892 213 | 1.8153533527384493 214 | 0.3486194963055702 215 | 2.3338806463841792 216 | 0.2823522467662606 217 | 0.48626678081428143 218 | 0.9019341070899846 219 | 0.10007222320465536 220 | -0.980029983662021 221 | 0.7453882809164152 222 | 0.7362239125568167 223 | 0.8638332843320394 224 | -0.10900543277465125 225 | 2.4999820810153848 226 | 0.1923847708400196 227 | -1.1923377645907935 228 | 1.0093340971096425 229 | 1.2322303666122796 230 | 0.7631078679109274 231 | 1.6419414774993073 232 | 1.5377358784523043 233 | 2.095945136547094 234 | 0.8373101398410313 235 | 1.8299637323875368 236 | 0.5908471828834392 237 | -0.12918114418088433 238 | 1.6675894177792616 239 | 1.8894994616829341 240 | -0.2625992146143219 241 | 0.4501113362713858 242 | 2.0205811078997566 243 | 3.0137992756531653 244 | 3.691102031934413 245 | -0.05757642120000228 246 | 0.6268221493027246 247 | 0.40047437183972334 248 | 1.0142708548639983 249 | 2.4412479742321915 250 | 2.158202584868511 251 | -1.7411461386196492 252 | 1.3073568879102158 253 | 0.19691764449863547 254 | 0.6611029443986851 255 | 2.459297723079956 256 | 1.808328379525185 257 | -------------------------------------------------------------------------------- /dat/normal_0_1.2.tsv: -------------------------------------------------------------------------------- 1 | -0.08896968229451714 2 | -0.5775924783956151 3 | -1.961509083364928 4 | -0.6562457341238073 5 | 0.17013102654468054 6 | -1.8362853126225283 7 | -0.8063436545039255 8 | -1.049244406484956 9 | 1.5274677028752028 10 | 0.5878628395518546 11 | -0.0029102183533004874 12 | 2.124591627005291 13 | 0.775957460687027 14 | 0.10815692293595865 15 | 0.2502038168287182 16 | 0.9000250293099101 17 | -1.2872933213710043 18 | -1.876633363968959 19 | 2.5629514354716516 20 | 0.39421326455904415 21 | 0.0896593839183556 22 | -1.549308183410074 23 | 0.4797012654079911 24 | -0.693726002599779 25 | 0.4553280618725665 26 | 1.5313243700066606 27 | -1.3952818348651874 28 | -1.08721580003761 29 | 0.9934405204893509 30 | -0.6815948345925134 31 | 0.6991414320861324 32 | 1.6315071403038774 33 | 0.2981471142314216 34 | 0.24420808962703933 35 | 0.0952144887147659 36 | -1.5444573453866794 37 | 0.47920135214533616 38 | -0.4571307467783069 39 | 0.4627923328905333 40 | 1.4288159483642133 41 | -0.6886634762038563 42 | 0.49992071779682057 43 | -1.9336964251160091 44 | -0.8217167411375332 45 | 0.1727435650875207 46 | 1.5562343195195585 47 | 0.43675261370671115 48 | -0.2212381315520456 49 | -1.6517520414046354 50 | 0.06275995025431987 51 | -0.15105667429202707 52 | 1.1281838149754981 53 | 0.2801116757862741 54 | -0.45717915290925215 55 | 0.7632600574501938 56 | 0.8706561303911378 57 | -0.5538032548623822 58 | -0.17088913947870044 59 | 0.11624784648475733 60 | -0.16994974932882498 61 | 0.7055604227727272 62 | -1.0355099997821284 63 | 2.0673873292445824 64 | -1.3060267883508005 65 | 0.4402189029458495 66 | 1.8484587846970073 67 | 1.3751036418353761 68 | -0.2054745429598649 69 | 0.9062566385594184 70 | 2.3175123360251884 71 | 0.7713803763145964 72 | -0.6119490018190528 73 | -1.1628595892903226 74 | 0.4460561748024393 75 | -0.7677938491473313 76 | -0.8512053758092233 77 | -0.751184625208408 78 | -0.43838559376911523 79 | -0.5047735378582937 80 | -0.8419395584601918 81 | 0.31435859113205167 82 | 1.162565635383889 83 | 0.1896476453585034 84 | -0.8269532137537685 85 | -0.17809560953233963 86 | 0.985340209747506 87 | 1.1103627186735368 88 | 1.0017738131315248 89 | -0.815180555828994 90 | -1.1386709605602614 91 | 0.3134947645244122 92 | -1.3885121989230185 93 | -0.00461839904264687 94 | -1.5107076344317443 95 | -2.0913545350848146 96 | 0.6333111404978382 97 | 0.593445105162536 98 | 0.057483130040115 99 | -3.364514567070005 100 | -0.07314739095186988 101 | -0.25061996737577047 102 | 0.20675303015205482 103 | 0.11838351527410347 104 | -1.3932129780620905 105 | -1.0255870817072061 106 | -0.4704793833575111 107 | -0.8734977198510451 108 | -1.445502322501643 109 | 0.2984050897946674 110 | 1.201367368088953 111 | 0.35922428932090644 112 | 0.576310696569075 113 | -0.5809279529432733 114 | -2.1297620083653426 115 | -0.7469135332414438 116 | -0.6604558095460117 117 | 1.0404958933291886 118 | 0.40293879611883404 119 | -1.2927100904825808 120 | 0.5784002088860497 121 | -2.0272655782907534 122 | -1.3168301206868271 123 | -1.619678796876064 124 | 0.6587380405973049 125 | 0.8508136975751668 126 | -0.4529811483252915 127 | -0.14333719273685105 128 | -0.62344732227294 129 | -0.38904049947397396 130 | -1.085442409217715 131 | 0.5828170555890827 132 | -0.9775474430959952 133 | 1.1998487326394076 134 | 0.06602106904711477 135 | 0.37728048444770507 136 | 1.571787392742697 137 | -0.2474342550908333 138 | -0.16777374021849303 139 | -1.8710647108444403 140 | 0.586052137906718 141 | 0.797649989091532 142 | -0.8511850354369401 143 | 0.4695873412355376 144 | 1.0055461531308993 145 | 0.341475721972582 146 | 0.5295969602629294 147 | 0.502367378961817 148 | 0.1523696779962746 149 | -1.6480833400618635 150 | 1.2076968088089939 151 | 1.0533240449474122 152 | 0.9980386296977515 153 | 1.0059885494151668 154 | 1.9942918641186256 155 | -2.1739168653254803 156 | -0.2043527588334512 157 | 1.2569761026794277 158 | 1.3876824719366012 159 | -0.029480011169917966 160 | 2.1083668923540846 161 | 1.0255197886567764 162 | -1.537375153109223 163 | -0.8164119965289259 164 | -1.3684522979185028 165 | -1.1543723534547274 166 | -1.7861150758470876 167 | -0.9518415216776032 168 | -0.004775445539183805 169 | 0.44496524486146516 170 | 1.7798795959008458 171 | 0.16592545134602688 172 | -1.3296832113415455 173 | -0.1962293233777393 174 | -1.6777914396077063 175 | 1.0231213419052547 176 | -0.9991645279652185 177 | 1.0856499370865735 178 | -0.5624835433030284 179 | -1.005041495765141 180 | 0.6098191029777835 181 | 0.31410100007982616 182 | 1.3867536896720674 183 | 0.9604346573069664 184 | -1.4031119937209402 185 | -2.7458963401974796 186 | 1.3121038064259456 187 | -0.5442880416021323 188 | 0.8052226061811133 189 | 1.7901762795893341 190 | -2.0832718398677827 191 | 1.4062534270892695 192 | 1.143595661166235 193 | 0.035824095584509226 194 | 0.8021428523943726 195 | -0.6699636660507892 196 | 0.5831898853082941 197 | 0.5452047314089374 198 | 1.9531193754283254 199 | 1.4202938049247624 200 | -2.076821406825987 201 | 0.945674848078512 202 | -0.7483437116669424 203 | -0.1491523166754999 204 | -2.095303231369244 205 | 1.0688908082210515 206 | 2.6386258309335364 207 | -2.3655322219949766 208 | 0.9075072318958883 209 | 0.2554609454284109 210 | -0.5557440262407879 211 | 0.6152091750091113 212 | 1.0488636513606 213 | 1.4890850321389892 214 | -0.1565971191766909 215 | 0.40162982373805395 216 | -1.3294710095444038 217 | -2.3425355294564856 218 | 1.2399879960694842 219 | -1.5448476567907912 220 | 0.4050090005556863 221 | 1.2395534524339324 222 | 0.46509141787052116 223 | -0.1964353538457297 224 | -1.072151223693573 225 | -0.09667743705237838 226 | -0.6726346237121078 227 | -0.8713156088632993 228 | -0.8389260562753195 229 | 1.963917277424032 230 | -1.3578944996080982 231 | -0.9245880633509994 232 | -0.10796435934652421 233 | -1.7268961732146553 234 | -0.20314539834310008 235 | -0.3586950671959293 236 | -0.8544896925779999 237 | 0.49741585631875085 238 | -1.50510306555914 239 | 1.0400892522530032 240 | 0.6919227095648385 241 | -1.1753729737663081 242 | -0.3077609865971452 243 | -1.0971638006822966 244 | 1.7296580572828248 245 | 0.9947717553485719 246 | 0.4309178618975364 247 | 0.7985465522472972 248 | 1.1439249573950205 249 | 0.5250976635330038 250 | 1.0259472093243078 251 | 0.13711827937625612 252 | -0.13334125682587197 253 | 1.86273888850511 254 | 0.35447496228980746 255 | -0.8126130690475476 256 | 1.101890464266604 257 | -------------------------------------------------------------------------------- /dat/normal_0_2.3.tsv: -------------------------------------------------------------------------------- 1 | -0.5107239181282449 2 | 1.6420811448028998 3 | -0.35999210802122916 4 | 0.05522060179942146 5 | 0.01667161654632146 6 | 0.46716692221862277 7 | -1.5625079744316615 8 | -1.2969265438483677 9 | -2.1754704768445614 10 | 0.3041176554082158 11 | -1.483694292809389 12 | -0.12437118150330852 13 | -0.28708677229355717 14 | 2.118756730445361 15 | -2.344142060924909 16 | -0.8797648715357915 17 | 0.9270128606533441 18 | 1.3498612397394527 19 | -1.417237356677037 20 | -0.024785974400277366 21 | -0.08215747723457537 22 | 1.6008109709303466 23 | 1.0444895484101366 24 | -1.0794762042880583 25 | 0.7281983652100802 26 | -0.9730375774087209 27 | -2.0780834140002784 28 | -0.1856958101399239 29 | 0.6736024920226635 30 | -1.1224786402987341 31 | -2.359006306024046 32 | 1.9005586783759236 33 | -0.043340641775868834 34 | 1.2317178762609406 35 | 1.3202715375236822 36 | -0.43840437571414126 37 | -0.9385032220182664 38 | 0.09669323708940261 39 | -0.2930864866536564 40 | -0.44636522083960084 41 | 1.1013378462718564 42 | -1.543429334037434 43 | -0.8080253443119626 44 | 3.1735299617810777 45 | 2.3422571483844132 46 | -0.6261972194566745 47 | 0.6175880239105846 48 | 1.6803387062428201 49 | 0.1900011374894617 50 | -0.1417589595664781 51 | -0.9816866473410708 52 | 0.7135900328514405 53 | -1.6079405527981931 54 | -1.6164180622156321 55 | 0.3177880402148842 56 | -0.09270286565863457 57 | -0.11190664595387469 58 | -0.6934660959241847 59 | 1.4139885321731391 60 | 2.4997367290366705 61 | 0.01104687370902186 62 | -0.18755861726930928 63 | -3.292211708599168 64 | 1.9651692932257692 65 | -1.8959084952677414 66 | 0.4036358014220656 67 | -0.5914261214379866 68 | 0.4014393443366935 69 | 1.5234336745340962 70 | -0.656539587089761 71 | -0.5344915748079468 72 | 0.6874704024388563 73 | -0.7550802572817827 74 | 1.016897636845503 75 | 0.32836604395716235 76 | -0.8278944250962585 77 | 0.20503684983307036 78 | -0.5379169193675537 79 | 0.15091929366938492 80 | -2.1189542742132117 81 | -1.8355189724300296 82 | 1.770229857085885 83 | 1.4773896775487452 84 | 0.03372727145421573 85 | -0.6759979858270018 86 | 0.78254735124992 87 | -1.0054073478603738 88 | 1.029390710141905 89 | -0.7660391107583235 90 | 1.3469974271081873 91 | -1.8775819480309366 92 | -0.04832632528303529 93 | 1.7425819759471726 94 | 0.04958441171915745 95 | 0.6513653592024817 96 | -0.5037615868579385 97 | -0.8633157546824419 98 | 0.7548366347941049 99 | 0.6125166429516171 100 | 1.5896921650087354 101 | -2.6023192533410677 102 | 1.576248678859226 103 | -0.5286725776258944 104 | 0.792120219785575 105 | 1.4255972998609172 106 | -2.2670838613508857 107 | -0.5060903853945272 108 | 1.2333868603476836 109 | -0.42227120182083117 110 | -0.5556086589080319 111 | -0.4054011025532059 112 | -0.8163623497886608 113 | -3.2805713115322193 114 | -0.6040413070101481 115 | -0.8264695750956207 116 | -2.3597439964549767 117 | 0.5932584431724796 118 | 1.5687412213802099 119 | -0.0766336135156731 120 | -0.0969234030423983 121 | -3.054497243618858 122 | 1.6415091109012174 123 | -0.2776804796360908 124 | 0.5013913451889912 125 | -2.250462293121114 126 | -0.29248845100963194 127 | 1.5834920606073954 128 | -1.6215317683231945 129 | 0.5988969515378356 130 | -1.4709788378860043 131 | -0.8218572267266566 132 | 0.7605139507213363 133 | 0.5668424011813868 134 | 1.042377474191517 135 | 0.10293186468702056 136 | -0.08429842590693956 137 | 1.935311753173656 138 | 0.13777379072885873 139 | 1.613920077970467 140 | -1.7551785235471054 141 | 0.8769236175924352 142 | 1.6938716472320954 143 | -1.1437533205101644 144 | -1.1755623451162218 145 | 0.4469776843935818 146 | -1.2836362743550962 147 | -0.5217493235395154 148 | 0.9220974754894865 149 | 0.9536357934782234 150 | -0.7902479895803077 151 | -2.727148719112866 152 | -0.17197987580651602 153 | 0.27765829851408713 154 | -1.3795910685270345 155 | 1.6393096816839405 156 | -1.8883272272351426 157 | 1.636265781217933 158 | 1.3256508891177545 159 | -0.16472191513550188 160 | -0.5860907928953157 161 | -2.099005800067354 162 | -0.12889700275565433 163 | -1.4679135106557255 164 | 0.10057636370072423 165 | 0.9575801807030625 166 | -1.6417799767162002 167 | -1.5882132078711328 168 | 1.3251453727574922 169 | 0.10397574897527775 170 | -3.2665005278844395 171 | 0.2067592361224127 172 | 0.8941458700975252 173 | 2.2253087680966335 174 | -1.4361357651776978 175 | -3.3755396384457024 176 | -0.0803279348662995 177 | 1.7303915284435532 178 | -1.1937628798682036 179 | -0.1815082722200875 180 | -0.6853114680437796 181 | -0.2243236664725705 182 | -0.2943009379254839 183 | 1.4983018106624177 184 | -2.4988056525039455 185 | 0.4880228715769951 186 | 1.7104629535360376 187 | -0.1415183932652863 188 | 1.2254880378486415 189 | 1.3755759098311802 190 | 1.7045644580231303 191 | -1.280066604645929 192 | 1.2310409557090316 193 | 1.8889971729276769 194 | 1.4922884234024079 195 | -0.8933236880549804 196 | -1.9852273611271418 197 | 1.5860398322910592 198 | 2.4320464858051873 199 | 1.493873521168066 200 | 1.2448155852115368 201 | 0.6430292045750123 202 | 1.6284823175163021 203 | 0.7419420624378925 204 | -2.3417969116312696 205 | 1.4483495511470208 206 | -1.3306680468145442 207 | 0.07772708872404928 208 | 3.045904183280269 209 | -0.5701518317494693 210 | 2.104576850265878 211 | 0.22528726953519757 212 | -1.7373312136732486 213 | 0.40101622339916004 214 | 1.4353880999175936 215 | 2.119830141427241 216 | -1.9637390990405266 217 | 2.7036592848410796 218 | 0.7739042751090961 219 | -2.3945703276791686 220 | -2.602645433039023 221 | -0.21236735522804065 222 | 0.476752138744557 223 | 0.05908163342179137 224 | -1.4682387315322012 225 | 0.9398477913540626 226 | -4.150136707726673 227 | 0.6087630829637488 228 | -1.0675687974769967 229 | -3.5888935283181045 230 | 0.8085922314781004 231 | 1.275377282852793 232 | 1.2221502638828814 233 | -0.3392866890607033 234 | -2.0142423946275287 235 | 0.03468121191365181 236 | 0.5402561479510616 237 | 0.554402530117565 238 | 0.21448738517875848 239 | -0.8374601553650906 240 | 0.3531861715495613 241 | -1.7074356392455168 242 | -3.2545077199246064 243 | -0.9548409435953149 244 | 0.6592280846992493 245 | -1.0300695218946887 246 | 0.215014962342425 247 | 1.6964553612840798 248 | -1.1855339122028694 249 | -1.6580383284552982 250 | -0.7161381091318011 251 | -1.6419194696216497 252 | 1.5009077539402538 253 | 2.75855665145383 254 | -2.7704350780051836 255 | -0.5925378587757032 256 | -0.4401916823515216 257 | -------------------------------------------------------------------------------- /dat/normal_0_2.2.tsv: -------------------------------------------------------------------------------- 1 | -0.5571119925358827 2 | 0.6751095697217474 3 | 1.7192174229342772 4 | 0.41749320555404396 5 | 1.1421802229067088 6 | -1.0699481261688557 7 | -0.002919081544691078 8 | -0.7096677144929999 9 | 0.19292910879743339 10 | 0.406438532965317 11 | -0.25730098932278467 12 | -2.039829171656905 13 | 1.9336228949175844 14 | -1.255748254361836 15 | 0.2886801858131248 16 | -1.365322390332929 17 | -0.003008377048976003 18 | -0.3952466458826784 19 | -2.1012689545945817 20 | 0.2599450549070955 21 | -0.423887602948475 22 | 0.9436743737527056 23 | 2.22427599848905 24 | -0.07725115103209663 25 | -0.09457988745979129 26 | 0.03130877472948475 27 | 0.24174538148559852 28 | 1.8669487217658898 29 | 1.6844750555416832 30 | -0.3961383240538069 31 | 0.916940569745696 32 | -2.3533066845826682 33 | 0.9643972600754114 34 | -2.4468087978885444 35 | -0.014467062554977289 36 | -1.4331177209594987 37 | -0.2099173198665696 38 | -1.9496029023317845 39 | -1.0680710249280294 40 | -1.9819250386015435 41 | 2.102729109020225 42 | 2.2002240873528414 43 | 1.5647934954518932 44 | 0.797218815341243 45 | 2.1627388668476724 46 | -2.1529361905637776 47 | -1.4109078429919795 48 | -0.06578785235105887 49 | 0.7021067334049278 50 | -0.7258981913848196 51 | -1.0021680755228601 52 | -1.0530790977973377 53 | -0.23129146944069076 54 | -1.9393657850897683 55 | 1.5320090231973342 56 | -0.5758426132553318 57 | 3.2086143956176425 58 | -1.8827464321451943 59 | -2.4927957039220816 60 | -0.1909340726622452 61 | 1.539168769781995 62 | -0.4176996950537677 63 | -0.4404043387628255 64 | 0.7495776617315273 65 | 0.544398302908942 66 | -1.015069960267735 67 | 0.24137201782234358 68 | 0.09697828773773556 69 | 0.6420443572195444 70 | 0.9549353006862594 71 | -0.9816569207848047 72 | -2.570487558861421 73 | -1.1439091116679156 74 | -0.10540966140276296 75 | -0.12041631684572747 76 | -1.2932619306207005 77 | 0.703885647411552 78 | -0.7883762948367149 79 | -1.4279944739936599 80 | -1.0158582527801716 81 | -1.3126502896835273 82 | -1.4356928658901336 83 | -1.2956459012570984 84 | -1.9032622458919417 85 | -0.033460294908363046 86 | 1.5884538235835182 87 | 1.1688584193151728 88 | -1.614570402743646 89 | -1.812615449739138 90 | -1.1897675229174804 91 | -0.2777121041358639 92 | 2.7277031780636802 93 | 0.04447360579664451 94 | 3.8449205073327124 95 | 0.8708090811763348 96 | 0.5443910546880573 97 | 1.0885927881163138 98 | 1.5165803032784568 99 | -1.5192272623935357 100 | 0.1912233899910814 101 | -1.3762150273021254 102 | 0.8117719926791982 103 | 0.4607295587892935 104 | 0.08326934150734255 105 | -1.846329117042964 106 | 0.8484353736293221 107 | 0.06867743079282262 108 | 2.19696952713456 109 | 0.6075341300483408 110 | 0.022610170414822793 111 | -0.7074427929504068 112 | 1.258069111646673 113 | -0.05039498283452447 114 | -1.5461223470662626 115 | -0.05475945745319513 116 | -0.8731046677863871 117 | 0.8344818294702472 118 | 1.0505612156316397 119 | -0.11995990674648443 120 | -1.8814104604165853 121 | 0.05815712264923154 122 | -3.6894707278139376 123 | 0.22611279996281305 124 | 0.2855166957543868 125 | 0.26622629826921107 126 | -2.398269184769062 127 | 0.6722384955741929 128 | 0.7672750572415258 129 | -0.6169097369865497 130 | 2.3634462470982824 131 | 1.5467448865808688 132 | 2.715262558330807 133 | 0.6920375796397658 134 | 0.7303696307979585 135 | 1.0348423618053866 136 | -0.4025883611275699 137 | -0.20862788923107028 138 | -1.4590436445085604 139 | 2.165893731849233 140 | -0.7801230836166394 141 | -0.711468935634586 142 | 0.8799082042111469 143 | -0.4559899589633829 144 | 0.48578976789681266 145 | 0.8223883278092705 146 | -0.31326234960462723 147 | -0.0970368501243936 148 | 0.48258691268345344 149 | -0.9061929530451756 150 | 0.22930101383248905 151 | -1.4500769947100753 152 | 1.311644822377576 153 | 0.5376361905515052 154 | 0.7550030353469892 155 | -3.373000780283261 156 | -1.9558230359610154 157 | -1.0068101332043626 158 | 0.9181752514149712 159 | -3.240032970603682 160 | -0.1257897290699148 161 | 2.0132697869256573 162 | -0.82379554495839 163 | -0.4608161199918561 164 | -0.7859437609453541 165 | 1.0426214702399592 166 | -0.5890280271344932 167 | 0.509217050454535 168 | -1.7131581238411207 169 | -0.11691593692851347 170 | -0.7927000424915482 171 | -0.7998098777650514 172 | -1.5449841557695625 173 | 2.080590564970883 174 | -1.3255136369910392 175 | -1.1733813457567441 176 | 0.07609226160036503 177 | -1.638533900480642 178 | -0.6021369781790424 179 | 1.4629392879423497 180 | 0.8838898887286654 181 | -0.39976790659706996 182 | 1.8182083461470704 183 | 1.9004004745143135 184 | 1.3544209730355374 185 | 1.9228073169364577 186 | 1.1827067979926729 187 | -1.357510619230771 188 | -1.953181794374181 189 | -0.7235632293353348 190 | -3.1805935640481215 191 | 0.4922710046947305 192 | -0.8920950751017558 193 | -1.0182061171344914 194 | -0.1039919215349549 195 | -3.1766864761380638 196 | 1.0268997203596588 197 | -0.5361882886842775 198 | 0.1433163092020792 199 | 0.7829589505398836 200 | -1.1379752646672985 201 | 3.2491087651326276 202 | 1.6323503783074071 203 | 0.7678723109970538 204 | -1.5541929107579737 205 | -3.7856117512955234 206 | 0.7143151221236942 207 | 1.257319156930519 208 | -1.663166426119038 209 | -0.18456040593222486 210 | -2.3804774603623224 211 | 0.6823556994957503 212 | 1.2238342583178832 213 | -1.192226808681475 214 | 0.05755464115323024 215 | 0.016303528379299354 216 | 0.5469736103236735 217 | -0.6647777474589667 218 | -0.38201513693308015 219 | 0.3756980717307944 220 | -0.688682315464636 221 | 0.5369132726857264 222 | -1.264793855264841 223 | -1.6642692370716115 224 | -1.232999027391212 225 | 0.42509694194787745 226 | 0.8845479339531122 227 | 0.5637996674119993 228 | -2.2805090269818082 229 | 1.6371259302151946 230 | 0.8516325070652442 231 | 1.2314465019241023 232 | 0.9236801720614436 233 | -1.8685100558369434 234 | -1.4807649562426555 235 | -0.8459100698897222 236 | 1.4713251465416561 237 | -2.115065276352812 238 | -1.2617561825944728 239 | -2.7435606118976734 240 | -0.8764303529812177 241 | 1.4893764433928849 242 | -0.14846895799439086 243 | -0.9694629486935175 244 | 1.2825945707102795 245 | 1.221467917326536 246 | 0.7547707934910232 247 | 1.3536259261037582 248 | 0.2719297072300585 249 | -0.010872049230786277 250 | 0.43806495349154984 251 | -1.6158009334913037 252 | -1.7847670265456166 253 | -1.2615863772923483 254 | -0.8975161559433974 255 | 0.1542005400656755 256 | -0.6797087790251218 257 | -------------------------------------------------------------------------------- /dat/normal_0_2.4.tsv: -------------------------------------------------------------------------------- 1 | -0.10440044630825066 2 | -0.27213987316807803 3 | -1.3817346187218664 4 | 0.462462828724865 5 | 0.20857269771684933 6 | 0.33558665131257176 7 | 0.04053678169002633 8 | 0.5332084389369643 9 | -1.1513867811072005 10 | -2.6337325755854675 11 | -0.14856136242673232 12 | 1.7016609994410057 13 | -0.35622824163955413 14 | 0.2665236858765735 15 | -0.7061051690282248 16 | -0.18291747792864818 17 | 1.7619698378259094 18 | 0.14640980345511775 19 | 0.22440243569208507 20 | -2.5378551487348755 21 | 4.260740146649915 22 | -0.1684160315627673 23 | 2.355277859514947 24 | -0.7766004493314229 25 | -0.27125774864698365 26 | 2.0514490234852576 27 | -1.014787744113365 28 | -1.938610689735651 29 | 2.8277639566113186 30 | 0.44676296951821426 31 | -0.7539038097192107 32 | -0.5693607964370774 33 | -0.5050710809540316 34 | 2.40863264452654 35 | 1.3508476843754225 36 | -0.6907950957548087 37 | -1.6661759653033814 38 | -0.34022315540992054 39 | 0.5089857339959832 40 | 0.11358428668020473 41 | 0.7845787226142037 42 | 0.3272366415059481 43 | 2.2569919735368376 44 | -1.6781810137446527 45 | 1.6365072535236926 46 | 0.13890641602956702 47 | -0.7901230456544078 48 | 0.6014019386207647 49 | 1.053739707296517 50 | 1.8070923544934676 51 | -1.6472506602028958 52 | -0.09848220227654379 53 | -0.027496622022103515 54 | -2.005756369764017 55 | 2.038588899938699 56 | -0.06374639119952512 57 | -0.5007194684545423 58 | -1.2839773301103152 59 | 1.8182693359163675 60 | -0.2627296519436842 61 | -2.8013718716574796 62 | -2.5463941615688928 63 | 1.7060880742486497 64 | 0.17121880072936868 65 | 0.9551833271829094 66 | -1.3019638544550578 67 | -1.7437611699347964 68 | -0.8821145414803925 69 | 0.6868440239546285 70 | -0.15281206786580445 71 | 2.4074238926170715 72 | -0.43887332619553115 73 | -1.9455536572079293 74 | 2.0489414078309918 75 | -1.7098504231700267 76 | -0.6256944099263545 77 | 0.12962123167449888 78 | 0.0798217791071062 79 | -0.5841351679315493 80 | -1.0822712190390589 81 | 0.5332286591071461 82 | -0.2601927749659095 83 | 1.8656194971716564 84 | -1.6730043185199919 85 | 1.1883475746726264 86 | 2.8693238017012535 87 | 0.9467663161726139 88 | 1.3355096448257782 89 | -2.2935726138113273 90 | -1.3487253552653007 91 | 0.3631099177147426 92 | -0.9454374090465512 93 | -1.205944033264138 94 | 2.379279577292963 95 | -0.0021582740326731987 96 | -2.1713686551522766 97 | 1.0461343444969542 98 | -2.6152927297684796 99 | 0.39079563731369465 100 | 0.668370269031708 101 | -0.8302682619438759 102 | -2.092166333995894 103 | -0.49211682133818724 104 | -0.3919864630581404 105 | 0.6400434682815962 106 | 0.45974677689221227 107 | -0.1133497214181725 108 | 2.251041021188105 109 | -0.1277594003888534 110 | -1.3320773523942735 111 | -0.7570593117645291 112 | -1.3645178218771317 113 | -1.1311895163728747 114 | -0.6750404001206143 115 | 2.8024521272989267 116 | 0.4043598865065561 117 | 1.8184620717581559 118 | -1.2161404112637249 119 | 0.47021875881772146 120 | 2.1824410806327346 121 | -1.893459170587997 122 | -1.2193564563211512 123 | -0.8830137850649573 124 | 0.0850999251592929 125 | -0.15261050751847866 126 | 0.33550012306960925 127 | -0.23061059424696442 128 | 0.988644939665369 129 | 2.2249402729507595 130 | 0.10400041312174459 131 | 0.47278129907851607 132 | -0.5155285347214386 133 | 0.45902294786268805 134 | 0.7737922453203538 135 | 1.2349896839856722 136 | 0.8968698299792296 137 | -1.5987366411597528 138 | 1.2603379781638153 139 | 0.41023448331238105 140 | -2.725423578685179 141 | -1.31090093484457 142 | -0.40121663860640744 143 | -0.707847407125758 144 | 0.5993603053952339 145 | -0.731720350131969 146 | -1.0611267504973343 147 | -2.458735222513666 148 | 0.884776869587037 149 | 1.9313419664289893 150 | -1.164967466426071 151 | 1.5590996963943613 152 | -0.8587750416083578 153 | -1.6847455433329714 154 | 0.5166144309356692 155 | -0.5551312031641578 156 | -0.47078489444912935 157 | 1.8096114636668705 158 | 0.692503285983353 159 | -0.9958573268922911 160 | -0.8914466689510421 161 | -3.0207045566519666 162 | -0.340849134624905 163 | -2.016848282541574 164 | 0.2826205554926997 165 | -1.60059911639965 166 | 0.29833302691265706 167 | -1.5295886985627334 168 | -1.5960237647552489 169 | 0.7558891961779278 170 | 0.18842822509044532 171 | -1.1185907305957612 172 | -1.3889962343525002 173 | -1.2425240652376353 174 | -1.1036481077091254 175 | -2.094164369492672 176 | 0.9943064863567063 177 | 1.7646592818926141 178 | 1.4550344442096712 179 | -0.6131325408570973 180 | 0.6591750435162499 181 | -0.7135241571515694 182 | 1.8162764258679154 183 | -0.27406948226311895 184 | -0.7913939856143019 185 | -1.5995611624648087 186 | -2.044589606367358 187 | -1.014159528274371 188 | 0.6721648755028554 189 | 0.41575002736122124 190 | 3.4418179193253504 191 | -0.9279188346575369 192 | 1.9185375102585798 193 | -1.6582762192569935 194 | -0.1679029445937812 195 | -1.279380039852007 196 | -0.08580141699323268 197 | -0.6983819668759458 198 | 0.6565532456166827 199 | -0.4438475063721534 200 | 0.613476383153367 201 | -1.9560824582435223 202 | 1.6911244381228703 203 | -0.7240149848894855 204 | 2.243157206078103 205 | -0.1126729376222552 206 | -1.269167261717644 207 | 1.0093970763935867 208 | 0.2230143809081331 209 | 0.3261051993304818 210 | -2.2367512915902696 211 | 1.5934280625496167 212 | -0.7827186399181351 213 | -1.8941404884459723 214 | -0.3493319730128582 215 | -1.4044579571979865 216 | 0.21376977772353487 217 | -0.3106711892032717 218 | 1.2248944054415387 219 | 0.46985221536080135 220 | -0.45639761956809627 221 | 1.8036705621484486 222 | 2.570878216523192 223 | -2.3345106496021737 224 | -0.03394811666410853 225 | 1.2683501046829708 226 | 0.440731214976722 227 | -0.4511140111679253 228 | 1.6805407121927844 229 | -0.3095248514998937 230 | 0.6382164695712338 231 | 1.3903572667865558 232 | 2.1641134950625065 233 | 2.5944182836494596 234 | -0.45415678233868745 235 | -1.4581697711887185 236 | 0.731685468995649 237 | -1.1293455929308578 238 | 0.16337909636173026 239 | 1.6180275391242318 240 | 0.7717605155099863 241 | 3.709776641924691 242 | -1.6998335069352917 243 | 0.46138241881953906 244 | 1.6359155415224753 245 | -1.0583799346034544 246 | -1.4291527332016214 247 | 1.185887747051421 248 | 0.06741618910875372 249 | 0.40719176191532774 250 | -2.9641168138606333 251 | 0.6214721000781597 252 | 0.25202233628890613 253 | 1.3315066260524553 254 | -1.551360350766608 255 | 0.14631837131553294 256 | 3.019719128662023 257 | -------------------------------------------------------------------------------- /dat/normal_0_1.1.tsv: -------------------------------------------------------------------------------- 1 | -1.414321562555144 2 | 0.7845695612199247 3 | 0.4481166653518983 4 | -1.674497521853724 5 | -1.85237670785449 6 | -0.8621021756345887 7 | -0.8347796951054381 8 | -1.2560003568438907 9 | 0.044786340611591 10 | 0.7082690581462513 11 | -0.1491459965203273 12 | -0.9896571770785674 13 | 0.4446646974950269 14 | -0.5949581390607679 15 | 0.3989206869931648 16 | -0.6107576781206044 17 | -2.012732575901337 18 | 0.2765615624759613 19 | -0.44919204951032443 20 | 0.9743435649831024 21 | -0.8278402274138373 22 | -0.07198261598301267 23 | 0.46258577397010747 24 | -2.474726473545062 25 | -1.4991374281745762 26 | -0.4887725235770461 27 | 1.0470187925512722 28 | -1.1859069580746397 29 | 0.7017698914658818 30 | -0.07319845658552794 31 | 0.8053496419196046 32 | -0.2965300217214693 33 | -1.3367268621741284 34 | 1.720287555803111 35 | -0.604842266913784 36 | -1.3156011502051586 37 | -0.26331144842282994 38 | -1.2283500409789667 39 | -0.5219029590858969 40 | -0.5454102678439205 41 | -0.13337383323086235 42 | -0.28209282579846623 43 | -1.0027730657258749 44 | 1.374610839541347 45 | -0.5368740143577629 46 | -0.7173064469973679 47 | 1.4459660296028602 48 | -0.42346199801242007 49 | 0.4182604883384221 50 | 0.2758132645324956 51 | -0.1355400484767187 52 | 1.2401970037605499 53 | 1.5420562237243725 54 | 1.2197589355681588 55 | 0.9301843987329537 56 | 1.5166159237002799 57 | 0.5034110592794517 58 | -0.349708263012151 59 | 1.1725171401360046 60 | -0.13709397123822728 61 | 0.4296360461859968 62 | -0.07823891578883799 63 | -0.3663299132359543 64 | -1.2814672932079976 65 | -0.9665491390364218 66 | 0.482543958565214 67 | 0.4414874829062183 68 | 0.006240560943328597 69 | -1.051496735056892 70 | 0.3391306596926814 71 | -0.12377279647466571 72 | 0.33113766561469643 73 | 0.2528322750057261 74 | 0.18166598854058524 75 | 1.4667247919893738 76 | -0.08372380736086271 77 | 1.271883099692388 78 | 1.1760889880181733 79 | 0.6074912198684926 80 | -0.13563005887070484 81 | 1.1696876855720644 82 | -1.1077909280180982 83 | 1.0175075237651994 84 | -0.6460251157322893 85 | -1.1439931264198142 86 | 0.735830125214697 87 | 1.5010043989865127 88 | 1.0739616062831014 89 | 0.12753638305533924 90 | -0.5182212222942542 91 | -0.5243982793163514 92 | 1.3032130730330864 93 | -0.672227822609588 94 | 0.35175471494647176 95 | 1.7014501527279973 96 | 0.9814240398327717 97 | 0.7459231653775346 98 | -1.1569531042990386 99 | -2.2144213443412495 100 | -0.5734021633516998 101 | 0.12407649795958454 102 | -0.28340558759698203 103 | -0.850469599528599 104 | 0.21614453992042088 105 | 0.21190770680396298 106 | 0.1539947379636532 107 | 1.9037698757727592 108 | 0.5677257537667202 109 | -2.694897624562248 110 | -0.4212594104940825 111 | 0.8059277717444433 112 | -0.6029710476475795 113 | -0.38191399063129655 114 | 1.5869428088349138 115 | 0.3100065067673213 116 | 1.4067083979782764 117 | 0.910601863030573 118 | -0.04479284046357085 119 | -0.446377448156661 120 | -0.30378518410986804 121 | -2.0701152956154636 122 | -0.47614935241134293 123 | -2.396897936496366 124 | -0.11351565746446164 125 | -0.7020761163157758 126 | 0.7264680259551172 127 | 1.2857336314538435 128 | -0.3319769293088622 129 | 0.2816449217808235 130 | 1.8322316705522617 131 | -0.7150773491132383 132 | -1.7613393101592387 133 | 2.1605295309375774 134 | 0.15094595066401986 135 | 0.4023210893405335 136 | -0.6140555748899906 137 | 0.590914562710575 138 | 0.7895179925468477 139 | -1.0176808595303102 140 | 0.1561548372920248 141 | -0.5484189242363668 142 | 0.49072488266823605 143 | -1.2531064419970834 144 | -0.4863357767695408 145 | 1.0976127689573918 146 | 1.347339895029302 147 | 0.960330974954691 148 | -2.620725555013296 149 | -0.39006506040152406 150 | -0.0920467393285691 151 | 0.48249376624181367 152 | -0.9685641930900167 153 | -0.5457678044549682 154 | 0.7702746044207425 155 | 0.8330744445094483 156 | -1.684530894536593 157 | -0.4819088186844225 158 | -1.3122634858499536 159 | 0.5838990986730326 160 | 0.1600627298834159 161 | -2.182992054671226 162 | -0.4533458924867273 163 | 1.1019427973256248 164 | -0.6510634671495193 165 | -1.024864963831034 166 | -0.7424796655418052 167 | 0.47380979531667305 168 | 0.1022371924149101 169 | -1.3677986807937428 170 | -0.03309170489630516 171 | 0.6672851350859679 172 | 1.6026234591740085 173 | -0.2523105786024812 174 | 0.1696547457582954 175 | -2.5805897197382635 176 | -0.27974615132248604 177 | 1.110167730428067 178 | -1.011876355405008 179 | 0.5928332487989781 180 | -0.6431133066043898 181 | -0.3902606364766581 182 | -1.9671042890607016 183 | 0.6509032714922414 184 | 0.6484161181973173 185 | -1.4867580720450244 186 | 0.9600994898221876 187 | 0.0839736967769595 188 | -0.4808779727658368 189 | -1.7507419862837517 190 | 0.2772251188951416 191 | 0.6926347231945441 192 | -1.1022535727753962 193 | 0.39481920992949676 194 | 0.3694930565517267 195 | 0.22322176718184278 196 | 0.47447534719781614 197 | -0.08807181001851382 198 | -0.8684964019557831 199 | 0.3707249957278082 200 | 1.599887670418733 201 | 0.7148565875976844 202 | -0.6129764794985577 203 | 0.6114923329281866 204 | -0.2690201046055559 205 | 0.27847169074850414 206 | -0.0133539047323267 207 | -0.9909053252082956 208 | -0.0982119631704127 209 | 1.2811017474663677 210 | 0.14077947453405112 211 | 0.14969582378759574 212 | -0.5360837318336069 213 | -0.41616149921982337 214 | -0.0893888632604354 215 | -1.1775545247485275 216 | 0.491832387428195 217 | 0.7085475690436429 218 | -0.010232503601420433 219 | -1.9385768736793956 220 | -0.30623751587549003 221 | 0.3973999034340896 222 | -0.4378648816993353 223 | 0.6984651442535799 224 | 0.12583861264826526 225 | -0.663829782129542 226 | 1.4384411145829703 227 | -0.46900662446614044 228 | -0.6448271346393827 229 | 1.2950439838667185 230 | 2.396903751844938 231 | 0.3186280213587604 232 | 0.0831502905604471 233 | 0.18221605708184194 234 | -0.8590559909392956 235 | -0.08407740987689667 236 | -0.527239157030632 237 | 1.7171768877704316 238 | 0.3628144687806963 239 | -1.270482838488986 240 | -0.7629874841783815 241 | -0.3388957836971822 242 | 0.5418569471295392 243 | 0.6482743864567629 244 | -0.9499599997073338 245 | -0.5845029692888921 246 | -0.13241676879028283 247 | -0.22249014825543498 248 | -2.0103434673736342 249 | 0.8706985659772294 250 | -0.14735101984483892 251 | -0.655515084318272 252 | 0.9116401156408845 253 | 0.5739988822317843 254 | -0.17625730315436544 255 | 0.32093277446163676 256 | -0.7396543317891082 257 | -------------------------------------------------------------------------------- /dat/normal_0_1.4.tsv: -------------------------------------------------------------------------------- 1 | -0.7103427003969095 2 | -0.5283023866689024 3 | 0.5911622233432795 4 | -0.7173721034674968 5 | 1.4562235933931484 6 | -1.545512995752171 7 | -0.41922424021251475 8 | -0.882129885659251 9 | 2.5822058052031323 10 | -1.4687329486630838 11 | 0.4670736284733157 12 | -0.8821283828314973 13 | -0.3060203942789708 14 | 0.05476898556441196 15 | -0.22843526373498715 16 | 0.06861033864797135 17 | 0.5947807096458937 18 | 0.05193141256362811 19 | -0.3597657313758539 20 | 0.12648429322862603 21 | 0.07399721485649055 22 | -0.6204857251476444 23 | 0.47124039979617505 24 | 0.9350981659498194 25 | -0.08158189544637454 26 | 0.7448591454264111 27 | -0.4077932437781906 28 | 1.154658890056039 29 | 0.9633359606416901 30 | -1.0868064084705682 31 | 0.870443785415325 32 | 0.49006949885820084 33 | -0.41675225654147324 34 | -1.932565830683475 35 | 0.03757820305221795 36 | 0.3690967779115458 37 | 0.19010378419578186 38 | 0.2126405099275181 39 | 0.5222910320068036 40 | 1.6881557189434186 41 | 1.387319259178677 42 | 0.577405098150836 43 | 0.4640642477532849 44 | 0.6674280913724404 45 | -0.6829954630187531 46 | 0.8890596315909801 47 | -0.8580546854078231 48 | -0.48178764128000756 49 | -0.6666300196711265 50 | -0.293269985534803 51 | -0.18524033691809172 52 | 0.5354095548315986 53 | 0.016558354893150495 54 | -1.1060809379209429 55 | -0.33027773476991035 56 | -0.6642855059250237 57 | 0.40722705554208083 58 | 0.29490675228311 59 | -0.27781157013747226 60 | 1.618732184166248 61 | 0.8671275349996355 62 | 1.358930473055961 63 | -0.4636835846318268 64 | 0.20358637631096982 65 | 0.19597098308714844 66 | -1.3962482160544814 67 | -0.30382510366196985 68 | 1.594252089743553 69 | 0.43896428806452786 70 | -0.6530392144917129 71 | -0.1268388587361962 72 | -0.11446932074869219 73 | -1.369855989085258 74 | -0.745283669952991 75 | 0.17340134449783562 76 | 1.0259500327928388 77 | -1.4228616293987384 78 | -2.574787067423711 79 | -0.12298664492717667 80 | -1.0571895895815955 81 | -0.5686159373962917 82 | -0.296360665327629 83 | -0.8452003663785028 84 | -0.5099453120727762 85 | 1.1613380712562187 86 | 0.16110649772424204 87 | 0.21092047175219744 88 | 0.31367132502164563 89 | 0.859349895366838 90 | 1.1721385357011767 91 | 0.6546289555610587 92 | -0.7246045869287638 93 | -0.7937180771359958 94 | -0.6807892652406803 95 | -0.5031382560155904 96 | 2.1027128221864464 97 | -2.1654359188933414 98 | -1.4043390048492717 99 | 0.7465542046937599 100 | -2.0013285886213668 101 | -0.12493035402710807 102 | -0.5609993228723201 103 | -0.4213391957137564 104 | 0.6063135629540317 105 | -1.39875024341375 106 | 0.6293258621075446 107 | -0.997587789358674 108 | -0.21798838018409594 109 | -0.5583247446404829 110 | 0.5331010438272472 111 | 0.5804813079559584 112 | 2.0238016809796386 113 | -1.7297945084858992 114 | -0.7255302132136674 115 | -1.59513783711202 116 | -0.613993906286724 117 | -0.6156570899047237 118 | -2.6111621724640526 119 | 0.902235629300371 120 | -1.742462124060736 121 | 1.8960428840635228 122 | -1.1502856620975173 123 | -1.5081042126271331 124 | -1.1008172322976437 125 | 0.03356814751311625 126 | 0.5509566092287104 127 | -0.3110110784298412 128 | -0.40001298675802177 129 | -0.6733135780038532 130 | -0.9035227457605685 131 | 0.8962334232246367 132 | -0.5403026661696547 133 | -2.7118331513653775 134 | -1.7923787920816514 135 | 0.41806305264039034 136 | 0.007611226721443844 137 | -1.708289049175832 138 | -2.4624217425687043 139 | 1.3105489796777305 140 | -0.6545263231482289 141 | -0.6642640627060413 142 | -0.09281287107312373 143 | -0.01894963084649124 144 | -1.2989061291172246 145 | 0.031763874811546605 146 | 0.2763142884472984 147 | -1.4290795638800726 148 | -0.6888575465545624 149 | 2.3752801023030288 150 | -0.34342189593863126 151 | 1.2157454399757515 152 | -1.5684597214843303 153 | -0.052188639321830536 154 | -0.4905490130053774 155 | 1.284478334130969 156 | -1.9145813415808655 157 | 1.1084346255809499 158 | -1.2101115011130663 159 | 0.8763621965431468 160 | 1.2489340506406215 161 | -2.0605851644695856 162 | -1.3434379522297755 163 | -1.3753790220839688 164 | 1.6337165425886198 165 | -0.6604424569993583 166 | 0.12457912135434424 167 | 1.0826210324972 168 | -1.1922507962274416 169 | 2.3642705141645206 170 | 0.4689578365589348 171 | 0.8728219885912801 172 | 1.262142004285106 173 | -0.06421596445317193 174 | -1.219961361392441 175 | -1.700036794260322 176 | 0.4437067929541158 177 | -0.36322586293538106 178 | -0.177432755827821 179 | 1.013620818829868 180 | -0.38693246244099616 181 | 0.7888458778764792 182 | -0.04957626187220113 183 | -1.8163683537505366 184 | 1.0237983426202475 185 | -0.34723751253575824 186 | -0.9214654373771278 187 | 1.5920461971869173 188 | 0.6610673550707704 189 | 1.385143680975824 190 | -0.6489202633338212 191 | -0.39991612384954905 192 | 0.40729575695527204 193 | 0.32773494591588764 194 | -0.014820112536696187 195 | 1.8195870699417438 196 | 0.16269004148383104 197 | 1.4065451687933874 198 | 0.0798027409873095 199 | -0.7584641872011874 200 | 2.114979860793328 201 | 0.07469209427886338 202 | 1.0142585753463205 203 | 1.0185845412354146 204 | 1.789933287980364 205 | -1.026992017178622 206 | 1.15127750530478 207 | -0.5749674844666526 208 | 0.6849532286095967 209 | 1.3190490726089006 210 | -0.36603358252948354 211 | -0.8925190726166495 212 | -1.0159793763822855 213 | -2.2480659111745003 214 | 1.2134845203780293 215 | 0.2978527715902931 216 | -0.44788988279307573 217 | 0.8928340825666766 218 | 1.2633028300836182 219 | -0.4621660511782089 220 | -0.5397759423889523 221 | -0.11634273969293356 222 | -0.43664929498473964 223 | -0.31311073110842946 224 | -1.335376563607747 225 | 0.9393917767871348 226 | -1.2568868913644267 227 | 0.43988230186345967 228 | 0.928972993617449 229 | -2.245392808686099 230 | -1.861074205661301 231 | -1.0049177882170757 232 | -0.6642413277689602 233 | 1.3610975285586189 234 | 0.24253201972343952 235 | 1.88253691123809 236 | 1.4899062529572293 237 | 0.1999323242426723 238 | -0.049895747937163545 239 | -0.01719084846123858 240 | 0.10638023542200066 241 | 1.4011229946388335 242 | 0.2673090527398215 243 | 0.8129777657502657 244 | 0.6545379836033826 245 | 0.8841079904856078 246 | 1.3012721533470777 247 | -0.6152085884123333 248 | 0.36045655143314737 249 | -0.23106063474194224 250 | 0.184156039899999 251 | 0.19935483849756663 252 | 0.2452612517109069 253 | -1.0137001001912964 254 | 0.629655942473118 255 | -1.0527808331990183 256 | 0.34471585092793205 257 | -------------------------------------------------------------------------------- /dat/normal_0_2.1.tsv: -------------------------------------------------------------------------------- 1 | -0.9426747382290968 2 | -0.24602271878018317 3 | 3.2897206975411986 4 | -2.624330403311898 5 | -0.07764642134829926 6 | -1.9544634644128944 7 | -0.5831877185585017 8 | 0.31883213552542544 9 | -0.3714683521092863 10 | 0.20700444007654542 11 | -2.2474431176357914 12 | -0.34933674138632437 13 | 0.8011605144490118 14 | 1.5817102388150228 15 | 0.17795356051087757 16 | 1.8379183857597414 17 | -0.2931865493453352 18 | -0.2380331035325742 19 | 3.3906489864253166 20 | -2.8840442322398037 21 | 0.5224034531679551 22 | -2.6665442364012515 23 | -1.4708299556817985 24 | -2.185653619170334 25 | -0.5409258179980762 26 | -0.3104074096064582 27 | 0.36919885578895645 28 | -1.0081816224949387 29 | 0.49852320843469133 30 | -3.006580347195384 31 | -1.9132192000252202 32 | -0.26558263911737434 33 | 2.2475088948245077 34 | 0.11023492069339447 35 | 0.93323806791154 36 | 0.3616531340471741 37 | -2.0373569547903267 38 | 0.028605714690489555 39 | 0.36633544970713144 40 | 2.1610829947487193 41 | -0.9733557206984784 42 | -0.8277402241284503 43 | 1.4173621032640906 44 | -0.5593203537135202 45 | -0.5073911778062125 46 | 0.11077464467784864 47 | 2.2960589163990908 48 | -2.692655877376227 49 | 1.898617636385787 50 | -1.7066554037997819 51 | 0.32460901965039013 52 | -1.1569596891814413 53 | -0.0015660803825597778 54 | 2.0554921024205894 55 | 0.34060386986647556 56 | -0.5965850259263857 57 | -1.0646057159141835 58 | 0.3130609227898211 59 | -0.8631480763656671 60 | 3.2737912310656365 61 | -1.152143610840594 62 | -1.6588269831732247 63 | 0.3535540078840961 64 | 1.344806438548498 65 | -1.6531833112141041 66 | -1.8781431522988374 67 | -0.8411622737539636 68 | 1.3734614791887632 69 | 0.726433772858039 70 | -0.2441220922146867 71 | 2.1174490997265263 72 | -0.5083848938766541 73 | 2.3903233596667626 74 | 0.3585263549128422 75 | -0.2034423737690127 76 | 0.32842738839767743 77 | -1.8139216155896354 78 | -0.7169822711779469 79 | 1.165961358739854 80 | 0.4203409282324772 81 | 1.1667115819694946 82 | -1.4370791177990434 83 | -0.6677228373790017 84 | 1.0831298786256274 85 | 0.4038616024235588 86 | -0.09605606283261342 87 | 1.208880154175185 88 | 0.6088005219885245 89 | 0.48604424045788924 90 | 1.2542357626360467 91 | -0.7749608785594455 92 | -1.1318376303803415 93 | -0.3940361858601179 94 | 1.0755352436493593 95 | 0.5851547146669236 96 | 1.7576715405888805 97 | -2.2786828639979304 98 | 1.6125003871115082 99 | 0.48282630475596516 100 | -0.7007929438829631 101 | -3.01937936154627 102 | 1.082628423312459 103 | 0.9409416925912502 104 | -2.4387076197469617 105 | 0.8664017230675005 106 | -1.8410802879872634 107 | -2.624418177842855 108 | 1.7545689145228114 109 | -2.8157259561797674 110 | 0.5686866279891949 111 | -0.6777820838142309 112 | 0.15878888583581258 113 | 0.3471349406541843 114 | -1.0938166245473997 115 | 0.7687447178506597 116 | 1.130907619661291 117 | -0.16604445969271855 118 | -0.23886859860736326 119 | -0.43016028723864314 120 | 0.18389315133108453 121 | 0.6200849650171298 122 | -1.0047544661364778 123 | -0.6549726467649615 124 | -0.648336479454407 125 | 1.0977868543073646 126 | 0.5499258587629324 127 | -0.6074390405569302 128 | -2.836483264547689 129 | 1.8833144884427098 130 | 0.03634868544990709 131 | -0.36530266317484666 132 | 0.22273736154906218 133 | 1.4919242387051714 134 | -1.686298476494739 135 | -1.1911752431875382 136 | 0.9522831515428554 137 | 0.8338125412807945 138 | 0.8536964120553185 139 | 0.08195585083456618 140 | 0.1367586375069242 141 | 0.031074585058105297 142 | 0.8546566001590957 143 | -1.6923414123124372 144 | -0.9321637346758173 145 | -0.10255279470215845 146 | -0.29545952202067227 147 | 0.6260031478333734 148 | -0.027655519274516434 149 | -0.2482213450870552 150 | -1.50322080924434 151 | -0.40398824941345474 152 | -1.1721532073625887 153 | 1.6975999512472395 154 | -0.3174346426407867 155 | 2.4108129711353024 156 | -1.440283806767837 157 | 2.294472128221922 158 | 0.1983929781394825 159 | 0.49874722167844804 160 | -0.1255057705376183 161 | -1.8550010056923878 162 | -0.05136913520328793 163 | -0.42669447395245547 164 | -1.09492736419203 165 | -0.4268708973419243 166 | -1.0613043130940056 167 | -0.5038036297036647 168 | -1.3902550140625454 169 | 1.6730941537021944 170 | 0.6569941309678761 171 | -1.9015786276857816 172 | -1.5671921164733666 173 | 0.08534555179300574 174 | -1.068345717551963 175 | -1.4191566862623803 176 | -1.8317151070306328 177 | -2.184855179592229 178 | -0.502539605054494 179 | 0.9661300560634472 180 | 1.806110770400808 181 | -2.4610613176235026 182 | 0.06416114266014827 183 | 0.10637134291989644 184 | -2.2595727795697504 185 | 0.07522447481981558 186 | -0.4590626392482529 187 | -1.2212281924712942 188 | -1.7969286448154094 189 | 0.11253102293842852 190 | -0.30878351907550927 191 | -0.05585164570448121 192 | -0.9208552261174608 193 | -0.7238333788826111 194 | 2.0923634075678548 195 | -0.515297535461046 196 | 1.121963082026676 197 | -0.47781595806595517 198 | -1.1404381720809664 199 | -0.9678545652375188 200 | -1.3731048545976496 201 | -1.1710161527807283 202 | 1.9358400994060556 203 | -1.0769635298927431 204 | -1.448835452223016 205 | -1.5266650608235002 206 | -0.7937237610064961 207 | 0.9710256982419377 208 | 0.016386759925406 209 | 0.20222239195009342 210 | 0.3336651480316587 211 | -1.4321498535416926 212 | 0.12249586044118638 213 | 1.793932228603105 214 | 0.24823118670002117 215 | -1.685016852809846 216 | 0.6706692710554678 217 | -0.8102596781108754 218 | -0.46104249592112523 219 | 1.304182499423238 220 | -2.6032374026644782 221 | -0.10370436355145218 222 | 3.936068669275684 223 | -0.10267288733764515 224 | -2.520627047975019 225 | -1.757702391714625 226 | 2.405435165900601 227 | -2.021697484705231 228 | -1.992559633624957 229 | -1.526631744884722 230 | 2.80854936874979 231 | -0.736635289664166 232 | 1.780480947914502 233 | -1.2817326111118614 234 | -0.33708048288196535 235 | 0.5385887345356435 236 | -0.33274097108677236 237 | -0.7706430388018839 238 | -2.0444077851686866 239 | -1.2867901081190893 240 | -1.3767123942734467 241 | -0.2761835648991539 242 | -3.5572061134805653 243 | -0.21196892619094565 244 | -0.3316948178371199 245 | -1.309590603736398 246 | -0.49799804195897285 247 | -2.9412410152166224 248 | -0.8943516207689831 249 | -0.36197627877570815 250 | -1.1698733662025802 251 | -0.16932458452347088 252 | 1.1860306772468614 253 | 0.14249739262379021 254 | -0.18879979858079166 255 | 0.6666384683921719 256 | 1.5300649468750316 257 | -------------------------------------------------------------------------------- /dat/normal_0_1.3.tsv: -------------------------------------------------------------------------------- 1 | 1.0043842760367827 2 | -0.4675674844001255 3 | -0.13534881746301278 4 | -0.013407639540645928 5 | -1.8869058967140535 6 | -1.1642751819912562 7 | 1.0197951676727228 8 | -0.9087711520779046 9 | -0.27471080102226314 10 | 0.9704607643399816 11 | 0.19067712777818138 12 | -0.19467864855450612 13 | -0.5419799494298112 14 | -1.1989754262105061 15 | 2.4041028464478322 16 | 0.04878101979998611 17 | -0.4870434993572385 18 | -1.2416787852922981 19 | -1.5626579566165244 20 | 2.8533448007768607 21 | 1.6709612570820165 22 | 0.3563003552916404 23 | -1.47104230989849 24 | -0.4639699324100973 25 | -1.030562655192698 26 | 0.8909220693562506 27 | -0.35386699386308684 28 | -1.7099620966051383 29 | 0.9375352762691455 30 | 1.440608827662881 31 | -0.02554519482948414 32 | 1.2415462203097831 33 | 1.3487223623830686 34 | 0.13158752047761535 35 | -0.3482328629957033 36 | 2.2297707067775714 37 | -1.1254526037163342 38 | 0.6477453912031512 39 | -0.2167457214840755 40 | -0.4990619143289408 41 | -0.3864847106533004 42 | 0.5690632358620994 43 | 1.5387193497181384 44 | 0.4265194591167686 45 | -1.9253300821343016 46 | -0.3511309272008097 47 | 0.8471457609087587 48 | -0.432895127756443 49 | -0.0990503255047328 50 | -0.40968168007027717 51 | -0.7530157399553863 52 | 0.6020562869316287 53 | 0.4709629850518897 54 | -0.7201428941877039 55 | -0.4749693802796514 56 | 0.7253361500524761 57 | 1.4474373758168055 58 | 0.005225587480170265 59 | 0.1467365644907869 60 | 2.181768558089916 61 | -1.5700763043071564 62 | 0.5870151191170399 63 | -1.3614911725673098 64 | -0.197714785889878 65 | 0.413904728128479 66 | 1.6516593388971055 67 | -0.716969183859977 68 | 0.6712948363605485 69 | 0.5182415070641523 70 | 0.49878276358788565 71 | -0.2945589574426951 72 | -0.03803993859283405 73 | -0.2904222290057037 74 | 0.5447957759245556 75 | 1.2596669949818184 76 | 1.2722426985257722 77 | -2.001682586986625 78 | -0.14584163955141344 79 | 0.5679457785343123 80 | -0.9630893934116633 81 | 1.232346077525937 82 | -1.0847269200689449 83 | 1.0158774417932457 84 | -0.9147082908218427 85 | 1.564606311884663 86 | -1.984137137410777 87 | 0.16691415856710637 88 | -0.4252280539525477 89 | 0.5115868263550638 90 | 1.1370648722318337 91 | -0.9070935554801764 92 | -0.06311031077599155 93 | 1.4949476955954286 94 | 1.5515688051808574 95 | -0.33946372118482043 96 | -0.6209046022822098 97 | -0.12072263969203982 98 | -1.0424426203874255 99 | 0.7510472893917659 100 | 0.4461166645151255 101 | -1.27109681883591 102 | -0.5978347043607686 103 | -1.6023355485020936 104 | 0.06218108264772981 105 | -0.7942495222307926 106 | 0.7600755900538599 107 | -0.6231665127860546 108 | -2.1534268453513494 109 | -1.4286152553527849 110 | -0.6877140609813746 111 | 1.062098499795994 112 | -2.001151088154331 113 | 1.1649696630094795 114 | -1.8925360483616414 115 | -1.0862194944178132 116 | 0.22226228375024168 117 | -0.8939301206376031 118 | -0.9179288458593101 119 | -1.1115260930687347 120 | 0.9171068289092345 121 | 0.46953930491692386 122 | 0.8707320965215224 123 | 1.3533057544840816 124 | -0.5156836769770133 125 | 0.3108868267639481 126 | 0.0006360963998154217 127 | 0.7473504382394339 128 | 0.3879587390799076 129 | -1.784304645044837 130 | -1.0447675430574286 131 | -1.2318028825764287 132 | -1.8588997896811474 133 | 1.0929582771177428 134 | -1.2750573228525928 135 | 1.2425395922363969 136 | 0.3451511841843314 137 | -0.7685840465902004 138 | -0.2760373877529182 139 | -0.4316007279995374 140 | -1.5206689111525176 141 | -2.810187943877781 142 | 1.1573370182629767 143 | -0.6961003380684541 144 | -0.1331954842002882 145 | 2.020292562018601 146 | 1.9061406611134417 147 | 0.8017577072454479 148 | 0.0779887586245069 149 | 0.9030653985296568 150 | -0.9865851607892756 151 | -0.8673143177121939 152 | -1.437509156211587 153 | -0.4875451154572356 154 | 2.7433955426011094 155 | -0.10924651573822884 156 | 2.027202077560968 157 | -0.23729112575796787 158 | -0.7312616250835388 159 | 1.6939760989388468 160 | 0.7350443477515922 161 | 1.2742314968153023 162 | -0.7066800491801598 163 | -0.6073527600376062 164 | 0.14423612390934312 165 | -1.1346240691139076 166 | -1.5530802106876191 167 | -0.07474838631240532 168 | 0.5583659565170757 169 | -1.184248252445555 170 | 1.1903409135226761 171 | 0.5730291994510526 172 | -0.10034147778836754 173 | 0.7451329907947963 174 | 1.3502304524957116 175 | 0.9119601464856796 176 | -0.21234808756845383 177 | -0.21128878346779853 178 | -1.8388675440725375 179 | -0.625058672087528 180 | 0.11638952056369044 181 | -1.0489895776503813 182 | -0.23912145591953732 183 | 0.1650495804687474 184 | 0.9577013017897809 185 | -1.1230845121843684 186 | -0.2213429148227319 187 | 0.38205272617816377 188 | 1.0393338659339333 189 | -0.019525838780361123 190 | -0.3072552496766064 191 | 0.774698502134618 192 | -0.9320906652955502 193 | -0.7547259185836985 194 | -0.5718366831833239 195 | 2.3132484496749757 196 | -0.9668704665919674 197 | -0.2732050998283057 198 | -0.01686266873169838 199 | 0.9617157920207154 200 | 0.4761297215230557 201 | -0.31121027185904493 202 | 0.24882904395854832 203 | 0.634614760638983 204 | 1.0436253725930111 205 | -0.9684054427598998 206 | 1.2680553791551767 207 | 0.8940926826502963 208 | -0.7064132183288874 209 | -2.0765853368289133 210 | -0.9417042291595367 211 | 0.8625499529157817 212 | -0.41639907275825944 213 | 1.1214650730865778 214 | 0.32451116739142466 215 | 0.8355218912225355 216 | 0.45476320664101694 217 | -0.3374013676483571 218 | 0.2068628876910505 219 | 0.21605734523983652 220 | -0.29163335631882775 221 | 1.8601572161447342 222 | 0.5496868119589859 223 | -0.17698553821694993 224 | -0.9483710457523051 225 | -1.6709255554406393 226 | 0.3678655323557013 227 | -0.7612863195101967 228 | -1.525848009146169 229 | 0.05609101874977461 230 | 1.0814498081506871 231 | 0.043036974549478364 232 | 1.9469461250000302 233 | -0.3813243641930157 234 | -0.6628655921260783 235 | -0.7824018624052361 236 | -0.10235882313590097 237 | -0.8513914272014826 238 | -0.4394108182796617 239 | 0.3947465462033501 240 | -0.23431898973516127 241 | 0.26988468269956767 242 | 0.5746032722874079 243 | 0.5941571514698702 244 | -0.09370286969007782 245 | -0.20665813703083122 246 | -0.003227506130478932 247 | 1.1027207537419683 248 | -0.23253788227624253 249 | 0.5287132389580746 250 | -0.4534603315640126 251 | 1.837561539407155 252 | -0.5879956070006643 253 | -2.949424755840551 254 | -0.002109069525665112 255 | -0.25610239309186955 256 | -1.42616505065363 257 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/daithiocrualaoich/kolmogorov_smirnov.svg?branch=master)](https://travis-ci.org/daithiocrualaoich/kolmogorov_smirnov) 2 | 3 | Implementation of the Kolmogorov-Smirnov statistical test as a Rust library. 4 | Read an introduction about this project, Rust, and the Kolmogorov-Smirnov test 5 | [here](http://daithiocrualaoich.github.io/kolmogorov_smirnov). 6 | 7 | 8 | Getting Started 9 | --------------- 10 | The Kolmogorov-Smirnov library is available as a crate, so it is easy to 11 | incorporate into your programs. Add the dependency to your `Cargo.toml` file. 12 | 13 | [dependencies] 14 | kolmogorov_smirnov = "1.1.0" 15 | 16 | Information about the latest published crate is available on 17 | [crates.io](https://crates.io/crates/kolmogorov_smirnov). 18 | 19 | Using the test is also straightforward, call the `kolmogorov_smirnov::test` 20 | function with the two samples to compare and the desired confidence level. 21 | 22 | extern crate kolmogorov_smirnov as ks; 23 | 24 | let xs = vec!(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); 25 | let ys = vec!(12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); 26 | let confidence = 0.95; 27 | 28 | let result = ks::test(&xs, &ys, confidence); 29 | 30 | if !result.is_rejected { 31 | // Woot! Samples are from the same distribution with 95% confidence. 32 | } 33 | 34 | Alternatively, if you have floating point or integer data to test, you can use 35 | the included test runners, ``ks_f64.rs`` and ``ks_i32.rs``. These operate on 36 | single-column headerless data files and test the samples against each other at 37 | the 95% confidence level. 38 | 39 | $ cargo run -q --bin ks_f64 dat/normal_0_1.tsv dat/normal_0_1.1.tsv 40 | Samples are from the same distribution. 41 | test statistic = 0.0399169921875 42 | critical value = 0.08550809323787689 43 | reject probability = 0.18365715210599798 44 | 45 | $ cargo run -q --bin ks_f64 dat/normal_0_1.tsv dat/normal_1_1.1.tsv 46 | Samples are from different distributions. 47 | test statistic = 0.361572265625 48 | critical value = 0.08550809323787689 49 | reject probability = 1 50 | 51 | 52 | Developing Kolmogorov-Smirnov 53 | ----------------------------- 54 | Install the [Rust] development tools on your system if they are not already 55 | available. Then build and test the library using: 56 | 57 | cargo test 58 | 59 | [Rust]: https://www.rust-lang.org 60 | 61 | 62 | Docker 63 | ------ 64 | A [Docker] container definition is provided with installations of the tools 65 | used to develop the software. To use the container, first install Docker if not 66 | already available and start a Docker terminal. Then create the container by 67 | running the following build at the top level of the repository source tree: 68 | 69 | docker build --rm=true -t statistics . 70 | 71 | [Docker]: http://docker.io 72 | 73 | Once built, an interactive shell can be run in the container using: 74 | 75 | docker run -it -v "$(pwd):/statistics" --workdir=/statistics statistics /bin/bash 76 | 77 | The current working directory from the host machine is available as the current 78 | directory in the container so it is possible to build and test the library as 79 | described earlier. 80 | 81 | cargo test 82 | 83 | To see more detail on panics include the `RUST_BACKTRACE` environment variable. 84 | 85 | RUST_BACKTRACE=1 cargo test 86 | 87 | 88 | Building the Documentation 89 | -------------------------- 90 | The RestructuredText format [Sphinx] documentation under `doc` can be compiled 91 | using the Makefile. 92 | 93 | cd doc 94 | make clean html 95 | 96 | [Sphinx]: http://sphinx-doc.org 97 | 98 | See this [RestructuredText Primer] for guidance on writing RestructuredText. 99 | 100 | [RestructuredText Primer]: http://sphinx-doc.org/rest.html 101 | 102 | The Docker container provides an installation of Python, Sphinx, and LaTeX 103 | required to do this build. To make the documentation directly in container 104 | without an intermediate shell, use: 105 | 106 | docker run -v "$(pwd):/statistics" --workdir=/statistics/doc statistics make clean html 107 | 108 | The compiled document is written to the shared location and is available on the 109 | host machine under `doc/_build`. It is published at 110 | http://daithiocrualaoich.github.io/kolmogorov_smirnov using [Github Pages]. 111 | 112 | [Github Pages]: https://pages.github.com 113 | 114 | To republish updated documentation, first build the html. Then create a copy of 115 | the repository and checkout the `gh-pages` branch. A separate copy is useful 116 | because the `master` and `gh-pages` branches are very dissimilar and switching 117 | between them with uncommitted changes is tedious. 118 | 119 | cd .. 120 | cp -r kolmogorov_smirnov kolmogorov_smirnov_ghpages 121 | cd kolmogorov_smirnov_ghpages 122 | git reset --hard HEAD 123 | git clean -fdx 124 | git checkout gh-pages 125 | 126 | Now remake the contents of this branch from the recently generated document. 127 | 128 | rm -fr * 129 | cp -r ../kolmogorov_smirnov/doc/_build/html/* . 130 | 131 | A `.nojekyll` file is also needed in order to prevent Github from ignoring the 132 | Sphinx CSS files. 133 | 134 | touch .nojekyll 135 | 136 | Commit the changes and push the `gh-pages` branch to origin to perform the 137 | publication. 138 | 139 | git push origin gh-pages 140 | 141 | To regenerate the diagrams, run the following. 142 | 143 | docker run -v "$(pwd):/statistics" --workdir=/statistics/dat statistics R -e "rmarkdown::render('images.Rmd')" 144 | 145 | 146 | Publishing on crates.io 147 | ----------------------- 148 | Instructions for uploading to the crate repository at crates.io are 149 | [here](http://doc.crates.io/crates-io.html#publishing-crates). First login to 150 | the site using: 151 | 152 | cargo login 153 | 154 | Token can be found from [crates.io/me](https://crates.io/me). To make a release, 155 | first clean and build the package: 156 | 157 | git stash 158 | cargo clean 159 | cargo package 160 | 161 | Examine the built package under `target/package/kolmogorov_smirnov-`. 162 | And when happy to publish: 163 | 164 | cargo publish 165 | 166 | And check out the new update at 167 | [crates.io/crates/kolmogorov_smirnov](https://crates.io/crates/kolmogorov_smirnov). 168 | 169 | 170 | License 171 | ------- 172 | 173 | Copyright [2015] [Daithi O Crualaoich] 174 | 175 | Licensed under the Apache License, Version 2.0 (the "License"); 176 | you may not use this file except in compliance with the License. 177 | You may obtain a copy of the License at 178 | 179 | http://www.apache.org/licenses/LICENSE-2.0 180 | 181 | Unless required by applicable law or agreed to in writing, software 182 | distributed under the License is distributed on an "AS IS" BASIS, 183 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 184 | See the License for the specific language governing permissions and 185 | limitations under the License. 186 | -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | PAPER = 8 | BUILDDIR = _build 9 | 10 | # User-friendly check for sphinx-build 11 | ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) 12 | $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) 13 | endif 14 | 15 | # Internal variables. 16 | PAPEROPT_a4 = -D latex_paper_size=a4 17 | PAPEROPT_letter = -D latex_paper_size=letter 18 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 19 | # the i18n builder cannot share the environment and doctrees with the others 20 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 21 | 22 | .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext 23 | 24 | help: 25 | @echo "Please use \`make ' where is one of" 26 | @echo " html to make standalone HTML files" 27 | @echo " dirhtml to make HTML files named index.html in directories" 28 | @echo " singlehtml to make a single large HTML file" 29 | @echo " pickle to make pickle files" 30 | @echo " json to make JSON files" 31 | @echo " htmlhelp to make HTML files and a HTML help project" 32 | @echo " qthelp to make HTML files and a qthelp project" 33 | @echo " applehelp to make an Apple Help Book" 34 | @echo " devhelp to make HTML files and a Devhelp project" 35 | @echo " epub to make an epub" 36 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 37 | @echo " latexpdf to make LaTeX files and run them through pdflatex" 38 | @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" 39 | @echo " text to make text files" 40 | @echo " man to make manual pages" 41 | @echo " texinfo to make Texinfo files" 42 | @echo " info to make Texinfo files and run them through makeinfo" 43 | @echo " gettext to make PO message catalogs" 44 | @echo " changes to make an overview of all changed/added/deprecated items" 45 | @echo " xml to make Docutils-native XML files" 46 | @echo " pseudoxml to make pseudoxml-XML files for display purposes" 47 | @echo " linkcheck to check all external links for integrity" 48 | @echo " doctest to run all doctests embedded in the documentation (if enabled)" 49 | @echo " coverage to run coverage check of the documentation (if enabled)" 50 | 51 | clean: 52 | rm -rf $(BUILDDIR)/* 53 | 54 | html: 55 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html 56 | @echo 57 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." 58 | 59 | dirhtml: 60 | $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml 61 | @echo 62 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." 63 | 64 | singlehtml: 65 | $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml 66 | @echo 67 | @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." 68 | 69 | pickle: 70 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle 71 | @echo 72 | @echo "Build finished; now you can process the pickle files." 73 | 74 | json: 75 | $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json 76 | @echo 77 | @echo "Build finished; now you can process the JSON files." 78 | 79 | htmlhelp: 80 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp 81 | @echo 82 | @echo "Build finished; now you can run HTML Help Workshop with the" \ 83 | ".hhp project file in $(BUILDDIR)/htmlhelp." 84 | 85 | qthelp: 86 | $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp 87 | @echo 88 | @echo "Build finished; now you can run "qcollectiongenerator" with the" \ 89 | ".qhcp project file in $(BUILDDIR)/qthelp, like this:" 90 | @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Statistics.qhcp" 91 | @echo "To view the help file:" 92 | @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Statistics.qhc" 93 | 94 | applehelp: 95 | $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp 96 | @echo 97 | @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." 98 | @echo "N.B. You won't be able to view it unless you put it in" \ 99 | "~/Library/Documentation/Help or install it in your application" \ 100 | "bundle." 101 | 102 | devhelp: 103 | $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp 104 | @echo 105 | @echo "Build finished." 106 | @echo "To view the help file:" 107 | @echo "# mkdir -p $$HOME/.local/share/devhelp/Statistics" 108 | @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Statistics" 109 | @echo "# devhelp" 110 | 111 | epub: 112 | $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub 113 | @echo 114 | @echo "Build finished. The epub file is in $(BUILDDIR)/epub." 115 | 116 | latex: 117 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 118 | @echo 119 | @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." 120 | @echo "Run \`make' in that directory to run these through (pdf)latex" \ 121 | "(use \`make latexpdf' here to do that automatically)." 122 | 123 | latexpdf: 124 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 125 | @echo "Running LaTeX files through pdflatex..." 126 | $(MAKE) -C $(BUILDDIR)/latex all-pdf 127 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 128 | 129 | latexpdfja: 130 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 131 | @echo "Running LaTeX files through platex and dvipdfmx..." 132 | $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja 133 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 134 | 135 | text: 136 | $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text 137 | @echo 138 | @echo "Build finished. The text files are in $(BUILDDIR)/text." 139 | 140 | man: 141 | $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man 142 | @echo 143 | @echo "Build finished. The manual pages are in $(BUILDDIR)/man." 144 | 145 | texinfo: 146 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 147 | @echo 148 | @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." 149 | @echo "Run \`make' in that directory to run these through makeinfo" \ 150 | "(use \`make info' here to do that automatically)." 151 | 152 | info: 153 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 154 | @echo "Running Texinfo files through makeinfo..." 155 | make -C $(BUILDDIR)/texinfo info 156 | @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." 157 | 158 | gettext: 159 | $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale 160 | @echo 161 | @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." 162 | 163 | changes: 164 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes 165 | @echo 166 | @echo "The overview file is in $(BUILDDIR)/changes." 167 | 168 | linkcheck: 169 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck 170 | @echo 171 | @echo "Link check complete; look for any errors in the above output " \ 172 | "or in $(BUILDDIR)/linkcheck/output.txt." 173 | 174 | doctest: 175 | $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest 176 | @echo "Testing of doctests in the sources finished, look at the " \ 177 | "results in $(BUILDDIR)/doctest/output.txt." 178 | 179 | coverage: 180 | $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage 181 | @echo "Testing of coverage in the sources finished, look at the " \ 182 | "results in $(BUILDDIR)/coverage/python.txt." 183 | 184 | xml: 185 | $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml 186 | @echo 187 | @echo "Build finished. The XML files are in $(BUILDDIR)/xml." 188 | 189 | pseudoxml: 190 | $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml 191 | @echo 192 | @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." 193 | -------------------------------------------------------------------------------- /dat/critical_values.tsv: -------------------------------------------------------------------------------- 1 | n1 n2 confidence critical_value 2 | 256 16 0.95 0.33708782494068146 3 | 256 17 0.95 0.3280258998274803 4 | 256 18 0.95 0.31972263753414154 5 | 256 19 0.95 0.31207893043756485 6 | 256 20 0.95 0.30501285940408707 7 | 256 21 0.95 0.2984560802578926 8 | 256 22 0.95 0.29235103726387024 9 | 256 23 0.95 0.28664886951446533 10 | 256 24 0.95 0.28130780905485153 11 | 256 25 0.95 0.2762918770313263 12 | 256 26 0.95 0.2715699300169945 13 | 256 27 0.95 0.2671148329973221 14 | 256 28 0.95 0.2629028186202049 15 | 256 29 0.95 0.25891298055648804 16 | 256 30 0.95 0.25512682646512985 17 | 256 31 0.95 0.25152795761823654 18 | 256 32 0.95 0.24810175597667694 19 | 256 33 0.95 0.24483513087034225 20 | 256 34 0.95 0.24171636998653412 21 | 256 35 0.95 0.2387348860502243 22 | 256 36 0.95 0.23588114231824875 23 | 256 37 0.95 0.23314649611711502 24 | 256 38 0.95 0.23052310198545456 25 | 256 39 0.95 0.22800380736589432 26 | 256 40 0.95 0.2255820855498314 27 | 256 41 0.95 0.22325196862220764 28 | 256 42 0.95 0.22100799530744553 29 | 256 43 0.95 0.21884512901306152 30 | 256 44 0.95 0.21675873547792435 31 | 256 45 0.95 0.21474455296993256 32 | 256 46 0.95 0.21279864013195038 33 | 256 47 0.95 0.21091733872890472 34 | 256 48 0.95 0.2090972661972046 35 | 256 49 0.95 0.20733527839183807 36 | 256 50 0.95 0.20562844723463058 37 | 256 51 0.95 0.20397405326366425 38 | 256 52 0.95 0.2023695558309555 39 | 256 53 0.95 0.20081257820129395 40 | 256 54 0.95 0.19930090755224228 41 | 256 55 0.95 0.19783246517181396 42 | 256 56 0.95 0.1964052990078926 43 | 256 57 0.95 0.19501759111881256 44 | 256 58 0.95 0.19366761296987534 45 | 256 59 0.95 0.1923537477850914 46 | 256 60 0.95 0.19107449054718018 47 | 256 61 0.95 0.18982838839292526 48 | 256 62 0.95 0.1886141002178192 49 | 256 63 0.95 0.18743034452199936 50 | 256 64 0.95 0.186275914311409 51 | 256 65 0.95 0.1851496696472168 52 | 256 66 0.95 0.1840505227446556 53 | 256 67 0.95 0.18297746032476425 54 | 256 68 0.95 0.18192949146032333 55 | 256 69 0.95 0.18090571463108063 56 | 256 70 0.95 0.1799052432179451 57 | 256 71 0.95 0.1789272427558899 58 | 256 72 0.95 0.17797092348337173 59 | 256 73 0.95 0.17703553289175034 60 | 256 74 0.95 0.1761203482747078 61 | 256 75 0.95 0.1752246841788292 62 | 256 76 0.95 0.1743478924036026 63 | 256 77 0.95 0.17348934710025787 64 | 256 78 0.95 0.17264845967292786 65 | 256 79 0.95 0.171824648976326 66 | 256 80 0.95 0.1710173860192299 67 | 256 81 0.95 0.17022613435983658 68 | 256 82 0.95 0.16945040971040726 69 | 256 83 0.95 0.16868972778320313 70 | 256 84 0.95 0.16794364154338837 71 | 256 85 0.95 0.16721169650554657 72 | 256 86 0.95 0.1664934903383255 73 | 256 87 0.95 0.16578861325979233 74 | 256 88 0.95 0.16509667038917542 75 | 256 89 0.95 0.1644173040986061 76 | 256 90 0.95 0.16375014930963516 77 | 256 91 0.95 0.16309486329555511 78 | 256 92 0.95 0.1624511182308197 79 | 256 93 0.95 0.16181860119104385 80 | 256 94 0.95 0.1611969992518425 81 | 256 95 0.95 0.16058602184057236 82 | 256 96 0.95 0.15998538583517075 83 | 256 97 0.95 0.15939481556415558 84 | 256 98 0.95 0.15881405025720596 85 | 256 99 0.95 0.1582428365945816 86 | 256 100 0.95 0.1576809212565422 87 | 256 101 0.95 0.15712808817625046 88 | 256 102 0.95 0.15658408403396606 89 | 256 103 0.95 0.1560487076640129 90 | 256 104 0.95 0.15552174299955368 91 | 256 105 0.95 0.15500297397375107 92 | 256 106 0.95 0.15449220687150955 93 | 256 107 0.95 0.1539892628788948 94 | 256 108 0.95 0.15349393337965012 95 | 256 109 0.95 0.15300605446100235 96 | 256 110 0.95 0.15252544730901718 97 | 256 111 0.95 0.15205194056034088 98 | 256 112 0.95 0.15158537775278091 99 | 256 113 0.95 0.15112559497356415 100 | 256 114 0.95 0.15067244321107864 101 | 256 115 0.95 0.15022577345371246 102 | 256 116 0.95 0.14978543668985367 103 | 256 117 0.95 0.14935129135847092 104 | 256 118 0.95 0.14892321825027466 105 | 256 119 0.95 0.14850106835365295 106 | 256 120 0.95 0.14808472245931625 107 | 256 121 0.95 0.1476740539073944 108 | 256 122 0.95 0.14726894348859787 109 | 256 123 0.95 0.14686927944421768 110 | 256 124 0.95 0.1464749351143837 111 | 256 125 0.95 0.14608581364154816 112 | 256 126 0.95 0.1457018032670021 113 | 256 127 0.95 0.14532280713319778 114 | 256 128 0.95 0.14494870603084564 115 | 256 129 0.95 0.1445794180035591 116 | 256 130 0.95 0.14421483874320984 117 | 256 131 0.95 0.14385487884283066 118 | 256 132 0.95 0.1434994488954544 119 | 256 133 0.95 0.14314845949411392 120 | 256 134 0.95 0.14280182868242264 121 | 256 135 0.95 0.1424594596028328 122 | 256 136 0.95 0.14212128520011902 123 | 256 137 0.95 0.14178721606731415 124 | 256 138 0.95 0.1414571776986122 125 | 256 139 0.95 0.14113110303878784 126 | 256 140 0.95 0.14080891013145447 127 | 256 141 0.95 0.14049053192138672 128 | 256 142 0.95 0.14017588645219803 129 | 256 143 0.95 0.13986492902040482 130 | 256 144 0.95 0.13955757021903992 131 | 256 145 0.95 0.13925375789403915 132 | 256 146 0.95 0.13895342499017715 133 | 256 147 0.95 0.13865651190280914 134 | 256 148 0.95 0.13836295902729034 135 | 256 149 0.95 0.13807270675897598 136 | 256 150 0.95 0.13778569549322128 137 | 256 151 0.95 0.13750187307596207 138 | 256 152 0.95 0.13722117990255356 139 | 256 153 0.95 0.13694356381893158 140 | 256 154 0.95 0.13666898012161255 141 | 256 155 0.95 0.1363973692059517 142 | 256 156 0.95 0.13612868636846542 143 | 256 157 0.95 0.13586287945508957 144 | 256 158 0.95 0.13559990376234055 145 | 256 159 0.95 0.13533970713615417 146 | 256 160 0.95 0.13508225232362747 147 | 256 161 0.95 0.13482749462127686 148 | 256 162 0.95 0.13457538187503815 149 | 256 163 0.95 0.13432588428258896 150 | 256 164 0.95 0.1340789496898651 151 | 256 165 0.95 0.13383453339338303 152 | 256 166 0.95 0.1335926130414009 153 | 256 167 0.95 0.13335313647985458 154 | 256 168 0.95 0.13311606645584106 155 | 256 169 0.95 0.13288136571645737 156 | 256 170 0.95 0.1326490044593811 157 | 256 171 0.95 0.1324189454317093 158 | 256 172 0.95 0.13219114392995834 159 | 256 173 0.95 0.13196557760238647 160 | 256 174 0.95 0.1317422091960907 161 | 256 175 0.95 0.13152099400758743 162 | 256 176 0.95 0.13130191713571548 163 | 256 177 0.95 0.13108494132757187 164 | 256 178 0.95 0.1308700367808342 165 | 256 179 0.95 0.1306571662425995 166 | 256 180 0.95 0.13044629991054535 167 | 256 181 0.95 0.1302374228835106 168 | 256 182 0.95 0.13003049045801163 169 | 256 183 0.95 0.12982548028230667 170 | 256 184 0.95 0.12962237000465393 171 | 256 185 0.95 0.12942112237215042 172 | 256 186 0.95 0.12922172248363495 173 | 256 187 0.95 0.12902414053678513 174 | 256 188 0.95 0.12882834672927856 175 | 256 189 0.95 0.12863431870937347 176 | 256 190 0.95 0.12844203412532806 177 | 256 191 0.95 0.12825146317481995 178 | 256 192 0.95 0.12806259095668793 179 | 256 193 0.95 0.12787538021802902 180 | 256 194 0.95 0.12768983095884323 181 | 256 195 0.95 0.12750589847564697 182 | 256 196 0.95 0.12732357531785965 183 | 256 197 0.95 0.12714283168315887 184 | 256 198 0.95 0.12696364521980286 185 | 256 199 0.95 0.126786008477211 186 | 256 200 0.95 0.1266098916530609 187 | 256 201 0.95 0.1264352723956108 188 | 256 202 0.95 0.1262621283531189 189 | 256 203 0.95 0.12609045207500458 190 | 256 204 0.95 0.12592022120952606 191 | 256 205 0.95 0.12575141340494156 192 | 256 206 0.95 0.12558400630950928 193 | 256 207 0.95 0.12541799247264862 194 | 256 208 0.95 0.1252533495426178 195 | 256 209 0.95 0.12509005516767502 196 | 256 210 0.95 0.12492810189723969 197 | 256 211 0.95 0.12476746737957001 198 | 256 212 0.95 0.1246081292629242 199 | 256 213 0.95 0.12445008754730225 200 | 256 214 0.95 0.12429331243038177 201 | 256 215 0.95 0.12413778901100159 202 | 256 216 0.95 0.12398350983858109 203 | 256 217 0.95 0.12383045256137848 204 | 256 218 0.95 0.12367860227823257 205 | 256 219 0.95 0.12352795153856277 206 | 256 220 0.95 0.12337847799062729 207 | 256 221 0.95 0.12323017418384552 208 | 256 222 0.95 0.12308302521705627 209 | 256 223 0.95 0.12293700873851776 210 | 256 224 0.95 0.12279212474822998 211 | 256 225 0.95 0.12264835089445114 212 | 256 226 0.95 0.12250567227602005 213 | 256 227 0.95 0.12236408144235611 214 | 256 228 0.95 0.12222357094287872 215 | 256 229 0.95 0.1220841109752655 216 | 256 230 0.95 0.12194570899009705 217 | 256 231 0.95 0.12180833518505096 218 | 256 232 0.95 0.12167199701070786 219 | 256 233 0.95 0.12153666466474533 220 | 256 234 0.95 0.1214023306965828 221 | 256 235 0.95 0.12126899510622025 222 | 256 236 0.95 0.1211366355419159 223 | 256 237 0.95 0.12100524455308914 224 | 256 238 0.95 0.1208748146891594 225 | 256 239 0.95 0.12074532359838486 226 | 256 240 0.95 0.12061677128076553 227 | 256 241 0.95 0.12048915028572083 228 | 256 242 0.95 0.12036244571208954 229 | 256 243 0.95 0.12023664265871048 230 | 256 244 0.95 0.12011173367500305 231 | 256 245 0.95 0.11998771131038666 232 | 256 246 0.95 0.1198645681142807 233 | 256 247 0.95 0.11974228918552399 234 | 256 248 0.95 0.11962087452411652 235 | 256 249 0.95 0.1195003017783165 236 | 256 250 0.95 0.11938057094812393 237 | 256 251 0.95 0.11926166713237762 238 | 256 252 0.95 0.11914359033107758 239 | 256 253 0.95 0.11902632564306259 240 | 256 254 0.95 0.11890986561775208 241 | 256 255 0.95 0.11879420280456543 242 | 256 256 0.95 0.11867932230234146 243 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | 203 | -------------------------------------------------------------------------------- /dat/images.Rmd: -------------------------------------------------------------------------------- 1 | ```{r, include=FALSE} 2 | require(ggplot2) 3 | require(scales) 4 | 5 | knitr::opts_chunk$set(fig.path='../doc/images/') 6 | knitr::opts_chunk$set(out.width = '400px') 7 | knitr::opts_chunk$set(dpi=200) 8 | ``` 9 | 10 | # The Kolmogorov Smirnov Test 11 | 12 | ```{r load, echo=FALSE} 13 | critical_values <- read.table("critical_values.tsv", sep="\t", header=TRUE) 14 | colnames(critical_values) <- c("n1", "n2", "confidence", "numerical_recipes") 15 | critical_values$confidence <- as.numeric(as.character(critical_values$confidence)) 16 | critical_values$n1 <- as.numeric(as.character(critical_values$n1)) 17 | critical_values$n2 <- as.numeric(as.character(critical_values$n2)) 18 | critical_values$numerical_recipes <- as.numeric(as.character(critical_values$numerical_recipes)) 19 | 20 | critical_values <- critical_values[critical_values$confidence == 0.95,] 21 | 22 | calculate_critical_value_soest_95 <- function(n1, n2) { 23 | factor = (n1 + n2) / (n1 * n2); 24 | return (1.36 * sqrt(factor)); 25 | } 26 | 27 | critical_values$soest <- calculate_critical_value_soest_95( 28 | critical_values$n1, critical_values$n2 29 | ) 30 | 31 | normal01 <- read.table("normal_0_1.tsv", sep="\t", header=FALSE) 32 | colnames(normal01) <- c("x") 33 | normal01$ecdf <- ecdf(normal01$x)(normal01$x) 34 | 35 | normal012 <- read.table("normal_0_1.2.tsv", sep="\t", header=FALSE) 36 | colnames(normal012) <- c("x") 37 | normal012$ecdf <- ecdf(normal012$x)(normal012$x) 38 | 39 | normal014 <- read.table("normal_0_1.4.tsv", sep="\t", header=FALSE) 40 | colnames(normal014) <- c("x") 41 | normal014$ecdf <- ecdf(normal014$x)(normal014$x) 42 | 43 | normal02 <- read.table("normal_0_2.tsv", sep="\t", header=FALSE) 44 | colnames(normal02) <- c("x") 45 | normal02$ecdf <- ecdf(normal02$x)(normal02$x) 46 | 47 | normal021 <- read.table("normal_0_2.1.tsv", sep="\t", header=FALSE) 48 | colnames(normal021) <- c("x") 49 | normal021$ecdf <- ecdf(normal021$x)(normal021$x) 50 | 51 | normal022 <- read.table("normal_0_2.2.tsv", sep="\t", header=FALSE) 52 | colnames(normal022) <- c("x") 53 | normal022$ecdf <- ecdf(normal022$x)(normal022$x) 54 | 55 | normal023 <- read.table("normal_0_2.3.tsv", sep="\t", header=FALSE) 56 | colnames(normal023) <- c("x") 57 | normal023$ecdf <- ecdf(normal023$x)(normal023$x) 58 | 59 | normal024 <- read.table("normal_0_2.4.tsv", sep="\t", header=FALSE) 60 | colnames(normal024) <- c("x") 61 | normal024$ecdf <- ecdf(normal024$x)(normal024$x) 62 | 63 | normal11 <- read.table("normal_1_1.tsv", sep="\t", header=FALSE) 64 | colnames(normal11) <- c("x") 65 | normal11$ecdf <- ecdf(normal11$x)(normal11$x) 66 | 67 | http <- read.table("http.tsv", sep="\t", header=TRUE) 68 | colnames(http) <- c("ctime", "dtime", "ttime", "wait") 69 | http$ctime <- as.numeric(as.character(http$ctime)) 70 | http$dtime <- as.numeric(as.character(http$dtime)) 71 | http$ttime <- as.numeric(as.character(http$ttime)) 72 | http$wait <- as.numeric(as.character(http$wait)) 73 | http$idx <- 1:nrow(http) 74 | http$ttime_ecdf <- ecdf(http$ttime)(http$ttime) 75 | 76 | http1 <- read.table("http.1.tsv", sep="\t", header=TRUE) 77 | colnames(http1) <- c("ctime", "dtime", "ttime", "wait") 78 | http1$ctime <- as.numeric(as.character(http1$ctime)) 79 | http1$dtime <- as.numeric(as.character(http1$dtime)) 80 | http1$ttime <- as.numeric(as.character(http1$ttime)) 81 | http1$wait <- as.numeric(as.character(http1$wait)) 82 | http1$idx <- 1:nrow(http1) 83 | http1$ttime_ecdf <- ecdf(http1$ttime)(http1$ttime) 84 | 85 | http2 <- read.table("http.2.tsv", sep="\t", header=TRUE) 86 | colnames(http2) <- c("ctime", "dtime", "ttime", "wait") 87 | http2$ctime <- as.numeric(as.character(http2$ctime)) 88 | http2$dtime <- as.numeric(as.character(http2$dtime)) 89 | http2$ttime <- as.numeric(as.character(http2$ttime)) 90 | http2$wait <- as.numeric(as.character(http2$wait)) 91 | http2$idx <- 1:nrow(http1) 92 | http2$ttime_ecdf <- ecdf(http2$ttime)(http2$ttime) 93 | 94 | http3 <- read.table("http.3.tsv", sep="\t", header=TRUE) 95 | colnames(http3) <- c("ctime", "dtime", "ttime", "wait") 96 | http3$ctime <- as.numeric(as.character(http3$ctime)) 97 | http3$dtime <- as.numeric(as.character(http3$dtime)) 98 | http3$ttime <- as.numeric(as.character(http3$ttime)) 99 | http3$wait <- as.numeric(as.character(http3$wait)) 100 | http3$idx <- 1:nrow(http1) 101 | http3$ttime_ecdf <- ecdf(http3$ttime)(http3$ttime) 102 | 103 | http4 <- read.table("http.4.tsv", sep="\t", header=TRUE) 104 | colnames(http4) <- c("ctime", "dtime", "ttime", "wait") 105 | http4$ctime <- as.numeric(as.character(http4$ctime)) 106 | http4$dtime <- as.numeric(as.character(http4$dtime)) 107 | http4$ttime <- as.numeric(as.character(http4$ttime)) 108 | http4$wait <- as.numeric(as.character(http4$wait)) 109 | http4$idx <- 1:nrow(http1) 110 | http4$ttime_ecdf <- ecdf(http4$ttime)(http4$ttime) 111 | 112 | twtr <- read.table("twtr.tsv", sep="\t", header=TRUE) 113 | twtr$open_ecdf <- ecdf(twtr$open)(twtr$open) 114 | twtr$volume_ecdf <- ecdf(twtr$volume)(twtr$volume) 115 | ``` 116 | 117 | ## Critical Values Plot 118 | 119 | ```{r critical-values, echo=FALSE} 120 | ggplot(critical_values, aes(x=n2, y=soest)) + 121 | geom_line(alpha=0.5, size=1) + 122 | geom_line(alpha=0.5, size=1, aes(x=n2, y=numerical_recipes)) + 123 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 124 | scale_y_continuous(labels=comma) 125 | ``` 126 | 127 | ## N(0,1), N(0,2) Empirical Cumulative Distribution Function 128 | 129 | ```{r n01n02ecdf, echo=FALSE} 130 | ggplot(normal01, aes(x=x, y=ecdf)) + 131 | geom_line(alpha=0.5, size=1) + 132 | geom_line(data=normal02, alpha=0.5, size=1) + 133 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 134 | scale_y_continuous(labels=comma) 135 | ``` 136 | 137 | ## N(0,1), N(1,1) Empirical Cumulative Distribution Function 138 | 139 | ```{r n01n11ecdf, echo=FALSE} 140 | ggplot(normal01, aes(x=x, y=ecdf)) + 141 | geom_line(alpha=0.5, size=1) + 142 | geom_line(data=normal11, alpha=0.5, size=1) + 143 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 144 | scale_y_continuous(labels=comma) 145 | ``` 146 | 147 | ## N(0,1) Density 148 | 149 | ```{r n01, echo=FALSE, } 150 | ggplot(normal01, aes(x=x)) + 151 | stat_density(alpha=0.5, colour="black") + 152 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 153 | scale_y_continuous(labels=comma) 154 | ``` 155 | 156 | ## N(0,2) Density 157 | 158 | ```{r n02, echo=FALSE} 159 | ggplot(normal02, aes(x=x)) + 160 | stat_density(alpha=0.5, colour="black") + 161 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 162 | scale_y_continuous(labels=comma) 163 | ``` 164 | 165 | ## N(1,1) Density 166 | 167 | ```{r n11, echo=FALSE} 168 | ggplot(normal11, aes(x=x)) + 169 | stat_density(alpha=0.5, colour="black") + 170 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 171 | scale_y_continuous(labels=comma) 172 | ``` 173 | 174 | ## N(0,1), N(0,2), N(1,1) Density 175 | 176 | ```{r n01n02n11, echo=FALSE} 177 | ggplot(normal01, aes(x=x)) + 178 | stat_density(alpha=0.5, colour="mistyrose4", fill="mistyrose4") + 179 | stat_density(data=normal02, alpha=0.5, colour="black") + 180 | stat_density(data=normal11, alpha=0.5, colour="slateblue4", fill="slateblue4") + 181 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 182 | scale_y_continuous(labels=comma) 183 | ``` 184 | 185 | ## N(0,2)-1 Density 186 | 187 | ```{r n021, echo=FALSE} 188 | ggplot(normal021, aes(x=x)) + 189 | stat_density(alpha=0.5, colour="black") + 190 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 191 | scale_y_continuous(labels=comma) 192 | ``` 193 | 194 | ## N(0,2), N(0,2)-1 Density 195 | 196 | ```{r n02n021, echo=FALSE} 197 | ggplot(normal02, aes(x=x)) + 198 | stat_density(alpha=0.5, colour="mistyrose4", fill="mistyrose4") + 199 | stat_density(data=normal021, alpha=0.5, colour="slateblue4", fill="slateblue4") + 200 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 201 | scale_y_continuous(labels=comma) 202 | ``` 203 | 204 | ## N(0,2), N(0,2)-1 Empirical Cumulative Distribution Function 205 | 206 | ```{r n02n021ecdf, echo=FALSE} 207 | ggplot(normal02, aes(x=x, y=ecdf)) + 208 | geom_line(alpha=0.5, size=1) + 209 | geom_line(data=normal021, alpha=0.5, size=1) + 210 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 211 | scale_y_continuous(labels=comma) 212 | ``` 213 | 214 | ## N(0,2), N(0,2)-2 Empirical Cumulative Distribution Function 215 | 216 | ```{r n02n022ecdf, echo=FALSE} 217 | ggplot(normal02, aes(x=x, y=ecdf)) + 218 | geom_line(alpha=0.5, size=1) + 219 | geom_line(data=normal022, alpha=0.5, size=1) + 220 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 221 | scale_y_continuous(labels=comma) 222 | ``` 223 | 224 | ## N(0,2), N(0,2)-3 Empirical Cumulative Distribution Function 225 | 226 | ```{r n02n023ecdf, echo=FALSE} 227 | ggplot(normal02, aes(x=x, y=ecdf)) + 228 | geom_line(alpha=0.5, size=1) + 229 | geom_line(data=normal023, alpha=0.5, size=1) + 230 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 231 | scale_y_continuous(labels=comma) 232 | ``` 233 | 234 | ## N(0,2), N(0,2)-4 Empirical Cumulative Distribution Function 235 | 236 | ```{r n02n024ecdf, echo=FALSE} 237 | ggplot(normal02, aes(x=x, y=ecdf)) + 238 | geom_line(alpha=0.5, size=1) + 239 | geom_line(data=normal024, alpha=0.5, size=1) + 240 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 241 | scale_y_continuous(labels=comma) 242 | ``` 243 | 244 | ## N(0,1)-2, N(0,2)-2 Density 245 | 246 | ```{r n012n022, echo=FALSE} 247 | ggplot(normal022, aes(x=x)) + 248 | stat_density(alpha=0.5, colour="slateblue4", fill="slateblue4") + 249 | stat_density(data=normal012, alpha=0.5, colour="mistyrose4", fill="mistyrose4") + 250 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 251 | scale_y_continuous(labels=comma) 252 | ``` 253 | 254 | ## N(0,1)-2, N(0,2)-2 Empirical Cumulative Distribution Function 255 | 256 | ```{r n012n022ecdf, echo=FALSE} 257 | ggplot(normal022, aes(x=x, y=ecdf)) + 258 | geom_line(alpha=0.5, size=1) + 259 | geom_line(data=normal012, alpha=0.5, size=1) + 260 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 261 | scale_y_continuous(labels=comma) 262 | ``` 263 | 264 | ## N(0,1)-4, N(0,2)-1 Density 265 | 266 | ```{r n014n021, echo=FALSE} 267 | ggplot(normal021, aes(x=x)) + 268 | stat_density(alpha=0.5, colour="slateblue4", fill="slateblue4") + 269 | stat_density(data=normal014, alpha=0.5, colour="mistyrose4", fill="mistyrose4") + 270 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 271 | scale_y_continuous(labels=comma) 272 | ``` 273 | 274 | ## N(0,1)-4, N(0,2)-1 Empirical Cumulative Distribution Function 275 | 276 | ```{r n014n021ecdf, echo=FALSE} 277 | ggplot(normal021, aes(x=x, y=ecdf)) + 278 | geom_line(alpha=0.5, size=1) + 279 | geom_line(data=normal014, alpha=0.5, size=1) + 280 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 281 | scale_y_continuous(labels=comma) 282 | ``` 283 | 284 | ## HTTP Timeseries 285 | 286 | ```{r http-timeseries, echo=FALSE} 287 | ggplot(http, aes(x=idx, y=ttime)) + 288 | geom_line(alpha=0.5) + 289 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 290 | scale_y_continuous(labels=comma) 291 | ``` 292 | 293 | ## HTTP Density 294 | 295 | ```{r http-density, echo=FALSE} 296 | ggplot(http, aes(x=ttime)) + 297 | stat_density(alpha=0.5, colour="black") + 298 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 299 | scale_y_continuous(labels=comma) 300 | ``` 301 | 302 | ## HTTP Empirical Cumulative Distribution Function 303 | 304 | ```{r http-ecdf, echo=FALSE, } 305 | ggplot(http, aes(x=ttime, y=ttime_ecdf)) + 306 | geom_line(alpha=0.5, size=1) + 307 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 308 | scale_y_continuous(labels=comma) 309 | ``` 310 | 311 | ## HTTP1 Timeseries 312 | 313 | ```{r http1-timeseries, echo=FALSE} 314 | ggplot(http1, aes(x=idx, y=ttime)) + 315 | geom_line(alpha=0.5) + 316 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 317 | scale_y_continuous(labels=comma) 318 | ``` 319 | 320 | ## HTTP1 Density 321 | 322 | ```{r http1-density, echo=FALSE} 323 | ggplot(http1, aes(x=ttime)) + 324 | stat_density(alpha=0.5, colour="black") + 325 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 326 | scale_y_continuous(labels=comma) 327 | ``` 328 | 329 | ## HTTP2 Density 330 | 331 | ```{r http2-density, echo=FALSE} 332 | ggplot(http2, aes(x=ttime)) + 333 | stat_density(alpha=0.5, colour="black") + 334 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 335 | scale_y_continuous(labels=comma) 336 | ``` 337 | 338 | ## HTTP3 Density 339 | 340 | ```{r http3-density, echo=FALSE} 341 | ggplot(http3, aes(x=ttime)) + 342 | stat_density(alpha=0.5, colour="black") + 343 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 344 | scale_y_continuous(labels=comma) 345 | ``` 346 | 347 | ## HTTP4 Density 348 | 349 | ```{r http4-density, echo=FALSE} 350 | ggplot(http4, aes(x=ttime)) + 351 | stat_density(alpha=0.5, colour="black") + 352 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 353 | scale_y_continuous(labels=comma) 354 | ``` 355 | 356 | ## HTTP, HTTP4 Empirical Cumulative Distribution Function 357 | 358 | ```{r httphttp4ecdf, echo=FALSE} 359 | ggplot(http, aes(x=ttime, y=ttime_ecdf)) + 360 | geom_line(alpha=0.5, size=1) + 361 | geom_line(data=http4, alpha=0.5, size=1) + 362 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 363 | scale_y_continuous(labels=comma) 364 | ``` 365 | 366 | ## HTTP1, HTTP4 Empirical Cumulative Distribution Function 367 | 368 | ```{r http1http4ecdf, echo=FALSE} 369 | ggplot(http1, aes(x=ttime, y=ttime_ecdf)) + 370 | geom_line(alpha=0.5, size=1) + 371 | geom_line(data=http4, alpha=0.5, size=1) + 372 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 373 | scale_y_continuous(labels=comma) 374 | ``` 375 | 376 | ## TWTR Opening Price Timeseries 377 | 378 | ```{r twtr-open-timeseries, echo=FALSE} 379 | ggplot(twtr, aes(x=timestamp, y=open)) + 380 | geom_line(alpha=0.5) + 381 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 382 | scale_y_continuous(labels=comma) 383 | ``` 384 | 385 | ## TWTR Opening Price Density 386 | 387 | ```{r twtr-open-density, echo=FALSE} 388 | ggplot(twtr, aes(x=open)) + 389 | stat_density(alpha=0.5, colour="black") + 390 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 391 | scale_y_continuous(labels=comma) 392 | ``` 393 | 394 | ## TWTR Opening Price Empirical Cumulative Distribution Function 395 | 396 | ```{r twtr-open-ecdf, echo=FALSE, } 397 | ggplot(twtr, aes(x=open, y=open_ecdf)) + 398 | geom_line(alpha=0.5, size=1) + 399 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 400 | scale_y_continuous(labels=comma) 401 | ``` 402 | 403 | ## TWTR Volume Timeseries 404 | 405 | ```{r twtr-volume-timeseries, echo=FALSE} 406 | ggplot(twtr, aes(x=timestamp, y=volume)) + 407 | geom_line(alpha=0.5) + 408 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 409 | scale_y_continuous(labels=comma) 410 | ``` 411 | 412 | ## TWTR Volume Density 413 | 414 | ```{r twtr-volume-density, echo=FALSE} 415 | ggplot(twtr, aes(x=volume)) + 416 | stat_density(alpha=0.5, colour="black") + 417 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 418 | # Thousands commas on x axis for large integer trading volumes values. 419 | scale_x_continuous(labels=comma) + 420 | scale_y_continuous(labels=comma) 421 | ``` 422 | 423 | ## TWTR Volume Empirical Cumulative Distribution Function 424 | 425 | ```{r twtr-volume-ecdf, echo=FALSE, } 426 | ggplot(twtr, aes(x=volume, y=volume_ecdf)) + 427 | geom_line(alpha=0.5, size=1) + 428 | theme(axis.title.x = element_blank(), axis.title.y = element_blank()) + 429 | scale_y_continuous(labels=comma) 430 | ``` 431 | -------------------------------------------------------------------------------- /dat/twtr.1.tsv: -------------------------------------------------------------------------------- 1 | timestamp close high low open volume 2 | 1450103400 24.68 24.68 24.68 24.68 140 3 | 1450103460 24.62 24.69 24.62 24.69 2800 4 | 1450103520 24.57 24.63 24.55 24.63 211634 5 | 1450103580 24.5675 24.6 24.56 24.5874 60462 6 | 1450103640 24.62 24.6348 24.565 24.57 43190 7 | 1450103700 24.52 24.62 24.52 24.62 67160 8 | 1450103760 24.52 24.55 24.5 24.52 72485 9 | 1450103820 24.51 24.56 24.44 24.514 117032 10 | 1450103880 24.4501 24.52 24.43 24.515 41519 11 | 1450103940 24.37 24.45 24.35 24.45 106218 12 | 1450104000 24.536 24.54 24.36 24.3676 93344 13 | 1450104060 24.4501 24.535 24.43 24.5326 52874 14 | 1450104120 24.41 24.45 24.38 24.45 63271 15 | 1450104180 24.39 24.4 24.35 24.4 72523 16 | 1450104240 24.42 24.44 24.35 24.385 115660 17 | 1450104300 24.46 24.48 24.4185 24.43 40481 18 | 1450104360 24.5799 24.58 24.44 24.45 50997 19 | 1450104420 24.61 24.63 24.58 24.58 61806 20 | 1450104480 24.67 24.673 24.6 24.6154 66859 21 | 1450104540 24.63 24.6701 24.62 24.67 69757 22 | 1450104600 24.65 24.68 24.62 24.63 49702 23 | 1450104660 24.63 24.66 24.57 24.66 51754 24 | 1450104720 24.615 24.64 24.5711 24.63 66086 25 | 1450104780 24.64 24.68 24.6 24.6 48934 26 | 1450104840 24.63 24.68 24.63 24.639 32915 27 | 1450104900 24.6275 24.64 24.62 24.63 16906 28 | 1450104960 24.61 24.64 24.5701 24.62 62123 29 | 1450105020 24.51 24.6 24.5 24.6 39516 30 | 1450105080 24.4478 24.52 24.44 24.51 138164 31 | 1450105140 24.44 24.48 24.3999 24.45 36042 32 | 1450105200 24.47 24.48 24.43 24.44 79429 33 | 1450105260 24.545 24.57 24.47 24.47 93739 34 | 1450105320 24.47 24.54 24.4365 24.54 47872 35 | 1450105380 24.44 24.51 24.44 24.47 48312 36 | 1450105440 24.45 24.46 24.4 24.4499 33862 37 | 1450105500 24.4 24.45 24.39 24.4416 44516 38 | 1450105560 24.41 24.44 24.37 24.4 41459 39 | 1450105620 24.38 24.41 24.38 24.408 47948 40 | 1450105680 24.4901 24.5 24.39 24.39 140804 41 | 1450105740 24.49 24.51 24.47 24.5 56850 42 | 1450105800 24.54 24.58 24.49 24.496 127523 43 | 1450105860 24.47 24.58 24.46 24.55 105319 44 | 1450105920 24.46 24.485 24.43 24.47 19508 45 | 1450105980 24.46 24.52 24.41 24.46 82729 46 | 1450106040 24.42 24.46 24.4 24.46 46434 47 | 1450106100 24.42 24.45 24.4 24.41 25763 48 | 1450106160 24.39 24.42 24.38 24.42 47612 49 | 1450106220 24.355 24.495 24.355 24.4 86816 50 | 1450106280 24.41 24.45 24.36 24.36 92261 51 | 1450106340 24.36 24.43 24.34 24.42 92887 52 | 1450106400 24.35 24.385 24.34 24.38 32042 53 | 1450106460 24.34 24.38 24.34 24.3499 45304 54 | 1450106520 24.355 24.375 24.34 24.34 32697 55 | 1450106580 24.3653 24.37 24.34 24.35 34100 56 | 1450106640 24.37 24.39 24.34 24.37 25175 57 | 1450106700 24.345 24.41 24.34 24.37 41236 58 | 1450106760 24.31 24.35 24.28 24.34 101663 59 | 1450106820 24.28 24.325 24.27 24.31 28867 60 | 1450106880 24.212 24.28 24.2 24.28 110491 61 | 1450106940 24.165 24.23 24.15 24.22 70148 62 | 1450107000 24.15 24.19 24.13 24.1778 76303 63 | 1450107060 24.095 24.15 24.08 24.146 82005 64 | 1450107120 24.168 24.18 24.09 24.09 49177 65 | 1450107180 24.18 24.19 24.116 24.165 24698 66 | 1450107240 24.17 24.19 24.16 24.18 26832 67 | 1450107300 24.16 24.19 24.16 24.1899 29102 68 | 1450107360 24.17 24.18 24.135 24.16 27978 69 | 1450107420 24.161 24.18 24.151 24.1799 18518 70 | 1450107480 24.14 24.18 24.13 24.17 23210 71 | 1450107540 24.145 24.15 24.105 24.1428 37110 72 | 1450107600 24.17 24.17 24.125 24.13 32822 73 | 1450107660 24.19 24.19 24.17 24.175 13221 74 | 1450107720 24.215 24.22 24.18 24.1801 37084 75 | 1450107780 24.195 24.22 24.17 24.215 17489 76 | 1450107840 24.18 24.2 24.17 24.19 33550 77 | 1450107900 24.18 24.2 24.16 24.19 36444 78 | 1450107960 24.185 24.205 24.16 24.185 41019 79 | 1450108020 24.15 24.2 24.15 24.189 25932 80 | 1450108080 24.145 24.17 24.14 24.1563 49317 81 | 1450108140 24.2 24.2 24.14 24.15 39355 82 | 1450108200 24.17 24.22 24.17 24.2 39846 83 | 1450108260 24.18 24.185 24.14 24.165 20830 84 | 1450108320 24.17 24.18 24.14 24.175 21622 85 | 1450108380 24.14 24.19 24.135 24.18 24252 86 | 1450108440 24.1201 24.15 24.11 24.145 39448 87 | 1450108500 24.11 24.12 24.08 24.12 80972 88 | 1450108560 24.14 24.15 24.108 24.11 27286 89 | 1450108620 24.105 24.15 24.1 24.1343 38836 90 | 1450108680 24.08 24.115 24.075 24.1 75560 91 | 1450108740 24.095 24.11 24.08 24.08 55936 92 | 1450108800 24.095 24.11 24.08 24.08 22902 93 | 1450108860 24.11 24.125 24.088 24.09 18857 94 | 1450108920 24.057 24.115 24.045 24.1 57854 95 | 1450108980 24.03 24.06 24.03 24.055 44382 96 | 1450109040 24.02 24.05 24.02 24.035 41399 97 | 1450109100 24.06 24.07 24.028 24.028 22461 98 | 1450109160 24.07 24.09 24.05 24.0501 32223 99 | 1450109220 24.08 24.1 24.07 24.07 10597 100 | 1450109280 24.085 24.1 24.07 24.08 30996 101 | 1450109340 24.09 24.105 24.08 24.09 25276 102 | 1450109400 24.07 24.12 24.06 24.09 25845 103 | 1450109460 24.07 24.0901 24.07 24.07 19784 104 | 1450109520 24.02 24.08 24.02 24.0731 33603 105 | 1450109580 23.98 24.0331 23.97 24.02 171311 106 | 1450109640 23.9401 23.98 23.93 23.98 97465 107 | 1450109700 23.94 23.97 23.91 23.94 69426 108 | 1450109760 23.91 23.95 23.9 23.93 35535 109 | 1450109820 23.8709 23.935 23.87 23.9001 94479 110 | 1450109880 23.83 23.88 23.83 23.879 77742 111 | 1450109940 23.81 23.85 23.81 23.84 61515 112 | 1450110000 23.84 23.85 23.8 23.8101 100116 113 | 1450110060 23.85 23.89 23.84 23.8408 57551 114 | 1450110120 23.849 23.8654 23.82 23.85 69857 115 | 1450110180 23.85 23.86 23.8201 23.85 41894 116 | 1450110240 23.865 23.8686 23.83 23.848 50357 117 | 1450110300 23.83 23.84 23.81 23.83 54358 118 | 1450110360 23.83 23.83 23.81 23.83 47711 119 | 1450110420 23.82 23.83 23.79 23.82 102991 120 | 1450110480 23.81 23.83 23.81 23.82 41238 121 | 1450110540 23.83 23.85 23.8196 23.82 41024 122 | 1450110600 23.845 23.88 23.822 23.8222 34097 123 | 1450110660 23.775 23.84 23.77 23.834 44509 124 | 1450110720 23.78 23.8 23.76 23.77 115837 125 | 1450110780 23.74 23.78 23.73 23.775 89785 126 | 1450110840 23.7278 23.75 23.7 23.735 95406 127 | 1450110900 23.7236 23.74 23.72 23.7271 49928 128 | 1450110960 23.73 23.74 23.71 23.723 39705 129 | 1450111020 23.73 23.735 23.72 23.73 21616 130 | 1450111080 23.73 23.73 23.7 23.725 50240 131 | 1450111140 23.735 23.74 23.71 23.735 80572 132 | 1450111200 23.75 23.78 23.73 23.739 58017 133 | 1450111260 23.76 23.79 23.74 23.749 28712 134 | 1450111320 23.75 23.78 23.74 23.76 84607 135 | 1450111380 23.77 23.77 23.7201 23.755 29374 136 | 1450111440 23.76 23.77 23.74 23.77 39733 137 | 1450111500 23.79 23.81 23.75 23.76 59904 138 | 1450111560 23.81 23.81 23.78 23.7999 21383 139 | 1450111620 23.83 23.83 23.8 23.81 34627 140 | 1450111680 23.82 23.83 23.801 23.83 15691 141 | 1450111740 23.8205 23.83 23.795 23.8199 30919 142 | 1450111800 23.85 23.86 23.81 23.83 28823 143 | 1450111860 23.85 23.85 23.8301 23.8401 24099 144 | 1450111920 23.81 23.85 23.8 23.85 49953 145 | 1450111980 23.79 23.82 23.77 23.81 36240 146 | 1450112040 23.785 23.8 23.765 23.79 47541 147 | 1450112100 23.82 23.82 23.785 23.79 35947 148 | 1450112160 23.91 23.91 23.81 23.82 82612 149 | 1450112220 23.94 23.95 23.87 23.91 60693 150 | 1450112280 23.98 23.99 23.92 23.93 67375 151 | 1450112340 23.9522 24.02 23.95 23.97 188492 152 | 1450112400 23.993 24.02 23.93 23.95 75226 153 | 1450112460 24.01 24.02 23.98 24 67446 154 | 1450112520 24.06 24.13 24.0065 24.01 90669 155 | 1450112580 24.05 24.0661 24.0201 24.06 31356 156 | 1450112640 24 24.05 23.99 24.05 14179 157 | 1450112700 23.9899 24.01 23.98 24.0099 21095 158 | 1450112760 24 24 23.97 23.99 39284 159 | 1450112820 23.99 23.995 23.97 23.995 24174 160 | 1450112880 24 24.01 23.97 23.99 51074 161 | 1450112940 24.01 24.01 23.98 24 25161 162 | 1450113000 24.059 24.06 24.01 24.02 43676 163 | 1450113060 24.11 24.15 24.056 24.056 61802 164 | 1450113120 24.07 24.13 24.06 24.11 46215 165 | 1450113180 24.06 24.08 24.05 24.0761 26827 166 | 1450113240 24.045 24.06 24.02 24.05 44926 167 | 1450113300 24.0199 24.04 24 24.04 15911 168 | 1450113360 24.015 24.03 24.01 24.01 19997 169 | 1450113420 23.9885 24.02 23.98 24.0178 29923 170 | 1450113480 24.01 24.01 23.97 23.9878 18455 171 | 1450113540 24.06 24.0699 24.01 24.01 18918 172 | 1450113600 24.0301 24.07 24.03 24.06 18037 173 | 1450113660 24.01 24.06 24.01 24.0399 17814 174 | 1450113720 24.044 24.044 24.005 24.01 4398 175 | 1450113780 24.075 24.075 24.03 24.05 16854 176 | 1450113840 24.05 24.085 24.04 24.08 18258 177 | 1450113900 24.1099 24.1099 24.05 24.06 14321 178 | 1450113960 24.17 24.17 24.1001 24.11 38599 179 | 1450114020 24.13 24.165 24.11 24.165 58579 180 | 1450114080 24.12 24.14 24.097 24.1265 14800 181 | 1450114140 24.1334 24.17 24.1278 24.13 49855 182 | 1450114200 24.18 24.18 24.13 24.13 37310 183 | 1450114260 24.2001 24.23 24.17 24.185 105968 184 | 1450114320 24.22 24.25 24.2 24.21 40407 185 | 1450114380 24.2318 24.25 24.21 24.24 31607 186 | 1450114440 24.22 24.23 24.209 24.23 8433 187 | 1450114500 24.235 24.2499 24.2001 24.23 18197 188 | 1450114560 24.1801 24.235 24.17 24.2339 46048 189 | 1450114620 24.18 24.2 24.18 24.19 14946 190 | 1450114680 24.21 24.21 24.18 24.18 20859 191 | 1450114740 24.2 24.23 24.2 24.2045 15122 192 | 1450114800 24.17 24.2 24.17 24.2 37505 193 | 1450114860 24.1451 24.175 24.135 24.17 50436 194 | 1450114920 24.145 24.16 24.14 24.15 16964 195 | 1450114980 24.2 24.21 24.1401 24.1469 53848 196 | 1450115040 24.265 24.27 24.191 24.195 53514 197 | 1450115100 24.24 24.29 24.2 24.2599 36475 198 | 1450115160 24.255 24.275 24.24 24.24 37780 199 | 1450115220 24.225 24.27 24.225 24.26 12527 200 | 1450115280 24.23 24.23 24.2201 24.2232 4483 201 | 1450115340 24.18 24.225 24.172 24.22 17379 202 | 1450115400 24.1701 24.19 24.1701 24.18 10807 203 | 1450115460 24.15 24.22 24.15 24.18 44964 204 | 1450115520 24.195 24.215 24.1501 24.1501 14175 205 | 1450115580 24.215 24.22 24.19 24.2 24169 206 | 1450115640 24.235 24.24 24.2 24.22 22908 207 | 1450115700 24.31 24.31 24.22 24.235 90615 208 | 1450115760 24.37 24.37 24.305 24.31 54567 209 | 1450115820 24.39 24.39 24.36 24.37 50209 210 | 1450115880 24.43 24.44 24.39 24.39 40536 211 | 1450115940 24.42 24.465 24.4 24.435 45137 212 | 1450116000 24.45 24.465 24.42 24.43 21424 213 | 1450116060 24.48 24.5 24.45 24.46 18031 214 | 1450116120 24.43 24.4799 24.43 24.47 27981 215 | 1450116180 24.3935 24.4399 24.38 24.431 23416 216 | 1450116240 24.43 24.44 24.39 24.39 12758 217 | 1450116300 24.42 24.445 24.38 24.445 13633 218 | 1450116360 24.405 24.42 24.39 24.42 15060 219 | 1450116420 24.389 24.43 24.3661 24.4099 28582 220 | 1450116480 24.39 24.44 24.39 24.39 23679 221 | 1450116540 24.405 24.409 24.39 24.409 6800 222 | 1450116600 24.36 24.41 24.35 24.38 28645 223 | 1450116660 24.381 24.415 24.37 24.37 16728 224 | 1450116720 24.4175 24.42 24.381 24.381 7983 225 | 1450116780 24.45 24.455 24.43 24.43 14646 226 | 1450116840 24.45 24.47 24.44 24.45 23752 227 | 1450116900 24.44 24.45 24.421 24.45 13325 228 | 1450116960 24.42 24.465 24.42 24.42 24022 229 | 1450117020 24.4201 24.43 24.41 24.43 8990 230 | 1450117080 24.445 24.46 24.425 24.425 25789 231 | 1450117140 24.48 24.495 24.45 24.45 40195 232 | 1450117200 24.4846 24.5 24.48 24.48 14951 233 | 1450117260 24.4808 24.49 24.4601 24.49 33216 234 | 1450117320 24.489 24.5 24.48 24.48 15381 235 | 1450117380 24.5001 24.5461 24.49 24.495 50706 236 | 1450117440 24.5175 24.52 24.505 24.505 9193 237 | 1450117500 24.51 24.54 24.51 24.52 18552 238 | 1450117560 24.5178 24.54 24.515 24.515 26214 239 | 1450117620 24.54 24.55 24.515 24.5183 16971 240 | 1450117680 24.48 24.545 24.48 24.54 27318 241 | 1450117740 24.49 24.5 24.471 24.471 9015 242 | 1450117800 24.505 24.51 24.5 24.5 6250 243 | 1450117860 24.48 24.505 24.46 24.505 37950 244 | 1450117920 24.5425 24.55 24.4801 24.481 15373 245 | 1450117980 24.57 24.575 24.54 24.545 23201 246 | 1450118040 24.555 24.58 24.55 24.57 5751 247 | 1450118100 24.54 24.555 24.5299 24.555 14353 248 | 1450118160 24.5 24.54 24.49 24.54 14066 249 | 1450118220 24.55 24.55 24.5046 24.5046 10600 250 | 1450118280 24.53 24.5465 24.53 24.545 4300 251 | 1450118340 24.53 24.54 24.53 24.54 2870 252 | 1450118400 24.47 24.5365 24.47 24.535 15949 253 | 1450118460 24.5 24.51 24.4747 24.48 14081 254 | 1450118520 24.485 24.5 24.48 24.495 7125 255 | 1450118580 24.49 24.49 24.44 24.48 18572 256 | 1450118640 24.49 24.4979 24.48 24.485 8930 257 | 1450118700 24.5 24.51 24.49 24.49 6450 258 | 1450118760 24.47 24.505 24.455 24.49 16546 259 | 1450118820 24.455 24.4808 24.432 24.4701 20350 260 | 1450118880 24.465 24.47 24.45 24.45 15572 261 | 1450118940 24.4501 24.465 24.41 24.465 19280 262 | 1450119000 24.48 24.48 24.45 24.45 14929 263 | 1450119060 24.49 24.49 24.4601 24.47 41871 264 | 1450119120 24.52 24.52 24.5 24.5 12182 265 | 1450119180 24.515 24.525 24.51 24.5231 6594 266 | 1450119240 24.51 24.52 24.5 24.515 17160 267 | 1450119300 24.521 24.535 24.505 24.52 22041 268 | 1450119360 24.5322 24.54 24.52 24.5257 8400 269 | 1450119420 24.559 24.559 24.535 24.5361 22797 270 | 1450119480 24.589 24.61 24.535 24.5501 87447 271 | 1450119540 24.571 24.59 24.5698 24.58 15359 272 | 1450119600 24.6199 24.6199 24.5778 24.5778 18359 273 | 1450119660 24.61 24.619 24.6 24.615 26246 274 | 1450119720 24.57 24.605 24.55 24.6 24960 275 | 1450119780 24.5333 24.585 24.53 24.585 12255 276 | 1450119840 24.5478 24.5478 24.52 24.5354 13000 277 | 1450119900 24.575 24.58 24.54 24.54 7958 278 | 1450119960 24.6 24.6 24.57 24.575 21703 279 | 1450120020 24.6285 24.63 24.5901 24.595 9446 280 | 1450120080 24.6357 24.66 24.6 24.625 53210 281 | 1450120140 24.62 24.635 24.6 24.63 25418 282 | 1450120200 24.62 24.64 24.59 24.6185 11734 283 | 1450120260 24.61 24.63 24.6 24.63 14899 284 | 1450120320 24.645 24.645 24.61 24.61 4064 285 | 1450120380 24.655 24.66 24.6482 24.65 16431 286 | 1450120440 24.6899 24.69 24.651 24.655 27709 287 | 1450120500 24.665 24.71 24.65 24.6812 67489 288 | 1450120560 24.62 24.675 24.61 24.6612 34531 289 | 1450120620 24.64 24.67 24.6 24.62 23212 290 | 1450120680 24.6626 24.675 24.64 24.64 32634 291 | 1450120740 24.67 24.68 24.66 24.67 18581 292 | 1450120800 24.655 24.675 24.65 24.67 8745 293 | 1450120860 24.67 24.67 24.65 24.655 14189 294 | 1450120920 24.68 24.699 24.6656 24.6656 22688 295 | 1450120980 24.68 24.695 24.67 24.675 28400 296 | 1450121040 24.74 24.74 24.68 24.685 45578 297 | 1450121100 24.73 24.7482 24.701 24.73 72078 298 | 1450121160 24.71 24.745 24.71 24.73 42684 299 | 1450121220 24.6934 24.73 24.6934 24.7 9950 300 | 1450121280 24.69 24.705 24.6899 24.6947 18444 301 | 1450121340 24.67 24.69 24.67 24.68 22793 302 | 1450121400 24.705 24.705 24.6699 24.67 23714 303 | 1450121460 24.72 24.72 24.7 24.7001 11830 304 | 1450121520 24.7007 24.72 24.7 24.715 17183 305 | 1450121580 24.7 24.71 24.7 24.7 34250 306 | 1450121640 24.735 24.74 24.7 24.7 68745 307 | 1450121700 24.74 24.75 24.71 24.73 25492 308 | 1450121760 24.73 24.75 24.7 24.7417 30564 309 | 1450121820 24.775 24.775 24.72 24.7234 41012 310 | 1450121880 24.755 24.8 24.755 24.77 57715 311 | 1450121940 24.76 24.795 24.735 24.76 56738 312 | 1450122000 24.74 24.78 24.74 24.75 38140 313 | 1450122060 24.76 24.76 24.72 24.74 30678 314 | 1450122120 24.74 24.76 24.71 24.754 26433 315 | 1450122180 24.72 24.74 24.71 24.73 30800 316 | 1450122240 24.705 24.73 24.705 24.7209 8050 317 | 1450122300 24.705 24.71 24.7 24.7 15746 318 | 1450122360 24.73 24.73 24.7 24.7 21294 319 | 1450122420 24.73 24.74 24.714 24.726 24913 320 | 1450122480 24.705 24.73 24.7 24.7275 17181 321 | 1450122540 24.7102 24.72 24.704 24.705 11249 322 | 1450122600 24.71 24.72 24.71 24.71 24781 323 | 1450122660 24.72 24.72 24.7 24.703 13931 324 | 1450122720 24.702 24.72 24.6705 24.72 24626 325 | 1450122780 24.735 24.74 24.7001 24.71 17368 326 | 1450122840 24.78 24.78 24.73 24.74 32760 327 | 1450122900 24.855 24.875 24.78 24.78 82532 328 | 1450122960 24.86 24.865 24.81 24.855 62413 329 | 1450123020 24.82 24.86 24.8 24.86 23779 330 | 1450123080 24.819 24.8269 24.8 24.82 40266 331 | 1450123140 24.83 24.83 24.8 24.815 33764 332 | 1450123200 24.84 24.84 24.82 24.83 14321 333 | 1450123260 24.84 24.84 24.815 24.8325 70829 334 | 1450123320 24.83 24.84 24.82 24.83 74594 335 | 1450123380 24.86 24.87 24.83 24.835 51133 336 | 1450123440 24.88 24.89 24.85 24.87 40113 337 | 1450123500 24.8901 24.9 24.8525 24.88 49115 338 | 1450123560 24.8699 24.88 24.8539 24.8774 22365 339 | 1450123620 24.82 24.89 24.805 24.8625 49026 340 | 1450123680 24.81 24.835 24.8 24.835 35128 341 | 1450123740 24.825 24.85 24.8 24.82 40451 342 | 1450123800 24.785 24.83 24.785 24.821 40767 343 | 1450123860 24.77 24.795 24.75 24.78 71469 344 | 1450123920 24.8601 24.88 24.7743 24.78 140965 345 | 1450123980 24.865 24.89 24.83 24.865 99877 346 | 1450124040 24.88 24.88 24.85 24.86 17632 347 | 1450124100 24.8 24.86 24.78 24.845 55816 348 | 1450124160 24.8 24.82 24.78 24.8 23217 349 | 1450124220 24.84 24.845 24.8 24.8 37181 350 | 1450124280 24.82 24.84 24.815 24.84 25720 351 | 1450124340 24.825 24.83 24.81 24.8122 51148 352 | 1450124400 24.81 24.84 24.81 24.83 33046 353 | 1450124460 24.835 24.86 24.82 24.82 78790 354 | 1450124520 24.845 24.85 24.825 24.8366 36221 355 | 1450124580 24.85 24.85 24.82 24.83 22131 356 | 1450124640 24.85 24.8603 24.84 24.85 36884 357 | 1450124700 24.86 24.865 24.84 24.85 41431 358 | 1450124760 24.86 24.87 24.83 24.8425 34327 359 | 1450124820 24.855 24.86 24.84 24.86 42856 360 | 1450124880 24.86 24.875 24.84 24.86 48897 361 | 1450124940 24.865 24.8736 24.845 24.8575 29116 362 | 1450125000 24.8601 24.87 24.84 24.869 33711 363 | 1450125060 24.8639 24.87 24.83 24.865 57576 364 | 1450125120 24.85 24.87 24.83 24.865 55423 365 | 1450125180 24.82 24.86 24.8 24.85 38757 366 | 1450125240 24.8551 24.86 24.82 24.82 35855 367 | 1450125300 24.86 24.86 24.84 24.855 101857 368 | 1450125360 24.88 24.88 24.84 24.8582 54939 369 | 1450125420 24.87 24.88 24.845 24.875 36773 370 | 1450125480 24.855 24.865 24.84 24.865 42695 371 | 1450125540 24.86 24.87 24.845 24.86 33288 372 | 1450125600 24.82 24.86 24.81 24.8501 68670 373 | 1450125660 24.85 24.86 24.785 24.82 200439 374 | 1450125720 24.865 24.88 24.8499 24.85 72347 375 | 1450125780 24.855 24.87 24.84 24.87 54390 376 | 1450125840 24.835 24.86 24.83 24.855 65640 377 | 1450125900 24.78 24.84 24.78 24.83 66415 378 | 1450125960 24.855 24.86 24.78 24.79 65784 379 | 1450126020 24.86 24.86 24.84 24.855 51084 380 | 1450126080 24.85 24.86 24.81 24.855 85190 381 | 1450126140 24.845 24.85 24.84 24.845 30293 382 | 1450126200 24.85 24.85 24.84 24.845 25240 383 | 1450126260 24.835 24.85 24.81 24.8499 95191 384 | 1450126320 24.835 24.84 24.83 24.8302 28710 385 | 1450126380 24.84 24.84 24.82 24.835 68232 386 | 1450126440 24.85 24.85 24.83 24.8355 44658 387 | 1450126500 24.86 24.86 24.85 24.85 37703 388 | 1450126560 24.88 24.89 24.8512 24.86 132577 389 | 1450126620 24.88 24.89 24.8712 24.88 81284 390 | 1450126680 24.9 24.9 24.8817 24.89 169321 391 | 1450126740 24.935 24.94 24.89 24.9 252593 392 | 1450126800 24.92 24.94 24.91 24.935 309430 393 | -------------------------------------------------------------------------------- /src/test.rs: -------------------------------------------------------------------------------- 1 | //! Two Sample Kolmogorov-Smirnov Test 2 | 3 | use std::cmp::{min, Ord, Ordering}; 4 | 5 | /// Two sample test result. 6 | pub struct TestResult { 7 | pub is_rejected: bool, 8 | pub statistic: f64, 9 | pub reject_probability: f64, 10 | pub critical_value: f64, 11 | pub confidence: f64, 12 | } 13 | 14 | /// Perform a two sample Kolmogorov-Smirnov test on given samples. 15 | /// 16 | /// The samples must have length > 7 elements for the test to be valid. 17 | /// 18 | /// # Panics 19 | /// 20 | /// There are assertion panics if either sequence has <= 7 elements. 21 | /// 22 | /// # Examples 23 | /// 24 | /// ``` 25 | /// extern crate kolmogorov_smirnov as ks; 26 | /// 27 | /// let xs = vec!(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); 28 | /// let ys = vec!(12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); 29 | /// let confidence = 0.95; 30 | /// 31 | /// let result = ks::test(&xs, &ys, confidence); 32 | /// 33 | /// if result.is_rejected { 34 | /// println!("{:?} and {:?} are not from the same distribution with probability {}.", 35 | /// xs, ys, result.reject_probability); 36 | /// } 37 | /// ``` 38 | pub fn test(xs: &[T], ys: &[T], confidence: f64) -> TestResult { 39 | assert!(xs.len() > 0 && ys.len() > 0); 40 | assert!(0.0 < confidence && confidence < 1.0); 41 | 42 | // Only supports samples of size > 7. 43 | assert!(xs.len() > 7 && ys.len() > 7); 44 | 45 | let statistic = calculate_statistic(xs, ys); 46 | let critical_value = calculate_critical_value(xs.len(), ys.len(), confidence); 47 | 48 | let reject_probability = calculate_reject_probability(statistic, xs.len(), ys.len()); 49 | let is_rejected = reject_probability > confidence; 50 | 51 | TestResult { 52 | is_rejected: is_rejected, 53 | statistic: statistic, 54 | reject_probability: reject_probability, 55 | critical_value: critical_value, 56 | confidence: confidence, 57 | } 58 | } 59 | 60 | /// Wrapper type for f64 to implement Ord and make usable with test. 61 | #[derive(PartialEq, Clone)] 62 | struct OrderableF64 { 63 | val: f64, 64 | } 65 | 66 | impl OrderableF64 { 67 | fn new(val: f64) -> OrderableF64 { 68 | OrderableF64 { val: val } 69 | } 70 | } 71 | 72 | impl Eq for OrderableF64 {} 73 | 74 | impl PartialOrd for OrderableF64 { 75 | fn partial_cmp(&self, other: &Self) -> Option { 76 | self.val.partial_cmp(&other.val) 77 | } 78 | } 79 | 80 | impl Ord for OrderableF64 { 81 | fn cmp(&self, other: &Self) -> Ordering { 82 | self.val.partial_cmp(&other.val).unwrap() 83 | } 84 | } 85 | 86 | /// Perform a two sample Kolmogorov-Smirnov test on given f64 samples. 87 | /// 88 | /// This is necessary because f64 does not implement Ord in Rust as some 89 | /// elements are incomparable, e.g. NaN. This function wraps the f64s in 90 | /// implementation of Ord which panics on incomparable elements. 91 | /// 92 | /// The samples must have length > 7 elements for the test to be valid. 93 | /// 94 | /// # Panics 95 | /// 96 | /// There are assertion panics if either sequence has <= 7 elements. 97 | /// 98 | /// If any of the f64 elements in the input samples are unorderable, e.g. NaN. 99 | /// 100 | /// # Examples 101 | /// 102 | /// ``` 103 | /// extern crate kolmogorov_smirnov as ks; 104 | /// 105 | /// let xs = vec!(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0); 106 | /// let ys = vec!(12.0, 11.0, 10.0, 9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0); 107 | /// let confidence = 0.95; 108 | /// 109 | /// let result = ks::test_f64(&xs, &ys, confidence); 110 | /// 111 | /// if result.is_rejected { 112 | /// println!("{:?} and {:?} are not from the same distribution with probability {}.", 113 | /// xs, ys, result.reject_probability); 114 | /// } 115 | /// ``` 116 | pub fn test_f64(xs: &[f64], ys: &[f64], confidence: f64) -> TestResult { 117 | let xs: Vec = xs.iter().map(|&f| OrderableF64::new(f)).collect(); 118 | let ys: Vec = ys.iter().map(|&f| OrderableF64::new(f)).collect(); 119 | 120 | test(&xs, &ys, confidence) 121 | } 122 | 123 | /// Calculate the test statistic for the two sample Kolmogorov-Smirnov test. 124 | /// 125 | /// The test statistic is the maximum vertical distance between the ECDFs of 126 | /// the two samples. 127 | fn calculate_statistic(xs: &[T], ys: &[T]) -> f64 { 128 | let n = xs.len(); 129 | let m = ys.len(); 130 | 131 | assert!(n > 0 && m > 0); 132 | 133 | let mut xs = xs.to_vec(); 134 | let mut ys = ys.to_vec(); 135 | 136 | // xs and ys must be sorted for the stepwise ECDF calculations to work. 137 | xs.sort(); 138 | ys.sort(); 139 | 140 | // The current value testing for ECDF difference. Sweeps up through elements 141 | // present in xs and ys. 142 | let mut current: &T; 143 | 144 | // i, j index the first values in xs and ys that are greater than current. 145 | let mut i = 0; 146 | let mut j = 0; 147 | 148 | // ecdf_xs, ecdf_ys always hold the ECDF(current) of xs and ys. 149 | let mut ecdf_xs = 0.0; 150 | let mut ecdf_ys = 0.0; 151 | 152 | // The test statistic value computed over values <= current. 153 | let mut statistic = 0.0; 154 | 155 | while i < n && j < m { 156 | // Advance i through duplicate samples in xs. 157 | let x_i = &xs[i]; 158 | while i + 1 < n && *x_i == xs[i + 1] { 159 | i += 1; 160 | } 161 | 162 | // Advance j through duplicate samples in ys. 163 | let y_j = &ys[j]; 164 | while j + 1 < m && *y_j == ys[j + 1] { 165 | j += 1; 166 | } 167 | 168 | // Step to the next sample value in the ECDF sweep from low to high. 169 | current = min(x_i, y_j); 170 | 171 | // Update invariant conditions for i, j, ecdf_xs, and ecdf_ys. 172 | if current == x_i { 173 | ecdf_xs = (i + 1) as f64 / n as f64; 174 | i += 1; 175 | } 176 | if current == y_j { 177 | ecdf_ys = (j + 1) as f64 / m as f64; 178 | j += 1; 179 | } 180 | 181 | // Update invariant conditions for the test statistic. 182 | let diff = (ecdf_xs - ecdf_ys).abs(); 183 | if diff > statistic { 184 | statistic = diff; 185 | } 186 | } 187 | 188 | // Don't need to walk the rest of the samples because one of the ecdfs is 189 | // already one and the other will be increasing up to one. This means the 190 | // difference will be monotonically decreasing, so we have our test 191 | // statistic value already. 192 | 193 | statistic 194 | } 195 | 196 | /// Calculate the probability that the null hypothesis is false for a two sample 197 | /// Kolmogorov-Smirnov test. Can only reject the null hypothesis if this 198 | /// evidence exceeds the confidence level required. 199 | fn calculate_reject_probability(statistic: f64, n1: usize, n2: usize) -> f64 { 200 | // Only supports samples of size > 7. 201 | assert!(n1 > 7 && n2 > 7); 202 | 203 | let n1 = n1 as f64; 204 | let n2 = n2 as f64; 205 | 206 | let factor = ((n1 * n2) / (n1 + n2)).sqrt(); 207 | let term = (factor + 0.12 + 0.11 / factor) * statistic; 208 | 209 | let reject_probability = 1.0 - probability_kolmogorov_smirnov(term); 210 | 211 | assert!(0.0 <= reject_probability && reject_probability <= 1.0); 212 | reject_probability 213 | } 214 | 215 | /// Calculate the critical value for the two sample Kolmogorov-Smirnov test. 216 | /// 217 | /// # Panics 218 | /// 219 | /// No convergence panic if the binary search does not locate the critical 220 | /// value in less than 200 iterations. 221 | /// 222 | /// # Examples 223 | /// 224 | /// ``` 225 | /// extern crate kolmogorov_smirnov as ks; 226 | /// 227 | /// let critical_value = ks::calculate_critical_value(256, 256, 0.95); 228 | /// println!("Critical value at 95% confidence for samples of size 256 is {}", 229 | /// critical_value); 230 | /// ``` 231 | pub fn calculate_critical_value(n1: usize, n2: usize, confidence: f64) -> f64 { 232 | assert!(0.0 < confidence && confidence < 1.0); 233 | 234 | // Only supports samples of size > 7. 235 | assert!(n1 > 7 && n2 > 7); 236 | 237 | // The test statistic is between zero and one so can binary search quickly 238 | // for the critical value. 239 | let mut low = 0.0; 240 | let mut high = 1.0; 241 | 242 | for _ in 1..200 { 243 | if low + 1e-8 >= high { 244 | return high; 245 | } 246 | 247 | let mid = low + (high - low) / 2.0; 248 | let reject_probability = calculate_reject_probability(mid, n1, n2); 249 | 250 | if reject_probability > confidence { 251 | // Maintain invariant that reject_probability(high) > confidence. 252 | high = mid; 253 | } else { 254 | // Maintain invariant that reject_probability(low) <= confidence. 255 | low = mid; 256 | } 257 | } 258 | 259 | panic!("No convergence in calculate_critical_value({}, {}, {}).", 260 | n1, 261 | n2, 262 | confidence); 263 | } 264 | 265 | /// Calculate the Kolmogorov-Smirnov probability function. 266 | fn probability_kolmogorov_smirnov(lambda: f64) -> f64 { 267 | if lambda == 0.0 { 268 | return 1.0; 269 | } 270 | 271 | let minus_two_lambda_squared = -2.0 * lambda * lambda; 272 | let mut q_ks = 0.0; 273 | 274 | for j in 1..200 { 275 | let sign = if j % 2 == 1 { 276 | 1.0 277 | } else { 278 | -1.0 279 | }; 280 | 281 | let j = j as f64; 282 | let term = sign * 2.0 * (minus_two_lambda_squared * j * j).exp(); 283 | 284 | q_ks += term; 285 | 286 | if term.abs() < 1e-8 { 287 | // Trim results that exceed 1. 288 | return q_ks.min(1.0); 289 | } 290 | } 291 | 292 | panic!("No convergence in probability_kolmogorov_smirnov({}).", 293 | lambda); 294 | } 295 | 296 | #[cfg(test)] 297 | mod tests { 298 | extern crate quickcheck; 299 | extern crate rand; 300 | 301 | use self::quickcheck::{Arbitrary, Gen, QuickCheck, Testable, StdGen}; 302 | use self::rand::Rng; 303 | use std::cmp; 304 | use std::usize; 305 | 306 | use super::test; 307 | use ecdf::Ecdf; 308 | 309 | const EPSILON: f64 = 1e-10; 310 | 311 | fn check(f: A) { 312 | // Need - 1 to ensure space for creating non-overlapping samples. 313 | let g = StdGen::new(rand::thread_rng(), usize::MAX - 1); 314 | QuickCheck::new().gen(g).quickcheck(f); 315 | } 316 | 317 | /// Wrapper for generating sample data with QuickCheck. 318 | /// 319 | /// Samples must be sequences of u64 values with more than 7 elements. 320 | #[derive(Debug, Clone)] 321 | struct Samples { 322 | vec: Vec, 323 | } 324 | 325 | impl Samples { 326 | fn min(&self) -> u64 { 327 | let &min = self.vec.iter().min().unwrap(); 328 | min 329 | } 330 | 331 | fn max(&self) -> u64 { 332 | let &max = self.vec.iter().max().unwrap(); 333 | max 334 | } 335 | 336 | fn shuffle(&mut self) { 337 | let mut rng = rand::thread_rng(); 338 | rng.shuffle(&mut self.vec); 339 | } 340 | } 341 | 342 | impl Arbitrary for Samples { 343 | fn arbitrary(g: &mut G) -> Samples { 344 | // Limit size of generated sample set to 1024 345 | let max = cmp::min(g.size(), 1024); 346 | 347 | let size = g.gen_range(8, max); 348 | let vec = (0..size).map(|_| u64::arbitrary(g)).collect(); 349 | 350 | Samples { vec: vec } 351 | } 352 | 353 | fn shrink(&self) -> Box> { 354 | let vec: Vec = self.vec.clone(); 355 | let shrunk: Box>> = vec.shrink(); 356 | 357 | Box::new(shrunk.filter(|v| v.len() > 7).map(|v| Samples { vec: v })) 358 | } 359 | } 360 | 361 | #[test] 362 | #[should_panic(expected="assertion failed: xs.len() > 0 && ys.len() > 0")] 363 | fn test_panics_on_empty_samples_set() { 364 | let xs: Vec = vec![]; 365 | let ys: Vec = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; 366 | test(&xs, &ys, 0.95); 367 | } 368 | 369 | #[test] 370 | #[should_panic(expected="assertion failed: xs.len() > 0 && ys.len() > 0")] 371 | fn test_panics_on_empty_other_samples_set() { 372 | let xs: Vec = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; 373 | let ys: Vec = vec![]; 374 | test(&xs, &ys, 0.95); 375 | } 376 | 377 | #[test] 378 | #[should_panic(expected="assertion failed: 0.0 < confidence && confidence < 1.0")] 379 | fn test_panics_on_confidence_leq_zero() { 380 | let xs: Vec = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; 381 | let ys: Vec = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; 382 | test(&xs, &ys, 0.0); 383 | } 384 | 385 | #[test] 386 | #[should_panic(expected="assertion failed: 0.0 < confidence && confidence < 1.0")] 387 | fn test_panics_on_confidence_geq_one() { 388 | let xs: Vec = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; 389 | let ys: Vec = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; 390 | test(&xs, &ys, 1.0); 391 | } 392 | 393 | /// Alternative calculation for the test statistic for the two sample 394 | /// Kolmogorov-Smirnov test. This simple implementation is used as a 395 | /// verification check against actual calculation used. 396 | fn calculate_statistic_alt(xs: &[T], ys: &[T]) -> f64 { 397 | assert!(xs.len() > 0 && ys.len() > 0); 398 | 399 | let ecdf_xs = Ecdf::new(xs); 400 | let ecdf_ys = Ecdf::new(ys); 401 | 402 | let mut statistic = 0.0; 403 | 404 | for x in xs.iter() { 405 | let diff = (ecdf_xs.value(x.clone()) - ecdf_ys.value(x.clone())).abs(); 406 | if diff > statistic { 407 | statistic = diff; 408 | } 409 | } 410 | 411 | for y in ys.iter() { 412 | let diff = (ecdf_xs.value(y.clone()) - ecdf_ys.value(y.clone())).abs(); 413 | if diff > statistic { 414 | statistic = diff; 415 | } 416 | } 417 | 418 | statistic 419 | } 420 | 421 | #[test] 422 | fn test_calculate_statistic() { 423 | fn prop(xs: Samples, ys: Samples) -> bool { 424 | let result = test(&xs.vec, &ys.vec, 0.95); 425 | let actual = result.statistic; 426 | let expected = calculate_statistic_alt(&xs.vec, &ys.vec); 427 | 428 | actual == expected 429 | } 430 | 431 | check(prop as fn(Samples, Samples) -> bool); 432 | } 433 | 434 | #[test] 435 | fn test_statistic_is_between_zero_and_one() { 436 | fn prop(xs: Samples, ys: Samples) -> bool { 437 | let result = test(&xs.vec, &ys.vec, 0.95); 438 | let actual = result.statistic; 439 | 440 | 0.0 <= actual && actual <= 1.0 441 | } 442 | 443 | check(prop as fn(Samples, Samples) -> bool); 444 | } 445 | 446 | #[test] 447 | fn test_statistic_is_zero_for_identical_samples() { 448 | fn prop(xs: Samples) -> bool { 449 | let ys = xs.clone(); 450 | 451 | let result = test(&xs.vec, &ys.vec, 0.95); 452 | 453 | result.statistic == 0.0 454 | } 455 | 456 | check(prop as fn(Samples) -> bool); 457 | } 458 | 459 | #[test] 460 | fn test_statistic_is_zero_for_permuted_sample() { 461 | fn prop(xs: Samples) -> bool { 462 | let mut ys = xs.clone(); 463 | ys.shuffle(); 464 | 465 | let result = test(&xs.vec, &ys.vec, 0.95); 466 | 467 | result.statistic == 0.0 468 | } 469 | 470 | check(prop as fn(Samples) -> bool); 471 | } 472 | 473 | #[test] 474 | fn test_statistic_is_one_for_samples_with_no_overlap_in_support() { 475 | fn prop(xs: Samples) -> bool { 476 | let mut ys = xs.clone(); 477 | 478 | // Shift ys so that ys.min > xs.max. 479 | let ys_min = xs.max() + 1; 480 | ys.vec = ys.vec.iter().map(|&y| cmp::max(y, ys_min)).collect(); 481 | 482 | let result = test(&xs.vec, &ys.vec, 0.95); 483 | 484 | result.statistic == 1.0 485 | } 486 | 487 | check(prop as fn(Samples) -> bool); 488 | } 489 | 490 | #[test] 491 | fn test_statistic_is_one_half_for_sample_with_non_overlapping_in_support_replicate_added() { 492 | fn prop(xs: Samples) -> bool { 493 | let mut ys = xs.clone(); 494 | 495 | // Shift ys so that ys.min > xs.max. 496 | let ys_min = xs.max() + 1; 497 | ys.vec = ys.vec.iter().map(|&y| cmp::max(y, ys_min)).collect(); 498 | 499 | // Add all the original items back too. 500 | for &x in xs.vec.iter() { 501 | ys.vec.push(x); 502 | } 503 | 504 | let result = test(&xs.vec, &ys.vec, 0.95); 505 | 506 | result.statistic == 0.5 507 | } 508 | 509 | check(prop as fn(Samples) -> bool); 510 | } 511 | 512 | #[test] 513 | fn test_statistic_is_one_div_length_for_sample_with_additional_low_value() { 514 | fn prop(xs: Samples) -> bool { 515 | // Add a extra sample of early weight to ys. 516 | let min = xs.min(); 517 | let mut ys = xs.clone(); 518 | ys.vec.push(min - 1); 519 | 520 | let result = test(&xs.vec, &ys.vec, 0.95); 521 | let expected = 1.0 / ys.vec.len() as f64; 522 | 523 | result.statistic == expected 524 | } 525 | 526 | check(prop as fn(Samples) -> bool); 527 | } 528 | 529 | #[test] 530 | fn test_statistic_is_one_div_length_for_sample_with_additional_high_value() { 531 | fn prop(xs: Samples) -> bool { 532 | // Add a extra sample of late weight to ys. 533 | let max = xs.max(); 534 | let mut ys = xs.clone(); 535 | ys.vec.push(max + 1); 536 | 537 | let result = test(&xs.vec, &ys.vec, 0.95); 538 | let expected = 1.0 / ys.vec.len() as f64; 539 | 540 | (result.statistic - expected).abs() < EPSILON 541 | } 542 | 543 | check(prop as fn(Samples) -> bool); 544 | } 545 | 546 | #[test] 547 | fn test_statistic_is_one_div_length_for_sample_with_additional_low_and_high_values() { 548 | fn prop(xs: Samples) -> bool { 549 | // Add a extra sample of late weight to ys. 550 | let min = xs.min(); 551 | let max = xs.max(); 552 | 553 | let mut ys = xs.clone(); 554 | 555 | ys.vec.push(min - 1); 556 | ys.vec.push(max + 1); 557 | 558 | let result = test(&xs.vec, &ys.vec, 0.95); 559 | let expected = 1.0 / ys.vec.len() as f64; 560 | 561 | (result.statistic - expected).abs() < EPSILON 562 | } 563 | 564 | check(prop as fn(Samples) -> bool); 565 | } 566 | 567 | #[test] 568 | fn test_statistic_is_n_div_length_for_sample_with_additional_n_low_values() { 569 | fn prop(xs: Samples, n: u8) -> bool { 570 | // Add extra sample of early weight to ys. 571 | let min = xs.min(); 572 | let mut ys = xs.clone(); 573 | for j in 0..n { 574 | ys.vec.push(min - (j as u64) - 1); 575 | } 576 | 577 | let result = test(&xs.vec, &ys.vec, 0.95); 578 | let expected = n as f64 / ys.vec.len() as f64; 579 | 580 | result.statistic == expected 581 | } 582 | 583 | check(prop as fn(Samples, u8) -> bool); 584 | } 585 | 586 | #[test] 587 | fn test_statistic_is_n_div_length_for_sample_with_additional_n_high_values() { 588 | fn prop(xs: Samples, n: u8) -> bool { 589 | // Add extra sample of early weight to ys. 590 | let max = xs.max(); 591 | let mut ys = xs.clone(); 592 | for j in 0..n { 593 | ys.vec.push(max + (j as u64) + 1); 594 | } 595 | 596 | let result = test(&xs.vec, &ys.vec, 0.95); 597 | let expected = n as f64 / ys.vec.len() as f64; 598 | 599 | (result.statistic - expected).abs() < EPSILON 600 | } 601 | 602 | check(prop as fn(Samples, u8) -> bool); 603 | } 604 | 605 | #[test] 606 | fn test_statistic_is_n_div_length_for_sample_with_additional_n_low_and_high_values() { 607 | fn prop(xs: Samples, n: u8) -> bool { 608 | // Add extra sample of early weight to ys. 609 | let min = xs.min(); 610 | let max = xs.max(); 611 | let mut ys = xs.clone(); 612 | for j in 0..n { 613 | ys.vec.push(min - (j as u64) - 1); 614 | ys.vec.push(max + (j as u64) + 1); 615 | } 616 | 617 | let result = test(&xs.vec, &ys.vec, 0.95); 618 | let expected = n as f64 / ys.vec.len() as f64; 619 | 620 | (result.statistic - expected).abs() < EPSILON 621 | } 622 | 623 | check(prop as fn(Samples, u8) -> bool); 624 | } 625 | 626 | #[test] 627 | fn test_statistic_is_n_or_m_div_length_for_sample_with_additional_n_low_and_m_high_values() { 628 | fn prop(xs: Samples, n: u8, m: u8) -> bool { 629 | // Add extra sample of early weight to ys. 630 | let min = xs.min(); 631 | let max = xs.max(); 632 | let mut ys = xs.clone(); 633 | for j in 0..n { 634 | ys.vec.push(min - (j as u64) - 1); 635 | } 636 | 637 | for j in 0..m { 638 | ys.vec.push(max + (j as u64) + 1); 639 | } 640 | 641 | let result = test(&xs.vec, &ys.vec, 0.95); 642 | let expected = cmp::max(n, m) as f64 / ys.vec.len() as f64; 643 | 644 | (result.statistic - expected).abs() < EPSILON 645 | } 646 | 647 | check(prop as fn(Samples, u8, u8) -> bool); 648 | } 649 | 650 | #[test] 651 | fn test_is_rejected_if_reject_probability_greater_than_confidence() { 652 | fn prop(xs: Samples, ys: Samples) -> bool { 653 | let result = test(&xs.vec, &ys.vec, 0.95); 654 | 655 | if result.is_rejected { 656 | result.reject_probability > 0.95 657 | } else { 658 | result.reject_probability <= 0.95 659 | } 660 | } 661 | 662 | check(prop as fn(Samples, Samples) -> bool); 663 | } 664 | 665 | #[test] 666 | fn test_reject_probability_is_zero_for_identical_samples() { 667 | fn prop(xs: Samples) -> bool { 668 | let ys = xs.clone(); 669 | 670 | let result = test(&xs.vec, &ys.vec, 0.95); 671 | 672 | result.reject_probability == 0.0 673 | } 674 | 675 | check(prop as fn(Samples) -> bool); 676 | } 677 | 678 | #[test] 679 | fn test_reject_probability_is_zero_for_permuted_sample() { 680 | fn prop(xs: Samples) -> bool { 681 | let mut ys = xs.clone(); 682 | ys.shuffle(); 683 | 684 | let result = test(&xs.vec, &ys.vec, 0.95); 685 | 686 | result.reject_probability == 0.0 687 | } 688 | 689 | check(prop as fn(Samples) -> bool); 690 | } 691 | } 692 | --------------------------------------------------------------------------------