statsample 0.18.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. data.tar.gz.sig +0 -0
  2. data/History.txt +23 -0
  3. data/Manifest.txt +28 -17
  4. data/Rakefile +3 -2
  5. data/benchmarks/correlation_matrix_15_variables.rb +31 -0
  6. data/benchmarks/correlation_matrix_5_variables.rb +32 -0
  7. data/benchmarks/correlation_matrix_methods/correlation_matrix.ds +0 -0
  8. data/benchmarks/correlation_matrix_methods/correlation_matrix.html +93 -0
  9. data/benchmarks/correlation_matrix_methods/correlation_matrix.rb +75 -0
  10. data/benchmarks/correlation_matrix_methods/correlation_matrix.xls +0 -0
  11. data/benchmarks/correlation_matrix_methods/correlation_matrix_gsl_ruby.ods +0 -0
  12. data/benchmarks/correlation_matrix_methods/correlation_matrix_with_graphics.ods +0 -0
  13. data/benchmarks/correlation_matrix_methods/results.ds +0 -0
  14. data/benchmarks/factor_map.rb +37 -0
  15. data/benchmarks/helpers_benchmark.rb +5 -0
  16. data/examples/boxplot.rb +13 -14
  17. data/examples/correlation_matrix.rb +16 -8
  18. data/examples/dataset.rb +13 -4
  19. data/examples/dominance_analysis.rb +23 -17
  20. data/examples/dominance_analysis_bootstrap.rb +28 -22
  21. data/examples/histogram.rb +8 -9
  22. data/examples/icc.rb +20 -21
  23. data/examples/levene.rb +10 -4
  24. data/examples/multiple_regression.rb +9 -28
  25. data/examples/multivariate_correlation.rb +9 -3
  26. data/examples/parallel_analysis.rb +20 -16
  27. data/examples/polychoric.rb +15 -9
  28. data/examples/principal_axis.rb +18 -6
  29. data/examples/reliability.rb +26 -13
  30. data/examples/scatterplot.rb +10 -6
  31. data/examples/t_test.rb +15 -6
  32. data/examples/tetrachoric.rb +9 -2
  33. data/examples/u_test.rb +12 -4
  34. data/examples/vector.rb +13 -2
  35. data/examples/velicer_map_test.rb +33 -26
  36. data/lib/statsample.rb +32 -12
  37. data/lib/statsample/analysis.rb +79 -0
  38. data/lib/statsample/analysis/suite.rb +72 -0
  39. data/lib/statsample/analysis/suitereportbuilder.rb +38 -0
  40. data/lib/statsample/bivariate.rb +70 -16
  41. data/lib/statsample/dataset.rb +25 -19
  42. data/lib/statsample/dominanceanalysis.rb +2 -2
  43. data/lib/statsample/factor.rb +2 -0
  44. data/lib/statsample/factor/map.rb +16 -10
  45. data/lib/statsample/factor/parallelanalysis.rb +9 -3
  46. data/lib/statsample/factor/pca.rb +28 -32
  47. data/lib/statsample/factor/rotation.rb +15 -8
  48. data/lib/statsample/graph/boxplot.rb +3 -4
  49. data/lib/statsample/graph/histogram.rb +2 -1
  50. data/lib/statsample/graph/scatterplot.rb +1 -0
  51. data/lib/statsample/matrix.rb +106 -16
  52. data/lib/statsample/regression.rb +4 -1
  53. data/lib/statsample/regression/binomial.rb +1 -1
  54. data/lib/statsample/regression/multiple/baseengine.rb +19 -9
  55. data/lib/statsample/regression/multiple/gslengine.rb +127 -126
  56. data/lib/statsample/regression/multiple/matrixengine.rb +8 -5
  57. data/lib/statsample/regression/multiple/rubyengine.rb +1 -1
  58. data/lib/statsample/regression/simple.rb +31 -6
  59. data/lib/statsample/reliability.rb +11 -3
  60. data/lib/statsample/reliability/scaleanalysis.rb +4 -4
  61. data/lib/statsample/shorthand.rb +81 -0
  62. data/lib/statsample/test/chisquare.rb +1 -1
  63. data/lib/statsample/vector.rb +163 -163
  64. data/lib/statsample/vector/gsl.rb +106 -0
  65. data/references.txt +2 -2
  66. data/{data → test/fixtures}/crime.txt +0 -0
  67. data/{data → test/fixtures}/hartman_23.matrix +0 -0
  68. data/{data → test/fixtures}/repeated_fields.csv +0 -0
  69. data/{data → test/fixtures}/test_binomial.csv +0 -0
  70. data/test/{test_csv.csv → fixtures/test_csv.csv} +0 -0
  71. data/test/{test_xls.xls → fixtures/test_xls.xls} +0 -0
  72. data/{data → test/fixtures}/tetmat_matrix.txt +0 -0
  73. data/{data → test/fixtures}/tetmat_test.txt +0 -0
  74. data/test/helpers_tests.rb +18 -2
  75. data/test/test_analysis.rb +118 -0
  76. data/test/test_anovatwoway.rb +1 -1
  77. data/test/test_anovatwowaywithdataset.rb +1 -1
  78. data/test/test_anovawithvectors.rb +1 -2
  79. data/test/test_bartlettsphericity.rb +1 -2
  80. data/test/test_bivariate.rb +64 -22
  81. data/test/test_codification.rb +1 -2
  82. data/test/test_crosstab.rb +1 -2
  83. data/test/test_csv.rb +3 -4
  84. data/test/test_dataset.rb +24 -3
  85. data/test/test_dominance_analysis.rb +1 -2
  86. data/test/test_factor.rb +8 -69
  87. data/test/test_factor_map.rb +43 -0
  88. data/test/test_factor_pa.rb +54 -0
  89. data/test/test_ggobi.rb +1 -1
  90. data/test/test_gsl.rb +12 -18
  91. data/test/test_histogram.rb +1 -2
  92. data/test/test_logit.rb +62 -18
  93. data/test/test_matrix.rb +4 -5
  94. data/test/test_mle.rb +3 -4
  95. data/test/test_regression.rb +21 -2
  96. data/test/test_reliability.rb +3 -3
  97. data/test/test_reliability_icc.rb +1 -1
  98. data/test/test_reliability_skillscale.rb +20 -4
  99. data/test/test_resample.rb +1 -2
  100. data/test/test_rserve_extension.rb +1 -2
  101. data/test/test_srs.rb +1 -2
  102. data/test/test_statistics.rb +1 -2
  103. data/test/test_stest.rb +1 -2
  104. data/test/test_stratified.rb +1 -2
  105. data/test/test_test_f.rb +1 -2
  106. data/test/test_test_t.rb +1 -2
  107. data/test/test_umannwhitney.rb +1 -2
  108. data/test/test_vector.rb +117 -18
  109. data/test/test_xls.rb +2 -3
  110. data/web/Rakefile +39 -0
  111. metadata +109 -29
  112. metadata.gz.sig +0 -0
  113. data/examples/parallel_analysis_tetrachoric.rb +0 -31
  114. data/lib/distribution.rb +0 -25
  115. data/lib/distribution/chisquare.rb +0 -23
  116. data/lib/distribution/f.rb +0 -35
  117. data/lib/distribution/normal.rb +0 -60
  118. data/lib/distribution/normalbivariate.rb +0 -284
  119. data/lib/distribution/normalmultivariate.rb +0 -73
  120. data/lib/distribution/t.rb +0 -55
  121. data/test/test_distribution.rb +0 -73
metadata CHANGED
@@ -3,10 +3,10 @@ name: statsample
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
+ - 1
6
7
  - 0
7
- - 18
8
8
  - 0
9
- version: 0.18.0
9
+ version: 1.0.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Claudio Bustos
@@ -35,7 +35,7 @@ cert_chain:
35
35
  rpP0jjs0
36
36
  -----END CERTIFICATE-----
37
37
 
38
- date: 2011-01-07 00:00:00 -03:00
38
+ date: 2011-01-27 00:00:00 -03:00
39
39
  default_executable:
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
@@ -168,7 +168,7 @@ dependencies:
168
168
  type: :runtime
169
169
  version_requirements: *id009
170
170
  - !ruby/object:Gem::Dependency
171
- name: hoe
171
+ name: distribution
172
172
  prerelease: false
173
173
  requirement: &id010 !ruby/object:Gem::Requirement
174
174
  none: false
@@ -177,11 +177,13 @@ dependencies:
177
177
  - !ruby/object:Gem::Version
178
178
  segments:
179
179
  - 0
180
- version: "0"
181
- type: :development
180
+ - 2
181
+ - 0
182
+ version: 0.2.0
183
+ type: :runtime
182
184
  version_requirements: *id010
183
185
  - !ruby/object:Gem::Dependency
184
- name: shoulda
186
+ name: hoe
185
187
  prerelease: false
186
188
  requirement: &id011 !ruby/object:Gem::Requirement
187
189
  none: false
@@ -194,9 +196,22 @@ dependencies:
194
196
  type: :development
195
197
  version_requirements: *id011
196
198
  - !ruby/object:Gem::Dependency
197
- name: minitest
199
+ name: shoulda
198
200
  prerelease: false
199
201
  requirement: &id012 !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ~>
205
+ - !ruby/object:Gem::Version
206
+ segments:
207
+ - 0
208
+ version: "0"
209
+ type: :development
210
+ version_requirements: *id012
211
+ - !ruby/object:Gem::Dependency
212
+ name: minitest
213
+ prerelease: false
214
+ requirement: &id013 !ruby/object:Gem::Requirement
200
215
  none: false
201
216
  requirements:
202
217
  - - ~>
@@ -206,11 +221,63 @@ dependencies:
206
221
  - 0
207
222
  version: "2.0"
208
223
  type: :development
209
- version_requirements: *id012
224
+ version_requirements: *id013
225
+ - !ruby/object:Gem::Dependency
226
+ name: rserve-client
227
+ prerelease: false
228
+ requirement: &id014 !ruby/object:Gem::Requirement
229
+ none: false
230
+ requirements:
231
+ - - ~>
232
+ - !ruby/object:Gem::Version
233
+ segments:
234
+ - 0
235
+ version: "0"
236
+ type: :development
237
+ version_requirements: *id014
238
+ - !ruby/object:Gem::Dependency
239
+ name: gettext
240
+ prerelease: false
241
+ requirement: &id015 !ruby/object:Gem::Requirement
242
+ none: false
243
+ requirements:
244
+ - - ~>
245
+ - !ruby/object:Gem::Version
246
+ segments:
247
+ - 0
248
+ version: "0"
249
+ type: :development
250
+ version_requirements: *id015
251
+ - !ruby/object:Gem::Dependency
252
+ name: mocha
253
+ prerelease: false
254
+ requirement: &id016 !ruby/object:Gem::Requirement
255
+ none: false
256
+ requirements:
257
+ - - ~>
258
+ - !ruby/object:Gem::Version
259
+ segments:
260
+ - 0
261
+ version: "0"
262
+ type: :development
263
+ version_requirements: *id016
264
+ - !ruby/object:Gem::Dependency
265
+ name: hoe-git
266
+ prerelease: false
267
+ requirement: &id017 !ruby/object:Gem::Requirement
268
+ none: false
269
+ requirements:
270
+ - - ~>
271
+ - !ruby/object:Gem::Version
272
+ segments:
273
+ - 0
274
+ version: "0"
275
+ type: :development
276
+ version_requirements: *id017
210
277
  - !ruby/object:Gem::Dependency
211
278
  name: hoe
212
279
  prerelease: false
213
- requirement: &id013 !ruby/object:Gem::Requirement
280
+ requirement: &id018 !ruby/object:Gem::Requirement
214
281
  none: false
215
282
  requirements:
216
283
  - - ">="
@@ -221,7 +288,7 @@ dependencies:
221
288
  - 0
222
289
  version: 2.8.0
223
290
  type: :development
224
- version_requirements: *id013
291
+ version_requirements: *id018
225
292
  description: |-
226
293
  A suite for basic and advanced statistics on Ruby. Tested on Ruby 1.8.7, 1.9.1, 1.9.2 (April, 2010) and JRuby 1.4 (Ruby 1.8.7 compatible).
227
294
 
@@ -258,14 +325,19 @@ files:
258
325
  - Manifest.txt
259
326
  - README.txt
260
327
  - Rakefile
328
+ - benchmarks/correlation_matrix_15_variables.rb
329
+ - benchmarks/correlation_matrix_5_variables.rb
330
+ - benchmarks/correlation_matrix_methods/correlation_matrix.ds
331
+ - benchmarks/correlation_matrix_methods/correlation_matrix.html
332
+ - benchmarks/correlation_matrix_methods/correlation_matrix.rb
333
+ - benchmarks/correlation_matrix_methods/correlation_matrix.xls
334
+ - benchmarks/correlation_matrix_methods/correlation_matrix_gsl_ruby.ods
335
+ - benchmarks/correlation_matrix_methods/correlation_matrix_with_graphics.ods
336
+ - benchmarks/correlation_matrix_methods/results.ds
337
+ - benchmarks/factor_map.rb
338
+ - benchmarks/helpers_benchmark.rb
261
339
  - bin/statsample
262
- - data/crime.txt
263
- - data/hartman_23.matrix
264
340
  - data/locale/es/LC_MESSAGES/statsample.mo
265
- - data/repeated_fields.csv
266
- - data/test_binomial.csv
267
- - data/tetmat_matrix.txt
268
- - data/tetmat_test.txt
269
341
  - doc_latex/manual/equations.tex
270
342
  - examples/boxplot.rb
271
343
  - examples/correlation_matrix.rb
@@ -278,7 +350,6 @@ files:
278
350
  - examples/multiple_regression.rb
279
351
  - examples/multivariate_correlation.rb
280
352
  - examples/parallel_analysis.rb
281
- - examples/parallel_analysis_tetrachoric.rb
282
353
  - examples/polychoric.rb
283
354
  - examples/principal_axis.rb
284
355
  - examples/reliability.rb
@@ -289,15 +360,11 @@ files:
289
360
  - examples/vector.rb
290
361
  - examples/velicer_map_test.rb
291
362
  - grab_references.rb
292
- - lib/distribution.rb
293
- - lib/distribution/chisquare.rb
294
- - lib/distribution/f.rb
295
- - lib/distribution/normal.rb
296
- - lib/distribution/normalbivariate.rb
297
- - lib/distribution/normalmultivariate.rb
298
- - lib/distribution/t.rb
299
363
  - lib/spss.rb
300
364
  - lib/statsample.rb
365
+ - lib/statsample/analysis.rb
366
+ - lib/statsample/analysis/suite.rb
367
+ - lib/statsample/analysis/suitereportbuilder.rb
301
368
  - lib/statsample/anova.rb
302
369
  - lib/statsample/anova/oneway.rb
303
370
  - lib/statsample/anova/twoway.rb
@@ -346,6 +413,7 @@ files:
346
413
  - lib/statsample/reliability/skillscaleanalysis.rb
347
414
  - lib/statsample/resample.rb
348
415
  - lib/statsample/rserve_extension.rb
416
+ - lib/statsample/shorthand.rb
349
417
  - lib/statsample/srs.rb
350
418
  - lib/statsample/test.rb
351
419
  - lib/statsample/test/bartlettsphericity.rb
@@ -355,6 +423,7 @@ files:
355
423
  - lib/statsample/test/t.rb
356
424
  - lib/statsample/test/umannwhitney.rb
357
425
  - lib/statsample/vector.rb
426
+ - lib/statsample/vector/gsl.rb
358
427
  - po/es/statsample.mo
359
428
  - po/es/statsample.po
360
429
  - po/statsample.pot
@@ -362,7 +431,16 @@ files:
362
431
  - setup.rb
363
432
  - test/fixtures/bank2.dat
364
433
  - test/fixtures/correlation_matrix.rb
434
+ - test/fixtures/crime.txt
435
+ - test/fixtures/hartman_23.matrix
436
+ - test/fixtures/repeated_fields.csv
437
+ - test/fixtures/test_binomial.csv
438
+ - test/fixtures/test_csv.csv
439
+ - test/fixtures/test_xls.xls
440
+ - test/fixtures/tetmat_matrix.txt
441
+ - test/fixtures/tetmat_test.txt
365
442
  - test/helpers_tests.rb
443
+ - test/test_analysis.rb
366
444
  - test/test_anovaoneway.rb
367
445
  - test/test_anovatwoway.rb
368
446
  - test/test_anovatwowaywithdataset.rb
@@ -371,12 +449,12 @@ files:
371
449
  - test/test_bivariate.rb
372
450
  - test/test_codification.rb
373
451
  - test/test_crosstab.rb
374
- - test/test_csv.csv
375
452
  - test/test_csv.rb
376
453
  - test/test_dataset.rb
377
- - test/test_distribution.rb
378
454
  - test/test_dominance_analysis.rb
379
455
  - test/test_factor.rb
456
+ - test/test_factor_map.rb
457
+ - test/test_factor_pa.rb
380
458
  - test/test_ggobi.rb
381
459
  - test/test_gsl.rb
382
460
  - test/test_histogram.rb
@@ -399,7 +477,7 @@ files:
399
477
  - test/test_umannwhitney.rb
400
478
  - test/test_vector.rb
401
479
  - test/test_xls.rb
402
- - test/test_xls.xls
480
+ - web/Rakefile
403
481
  has_rdoc: true
404
482
  homepage: http://ruby-statsample.rubyforge.org/
405
483
  licenses: []
@@ -453,16 +531,18 @@ specification_version: 3
453
531
  summary: A suite for basic and advanced statistics on Ruby
454
532
  test_files:
455
533
  - test/test_bivariate.rb
534
+ - test/test_factor_pa.rb
456
535
  - test/test_dominance_analysis.rb
457
536
  - test/test_factor.rb
458
537
  - test/test_codification.rb
459
538
  - test/test_anovatwowaywithdataset.rb
460
539
  - test/test_umannwhitney.rb
540
+ - test/test_factor_map.rb
461
541
  - test/test_anovawithvectors.rb
462
542
  - test/test_crosstab.rb
463
- - test/test_distribution.rb
464
543
  - test/test_rserve_extension.rb
465
544
  - test/test_csv.rb
545
+ - test/test_analysis.rb
466
546
  - test/test_matrix.rb
467
547
  - test/test_gsl.rb
468
548
  - test/test_bartlettsphericity.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,31 +0,0 @@
1
- #!/usr/bin/ruby
2
- $:.unshift(File.dirname(__FILE__)+'/../lib/')
3
-
4
- require 'statsample'
5
- require 'statsample/bivariate/tetrachoric'
6
- samples=1000
7
- variables=10
8
- rng = GSL::Rng.alloc()
9
- f1=samples.times.collect {rng.ugaussian()}.to_scale
10
- f2=samples.times.collect {rng.ugaussian()}.to_scale
11
- f3=samples.times.collect {rng.ugaussian()}.to_scale
12
-
13
- vectors={}
14
-
15
- variables.times do |i|
16
- vectors["v#{i}"]=samples.times.collect {|nv| f1[nv]*(i-30)+f2[nv]*(i+30)+f3[nv]*(i+15) + rng.ugaussian() > 0 ? 1 : 0}.to_scale
17
- end
18
- ds=vectors.to_dataset
19
-
20
- pa=Statsample::Factor::ParallelAnalysis.new(ds, :iterations=>10, :matrix_method=>:tetrachoric_correlation_matrix, :debug=>true)
21
-
22
- pca=Statsample::Factor::PCA.new(Statsample::Bivariate.tetrachoric_correlation_matrix(ds))
23
- rb=ReportBuilder.new(:name=>"Parallel Analysis with simulation") do |g|
24
- g.text("There are 3 real factors on data")
25
- g.parse_element(pca)
26
- g.text("Traditional Kaiser criterion (k>1) returns #{pca.m} factors")
27
- g.parse_element(pa)
28
- g.text("Parallel Analysis returns #{pa.number_of_factors} factors to preserve")
29
- end
30
-
31
- puts rb.to_text
data/lib/distribution.rb DELETED
@@ -1,25 +0,0 @@
1
- begin
2
- require 'statistics2'
3
- rescue LoadError
4
- puts "You should install statistics2"
5
- end
6
- # Several distributions modules to calculate cdf, inverse cdf and pdf
7
- # See Distribution::Pdf for interface.
8
- #
9
- # Usage:
10
- # Distribution::Normal.cdf(1.96)
11
- # => 0.97500210485178
12
- # Distribution::Normal.p_value(0.95)
13
- # => 1.64485364660836
14
- module Distribution
15
- def self.has_gsl?
16
- Statsample.has_gsl?
17
- end
18
-
19
- autoload(:ChiSquare, 'distribution/chisquare')
20
- autoload(:T, 'distribution/t')
21
- autoload(:F, 'distribution/f')
22
- autoload(:Normal, 'distribution/normal')
23
- autoload(:NormalBivariate, 'distribution/normalbivariate')
24
- # autoload(:NormalMultivariate, 'distribution/normalmultivariate')
25
- end
@@ -1,23 +0,0 @@
1
- module Distribution
2
- # Calculate cdf and inverse cdf for Chi Square Distribution.
3
- #
4
- # Based on Statistics2 module
5
- #
6
- module ChiSquare
7
- class << self
8
- # Return the P-value of the corresponding integral with
9
- # k degrees of freedom
10
- def p_value(pr,k)
11
- Statistics2.pchi2X_(k.to_i, pr)
12
- end
13
- # Chi-square cumulative distribution function (cdf).
14
- #
15
- # Returns the integral of Chi-squared distribution
16
- # with k degrees of freedom over [0, x]
17
- #
18
- def cdf(x, k)
19
- Statistics2.chi2dist(k.to_i,x)
20
- end
21
- end
22
- end
23
- end
@@ -1,35 +0,0 @@
1
- module Distribution
2
- # Calculate cdf and inverse cdf for Fisher Distribution.
3
- # Uses Statistics2 module
4
- module F
5
- class << self
6
- # Return the P-value of the corresponding integral with
7
- # k degrees of freedom
8
- #
9
- # Distribution::F.p_value(0.95,1,2)
10
- def p_value(pr,k1,k2)
11
- # Statistics2 has some troubles with extreme f values
12
- if Distribution.has_gsl?
13
- GSL::Cdf.fdist_Pinv(pr,k1,k2)
14
- else
15
- #puts "F:#{k1}, #{k2},#{pr}"
16
- Statistics2.pfdist(k1,k2, pr)
17
- end
18
- end
19
- # F cumulative distribution function (cdf).
20
- #
21
- # Returns the integral of F-distribution
22
- # with k1 and k2 degrees of freedom
23
- # over [0, x].
24
- # Distribution::F.cdf(20,3,2)
25
- #
26
- def cdf(x, k1, k2)
27
- if Distribution.has_gsl?
28
- GSL::Cdf.fdist_P(x.to_f,k1,k2)
29
- else
30
- Statistics2.fdist(k1, k2,x)
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,60 +0,0 @@
1
- module Distribution
2
- # Calculate cdf and inverse cdf for Normal Distribution.
3
- # Uses Statistics2 module
4
- module Normal
5
- class << self
6
- # Return a proc which return a random number within a gaussian distribution -> N(0,1)
7
- # == Reference:
8
- # * http://www.taygeta.com/random/gaussian.html
9
- def rng_ugaussian
10
- if Distribution.has_gsl?
11
- rng=GSL::Rng.alloc()
12
- lambda { rng.ugaussian()}
13
- else
14
- returned,y1,y2=0,0,0
15
- lambda {
16
- if returned==0
17
- begin
18
- x1 = 2.0 * rand - 1.0
19
- x2 = 2.0 * rand - 1.0
20
- w = x1 * x1 + x2 * x2
21
- end while ( w >= 1.0 )
22
- w = Math::sqrt( (-2.0 * Math::log( w ) ) / w )
23
- y1 = x1 * w
24
- y2 = x2 * w
25
- returned=1
26
- y1
27
- else
28
- returned=0
29
- y2
30
- end
31
- }
32
- end
33
- end
34
- # Return the P-value of the corresponding integral
35
- def p_value(pr)
36
- Statistics2.pnormaldist(pr)
37
- end
38
- # Normal cumulative distribution function (cdf).
39
- #
40
- # Returns the integral of normal distribution
41
- # over (-Infty, x].
42
- #
43
- def cdf(x)
44
- Statistics2.normaldist(x)
45
- end
46
-
47
- if Distribution.has_gsl?
48
- alias :cdf_ruby :cdf
49
- def cdf(x) # :nodoc:
50
- GSL::Cdf::gaussian_P(x)
51
- end
52
- end
53
- # Normal probability density function (pdf)
54
- # With x=0 and sigma=1
55
- def pdf(x)
56
- (1.0/Math::sqrt(2*Math::PI))*Math::exp(-(x**2/2.0))
57
- end
58
- end
59
- end
60
- end