Giter VIP home page Giter VIP logo

statiskit / core Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 7.0 2.71 MB

A Collection of Basic Utilities for Statistical Analyses

Home Page: http://statiskit-core.rtfd.io/

License: Apache License 2.0

Python 9.52% C++ 90.45% Batchfile 0.02% Shell 0.01%
discrete-distributions continuous-distributions categorical-distributions univariate-distributions multivariate-distributions mixture-model parametric-distributions cpp python dataframe

core's Introduction

https://travis-ci.org/StatisKit/StatisKit.svg?branch=master https://ci.appveyor.com/api/projects/status/ashg5htpprb5hssl/branch/master?svg=true

StatisKit: A Software Suite for Statistical Analyses

StatisKit is a collection of open source software designed to provide an environment for performing statistical analyses in C++ or Python.

core's People

Contributors

adjamagatte avatar jpeyhardi avatar pfernique avatar

Watchers

 avatar  avatar

core's Issues

Data loading specification

For a given Python interface of a StatisKit software component (e.g., StatisKit-Core), to load a data frame (e.g., data), an user must be able to type:

from statiskit import core
data = core.load_data("data")

For now, we consider:

  • To save data according to the DSV format with:
    • headers in the first row,
    • the ; column separator,
    • the .dsv extension.
  • To save data into a data directory at the root of the Python package tree (e.g., src/py/statiskit/core/data).
  • That this data directory cannot be imported (e.g., from statiskit.core import data should raise a ImportError: No module named statiskit.core.data error)

To do so, a load_data function could defined in src/py/statiskit/core/_tools.py file.
Using a the __file__ variable of a __init__.py module file as input, this function should be able to load a data file from its basename prefix (e.g., use the input string "data" for loading the dataframe saved in the "data.dsv" file).

Test errors related to distributions

I have some tests errors

The commit is jpeyhardi/Core@3e19064 and the environment used for the build is described by environment.txt

Using the Sublime Text build system (Ctrl + Shift + B then choosing StatisKit), I have the following error message:

Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test binomial ML estimation ... ok
Test binomial MM estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
ERROR
ERROR
ERROR
Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
Test geometric distribution ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test logarithmic distribution ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
Test mixture estimation using the EM algorithm ... ERROR
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test mixture posterior probabilities ... ok
Test quantile computation ... ok
Test multinormal distribution simulation ... ok
Test negative binomial ML estimation ... ok
Test negative binomial MM estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test normal ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
ERROR
Test Poisson ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
ERROR
Test AIC selection ... ERROR
Test AICc selection ... ERROR
Test BIC selection ... ERROR
Test HQIC selection ... ERROR
ERROR
Test Dirichlet multinomial splitting estimation ... ERROR
Test multinomial splitting estimation ... ERROR

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(BetaBinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(BetaNegativeBinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(BinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: test suite for <class 'test_categorical.TestNominal'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_categorical.py", line 19, in setUpClass
    pi = linalg.Vector([2., 1., 3.]))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/distribution.py", line 201, in __init__
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: test suite for <class 'test_categorical.TestOrdinal'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_categorical.py", line 42, in setUpClass
    ordered_pi = linalg.Vector([2., 1., 3.]))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/distribution.py", line 201, in __init__
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: test suite for <class 'test_data.TestData'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_data.py", line 23, in setUpClass
    cls._data = data.load('capushe')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/data/core/__init__.py", line 15, in load
    capushe = read_csv(filepath, header=True, sep=',')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/io.py", line 16, in read_csv
    if sep and not isinstance(sep, basestring):
NameError: name 'basestring' is not defined

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(GeometricDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(LogarithmicDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test mixture estimation using the EM algorithm
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_mixture.py", line 29, in test_estimation_em
    default_estimator = core.poisson_estimation('ml'))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 607, in mixture_estimation
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(DiscreteUnivariateMixtureDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(NegativeBinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: test suite for <class 'test_ordinal.TestOrdinal'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_ordinal.py", line 19, in setUpClass
    pi = linalg.Vector([2., 1., 3.]))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/distribution.py", line 201, in __init__
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(PoissonDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: test suite for <class 'test_sample_space.TestSampleSpace'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_sample_space.py", line 23, in setUpClass
    cls._data = data.load('capushe')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/data/core/__init__.py", line 15, in load
    capushe = read_csv(filepath, header=True, sep=',')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/io.py", line 16, in read_csv
    if sep and not isinstance(sep, basestring):
NameError: name 'basestring' is not defined

======================================================================
ERROR: Test AIC selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 21, in test_aic
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test AICc selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 28, in test_aicc
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test BIC selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 35, in test_bic
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test HQIC selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 42, in test_hqic
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: test suite for <class 'test_slope_heuristic.TestSlopeHeuristic'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_slope_heuristic.py", line 19, in setUpClass
    cls._data = data.load('capushe')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/data/core/__init__.py", line 15, in load
    capushe = read_csv(filepath, header=True, sep=',')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/io.py", line 16, in read_csv
    if sep and not isinstance(sep, basestring):
NameError: name 'basestring' is not defined

======================================================================
ERROR: Test Dirichlet multinomial splitting estimation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_splitting.py", line 25, in test_estimation
    data=data)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 512, in splitting_estimation
    return _estimation('default', data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test multinomial splitting estimation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_splitting.py", line 45, in test_estimation
    data=data)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 512, in splitting_estimation
    return _estimation('default', data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

Name                                Stmts   Miss  Cover
-------------------------------------------------------
statiskit/core/__init__.py             15      0   100%
statiskit/core/_core.py               329      0   100%
statiskit/core/_tools.py                8      4    50%
statiskit/core/base.py                 13      0   100%
statiskit/core/controls.py             55      8    85%
statiskit/core/data.py                379    254    33%
statiskit/core/distribution.py        774    404    48%
statiskit/core/estimation.py          434    223    49%
statiskit/core/event.py               200     88    56%
statiskit/core/indicator.py           126     50    60%
statiskit/core/io.py                  119     74    38%
statiskit/core/optionals.py            19      5    74%
statiskit/core/sample_space.py        151     67    56%
statiskit/core/singular.py             53     22    58%
statiskit/core/slope_heuristic.py     139     73    47%
-------------------------------------------------------
TOTAL                                2814   1272    55%
----------------------------------------------------------------------
Ran 53 tests in 0.175s

FAILED (errors=21)
scons: *** [build/test/.coverage] Error 1
scons: building terminated because of errors.
Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test binomial ML estimation ... ok
Test binomial MM estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
ERROR
ERROR
ERROR
Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
Test geometric distribution ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test logarithmic distribution ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
Test mixture estimation using the EM algorithm ... ERROR
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test mixture posterior probabilities ... ok
Test quantile computation ... ok
Test multinormal distribution simulation ... ok
Test negative binomial ML estimation ... ok
Test negative binomial MM estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
Test normal ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ok
Test quantile computation ... ok
ERROR
Test Poisson ML estimation ... ok
Test moments ... ok
Test probability distribution function and related functions ... ERROR
Test quantile computation ... ok
ERROR
Test AIC selection ... ERROR
Test AICc selection ... ERROR
Test BIC selection ... ERROR
Test HQIC selection ... ERROR
ERROR
Test Dirichlet multinomial splitting estimation ... ERROR
Test multinomial splitting estimation ... ERROR

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(BetaBinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(BetaNegativeBinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(BinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: test suite for <class 'test_categorical.TestNominal'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_categorical.py", line 19, in setUpClass
    pi = linalg.Vector([2., 1., 3.]))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/distribution.py", line 201, in __init__
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: test suite for <class 'test_categorical.TestOrdinal'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_categorical.py", line 42, in setUpClass
    ordered_pi = linalg.Vector([2., 1., 3.]))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/distribution.py", line 201, in __init__
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: test suite for <class 'test_data.TestData'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_data.py", line 23, in setUpClass
    cls._data = data.load('capushe')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/data/core/__init__.py", line 15, in load
    capushe = read_csv(filepath, header=True, sep=',')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/io.py", line 16, in read_csv
    if sep and not isinstance(sep, basestring):
NameError: name 'basestring' is not defined

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(GeometricDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(LogarithmicDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test mixture estimation using the EM algorithm
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_mixture.py", line 29, in test_estimation_em
    default_estimator = core.poisson_estimation('ml'))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 607, in mixture_estimation
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(DiscreteUnivariateMixtureDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(NegativeBinomialDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: test suite for <class 'test_ordinal.TestOrdinal'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_ordinal.py", line 19, in setUpClass
    pi = linalg.Vector([2., 1., 3.]))
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/distribution.py", line 201, in __init__
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test probability distribution function and related functions
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_distribution.py", line 34, in test_pdf_ldf_cdf
    self.assertAlmostEqual(self._dist.cdf(v - 1) + self._dist.pdf(v), self._dist.cdf(v))
Boost.Python.ArgumentError: Python argument types in
    DiscreteUnivariateDistribution.cdf(PoissonDistribution, numpy.int64)
did not match C++ signature:
    cdf(statiskit::DiscreteUnivariateDistribution {lvalue}, int)

======================================================================
ERROR: test suite for <class 'test_sample_space.TestSampleSpace'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_sample_space.py", line 23, in setUpClass
    cls._data = data.load('capushe')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/data/core/__init__.py", line 15, in load
    capushe = read_csv(filepath, header=True, sep=',')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/io.py", line 16, in read_csv
    if sep and not isinstance(sep, basestring):
NameError: name 'basestring' is not defined

======================================================================
ERROR: Test AIC selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 21, in test_aic
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test AICc selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 28, in test_aicc
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test BIC selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 35, in test_bic
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test HQIC selection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_selection.py", line 42, in test_hqic
    core.negative_binomial_estimation("ml")])
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 715, in selection
    return _estimation(algo, data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: test suite for <class 'test_slope_heuristic.TestSlopeHeuristic'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/jean/Bureau/developpement/Core/build/test/test_slope_heuristic.py", line 19, in setUpClass
    cls._data = data.load('capushe')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/data/core/__init__.py", line 15, in load
    capushe = read_csv(filepath, header=True, sep=',')
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/io.py", line 16, in read_csv
    if sep and not isinstance(sep, basestring):
NameError: name 'basestring' is not defined

======================================================================
ERROR: Test Dirichlet multinomial splitting estimation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_splitting.py", line 25, in test_estimation
    data=data)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 512, in splitting_estimation
    return _estimation('default', data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

======================================================================
ERROR: Test multinomial splitting estimation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jean/Bureau/developpement/Core/build/test/test_splitting.py", line 45, in test_estimation
    data=data)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 512, in splitting_estimation
    return _estimation('default', data, mapping, **kwargs)
  File "/home/jean/.miniconda/envs/statiskit/lib/python3.6/site-packages/statiskit/core/estimation.py", line 341, in _estimation
    for attr in kwargs.keys():
RuntimeError: dictionary changed size during iteration

Name                                Stmts   Miss  Cover
-------------------------------------------------------
statiskit/core/__init__.py             15      0   100%
statiskit/core/_core.py               329      0   100%
statiskit/core/_tools.py                8      4    50%
statiskit/core/base.py                 13      0   100%
statiskit/core/controls.py             55      8    85%
statiskit/core/data.py                379    254    33%
statiskit/core/distribution.py        774    404    48%
statiskit/core/estimation.py          434    223    49%
statiskit/core/event.py               200     88    56%
statiskit/core/indicator.py           126     50    60%
statiskit/core/io.py                  119     74    38%
statiskit/core/optionals.py            19      5    74%
statiskit/core/sample_space.py        151     67    56%
statiskit/core/singular.py             53     22    58%
statiskit/core/slope_heuristic.py     139     73    47%
-------------------------------------------------------
TOTAL                                2814   1272    55%
----------------------------------------------------------------------
Ran 53 tests in 0.175s

FAILED (errors=21)
scons: *** [build/test/.coverage] Error 1
scons: building terminated because of errors.

Parametrization of continuous univariate distributions

There exists two parametrizations of the Gamma distribution : see https://en.wikipedia.org/wiki/Gamma_distribution
One with a shape and scale parameters and the other with a shape and rate parameters.
In order to be more comparable with other distributions defined in StatisKit.Core, I propose to use the first definition.
More generally should not we propose a location and a scale parameter for all continuous univariate distributions ?
It is always possible to define the cdf $F_{u,s}(x):=F((x-u)/s)$.
The advantage would be to obtain more comparable distributions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.