Initialisation du repository de Beta
This commit is contained in:
commit
14985f6dbb
9469 changed files with 1903273 additions and 0 deletions
202
venv/lib/python3.12/site-packages/sympy/stats/__init__.py
Normal file
202
venv/lib/python3.12/site-packages/sympy/stats/__init__.py
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
"""
|
||||
SymPy statistics module
|
||||
|
||||
Introduces a random variable type into the SymPy language.
|
||||
|
||||
Random variables may be declared using prebuilt functions such as
|
||||
Normal, Exponential, Coin, Die, etc... or built with functions like FiniteRV.
|
||||
|
||||
Queries on random expressions can be made using the functions
|
||||
|
||||
========================= =============================
|
||||
Expression Meaning
|
||||
------------------------- -----------------------------
|
||||
``P(condition)`` Probability
|
||||
``E(expression)`` Expected value
|
||||
``H(expression)`` Entropy
|
||||
``variance(expression)`` Variance
|
||||
``density(expression)`` Probability Density Function
|
||||
``sample(expression)`` Produce a realization
|
||||
``where(condition)`` Where the condition is true
|
||||
========================= =============================
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
>>> from sympy.stats import P, E, variance, Die, Normal
|
||||
>>> from sympy import simplify
|
||||
>>> X, Y = Die('X', 6), Die('Y', 6) # Define two six sided dice
|
||||
>>> Z = Normal('Z', 0, 1) # Declare a Normal random variable with mean 0, std 1
|
||||
>>> P(X>3) # Probability X is greater than 3
|
||||
1/2
|
||||
>>> E(X+Y) # Expectation of the sum of two dice
|
||||
7
|
||||
>>> variance(X+Y) # Variance of the sum of two dice
|
||||
35/6
|
||||
>>> simplify(P(Z>1)) # Probability of Z being greater than 1
|
||||
1/2 - erf(sqrt(2)/2)/2
|
||||
|
||||
|
||||
One could also create custom distribution and define custom random variables
|
||||
as follows:
|
||||
|
||||
1. If you want to create a Continuous Random Variable:
|
||||
|
||||
>>> from sympy.stats import ContinuousRV, P, E
|
||||
>>> from sympy import exp, Symbol, Interval, oo
|
||||
>>> x = Symbol('x')
|
||||
>>> pdf = exp(-x) # pdf of the Continuous Distribution
|
||||
>>> Z = ContinuousRV(x, pdf, set=Interval(0, oo))
|
||||
>>> E(Z)
|
||||
1
|
||||
>>> P(Z > 5)
|
||||
exp(-5)
|
||||
|
||||
1.1 To create an instance of Continuous Distribution:
|
||||
|
||||
>>> from sympy.stats import ContinuousDistributionHandmade
|
||||
>>> from sympy import Lambda
|
||||
>>> dist = ContinuousDistributionHandmade(Lambda(x, pdf), set=Interval(0, oo))
|
||||
>>> dist.pdf(x)
|
||||
exp(-x)
|
||||
|
||||
2. If you want to create a Discrete Random Variable:
|
||||
|
||||
>>> from sympy.stats import DiscreteRV, P, E
|
||||
>>> from sympy import Symbol, S
|
||||
>>> p = S(1)/2
|
||||
>>> x = Symbol('x', integer=True, positive=True)
|
||||
>>> pdf = p*(1 - p)**(x - 1)
|
||||
>>> D = DiscreteRV(x, pdf, set=S.Naturals)
|
||||
>>> E(D)
|
||||
2
|
||||
>>> P(D > 3)
|
||||
1/8
|
||||
|
||||
2.1 To create an instance of Discrete Distribution:
|
||||
|
||||
>>> from sympy.stats import DiscreteDistributionHandmade
|
||||
>>> from sympy import Lambda
|
||||
>>> dist = DiscreteDistributionHandmade(Lambda(x, pdf), set=S.Naturals)
|
||||
>>> dist.pdf(x)
|
||||
2**(1 - x)/2
|
||||
|
||||
3. If you want to create a Finite Random Variable:
|
||||
|
||||
>>> from sympy.stats import FiniteRV, P, E
|
||||
>>> from sympy import Rational, Eq
|
||||
>>> pmf = {1: Rational(1, 3), 2: Rational(1, 6), 3: Rational(1, 4), 4: Rational(1, 4)}
|
||||
>>> X = FiniteRV('X', pmf)
|
||||
>>> E(X)
|
||||
29/12
|
||||
>>> P(X > 3)
|
||||
1/4
|
||||
|
||||
3.1 To create an instance of Finite Distribution:
|
||||
|
||||
>>> from sympy.stats import FiniteDistributionHandmade
|
||||
>>> dist = FiniteDistributionHandmade(pmf)
|
||||
>>> dist.pmf(x)
|
||||
Lambda(x, Piecewise((1/3, Eq(x, 1)), (1/6, Eq(x, 2)), (1/4, Eq(x, 3) | Eq(x, 4)), (0, True)))
|
||||
"""
|
||||
|
||||
__all__ = [
|
||||
'P', 'E', 'H', 'density', 'where', 'given', 'sample', 'cdf','median',
|
||||
'characteristic_function', 'pspace', 'sample_iter', 'variance', 'std',
|
||||
'skewness', 'kurtosis', 'covariance', 'dependent', 'entropy', 'independent',
|
||||
'random_symbols', 'correlation', 'factorial_moment', 'moment', 'cmoment',
|
||||
'sampling_density', 'moment_generating_function', 'smoment', 'quantile',
|
||||
'coskewness', 'sample_stochastic_process',
|
||||
|
||||
'FiniteRV', 'DiscreteUniform', 'Die', 'Bernoulli', 'Coin', 'Binomial',
|
||||
'BetaBinomial', 'Hypergeometric', 'Rademacher', 'IdealSoliton', 'RobustSoliton',
|
||||
'FiniteDistributionHandmade',
|
||||
|
||||
'ContinuousRV', 'Arcsin', 'Benini', 'Beta', 'BetaNoncentral', 'BetaPrime',
|
||||
'BoundedPareto', 'Cauchy', 'Chi', 'ChiNoncentral', 'ChiSquared', 'Dagum', 'Davis', 'Erlang',
|
||||
'ExGaussian', 'Exponential', 'ExponentialPower', 'FDistribution',
|
||||
'FisherZ', 'Frechet', 'Gamma', 'GammaInverse', 'Gompertz', 'Gumbel',
|
||||
'Kumaraswamy', 'Laplace', 'Levy', 'Logistic','LogCauchy', 'LogLogistic', 'LogitNormal', 'LogNormal', 'Lomax',
|
||||
'Moyal', 'Maxwell', 'Nakagami', 'Normal', 'GaussianInverse', 'Pareto', 'PowerFunction',
|
||||
'QuadraticU', 'RaisedCosine', 'Rayleigh','Reciprocal', 'StudentT', 'ShiftedGompertz',
|
||||
'Trapezoidal', 'Triangular', 'Uniform', 'UniformSum', 'VonMises', 'Wald',
|
||||
'Weibull', 'WignerSemicircle', 'ContinuousDistributionHandmade',
|
||||
|
||||
'FlorySchulz', 'Geometric','Hermite', 'Logarithmic', 'NegativeBinomial', 'Poisson', 'Skellam',
|
||||
'YuleSimon', 'Zeta', 'DiscreteRV', 'DiscreteDistributionHandmade',
|
||||
|
||||
'JointRV', 'Dirichlet', 'GeneralizedMultivariateLogGamma',
|
||||
'GeneralizedMultivariateLogGammaOmega', 'Multinomial', 'MultivariateBeta',
|
||||
'MultivariateEwens', 'MultivariateT', 'NegativeMultinomial',
|
||||
'NormalGamma', 'MultivariateNormal', 'MultivariateLaplace', 'marginal_distribution',
|
||||
|
||||
'StochasticProcess', 'DiscreteTimeStochasticProcess',
|
||||
'DiscreteMarkovChain', 'TransitionMatrixOf', 'StochasticStateSpaceOf',
|
||||
'GeneratorMatrixOf', 'ContinuousMarkovChain', 'BernoulliProcess',
|
||||
'PoissonProcess', 'WienerProcess', 'GammaProcess',
|
||||
|
||||
'CircularEnsemble', 'CircularUnitaryEnsemble',
|
||||
'CircularOrthogonalEnsemble', 'CircularSymplecticEnsemble',
|
||||
'GaussianEnsemble', 'GaussianUnitaryEnsemble',
|
||||
'GaussianOrthogonalEnsemble', 'GaussianSymplecticEnsemble',
|
||||
'joint_eigen_distribution', 'JointEigenDistribution',
|
||||
'level_spacing_distribution',
|
||||
|
||||
'MatrixGamma', 'Wishart', 'MatrixNormal', 'MatrixStudentT',
|
||||
|
||||
'Probability', 'Expectation', 'Variance', 'Covariance', 'Moment',
|
||||
'CentralMoment',
|
||||
|
||||
'ExpectationMatrix', 'VarianceMatrix', 'CrossCovarianceMatrix'
|
||||
|
||||
]
|
||||
from .rv_interface import (P, E, H, density, where, given, sample, cdf, median,
|
||||
characteristic_function, pspace, sample_iter, variance, std, skewness,
|
||||
kurtosis, covariance, dependent, entropy, independent, random_symbols,
|
||||
correlation, factorial_moment, moment, cmoment, sampling_density,
|
||||
moment_generating_function, smoment, quantile, coskewness,
|
||||
sample_stochastic_process)
|
||||
|
||||
from .frv_types import (FiniteRV, DiscreteUniform, Die, Bernoulli, Coin,
|
||||
Binomial, BetaBinomial, Hypergeometric, Rademacher,
|
||||
FiniteDistributionHandmade, IdealSoliton, RobustSoliton)
|
||||
|
||||
from .crv_types import (ContinuousRV, Arcsin, Benini, Beta, BetaNoncentral,
|
||||
BetaPrime, BoundedPareto, Cauchy, Chi, ChiNoncentral, ChiSquared,
|
||||
Dagum, Davis, Erlang, ExGaussian, Exponential, ExponentialPower,
|
||||
FDistribution, FisherZ, Frechet, Gamma, GammaInverse, GaussianInverse,
|
||||
Gompertz, Gumbel, Kumaraswamy, Laplace, Levy, Logistic, LogCauchy,
|
||||
LogLogistic, LogitNormal, LogNormal, Lomax, Maxwell, Moyal, Nakagami,
|
||||
Normal, Pareto, QuadraticU, RaisedCosine, Rayleigh, Reciprocal,
|
||||
StudentT, PowerFunction, ShiftedGompertz, Trapezoidal, Triangular,
|
||||
Uniform, UniformSum, VonMises, Wald, Weibull, WignerSemicircle,
|
||||
ContinuousDistributionHandmade)
|
||||
|
||||
from .drv_types import (FlorySchulz, Geometric, Hermite, Logarithmic, NegativeBinomial, Poisson,
|
||||
Skellam, YuleSimon, Zeta, DiscreteRV, DiscreteDistributionHandmade)
|
||||
|
||||
from .joint_rv_types import (JointRV, Dirichlet,
|
||||
GeneralizedMultivariateLogGamma, GeneralizedMultivariateLogGammaOmega,
|
||||
Multinomial, MultivariateBeta, MultivariateEwens, MultivariateT,
|
||||
NegativeMultinomial, NormalGamma, MultivariateNormal, MultivariateLaplace,
|
||||
marginal_distribution)
|
||||
|
||||
from .stochastic_process_types import (StochasticProcess,
|
||||
DiscreteTimeStochasticProcess, DiscreteMarkovChain,
|
||||
TransitionMatrixOf, StochasticStateSpaceOf, GeneratorMatrixOf,
|
||||
ContinuousMarkovChain, BernoulliProcess, PoissonProcess, WienerProcess,
|
||||
GammaProcess)
|
||||
|
||||
from .random_matrix_models import (CircularEnsemble, CircularUnitaryEnsemble,
|
||||
CircularOrthogonalEnsemble, CircularSymplecticEnsemble,
|
||||
GaussianEnsemble, GaussianUnitaryEnsemble, GaussianOrthogonalEnsemble,
|
||||
GaussianSymplecticEnsemble, joint_eigen_distribution,
|
||||
JointEigenDistribution, level_spacing_distribution)
|
||||
|
||||
from .matrix_distributions import MatrixGamma, Wishart, MatrixNormal, MatrixStudentT
|
||||
|
||||
from .symbolic_probability import (Probability, Expectation, Variance,
|
||||
Covariance, Moment, CentralMoment)
|
||||
|
||||
from .symbolic_multivariate_probability import (ExpectationMatrix, VarianceMatrix,
|
||||
CrossCovarianceMatrix)
|
||||
Loading…
Add table
Add a link
Reference in a new issue