Spis treści
Biblioteka rozkładów dostarcza narzędzi pozwalających użyć typowych rozkładów: obliczyć ich charakterystyki (jak średnia, mediana, wariancja, funkcję gęstości itp. oraz wygenerować przy ich pomocy próbki danych.
AdvancedMiner dostarcza następujących metod do obliczania charakterystyk zaimplementowanych rozkładów i generowania ich próbek.
Tabela 8.1. Dostępne metody
Metoda | Opis |
cdf(x double) | zwraca wartość skumulowaną rozkładu w punkcie x |
estimateDistribution(_sample) | szacuje parametry rozkładu na podstawie próbki danych |
kurtosis() | zwraca wartość kurtozy |
mean() | zwraca wartość średniej |
median() | zwraca wartość mediany |
mode() | zwraca wartość mody |
pdf(x double) | zwraca gęstość prawdopodobieństw w punkcie x |
quantile(p double) | zwraca wartość p-tego kwantyla |
rand() | zwraca pseudo losową liczbę z danego rozkładu |
skewness() | zwraca wartość skośności |
standardDeviation() | zwraca wartość standardowego odchylenia |
variance() | zwraca wartość wariancji |
Nie wszystkie z wyżej wymienionych metod są zaimplementowane dla wszystkich rozkładów. Jednakże jest możliwe sprawdzenie czy dana metoda jest wspierana przez daną klasę rozkładu używając metody supportsCapability (Patrz przykład poniżej).
Przykład 8.1. Using distributions library (poisson distribution)
from biz.sc.math.distributions import * from biz.sc.math.distributions.discrete import * _lambda = 3 _Poi = PoissonDistribution(_lambda) _Poi.setSeed(1245) print 'Mean: ',_Poi.mean() print 'Variance: ',_Poi.variance() print 'Mode: ',_Poi.mode() print 'Propability density function: ',_Poi.pdf(3) print 'Standard deviation:',_Poi.standardDeviation() print 'Supports estimation:',_Poi.supportsCapability(biz.sc.math.distributions.DistributionCapability.estimation)
Output:
Mean: 3.0 Variance: 3.0 Mode: 3.0 Propability density function: 0.22404180765538775 Standard deviation: 1.7320508075688772 Supports estimation: 1
Beta distribution jest ciągłym rozkładem prawdopodobieństwa z funkcją gęstości opisaną poniższą formułą;
Obiekt Beta Distribution może być utworzony w jeden z poniższych sposobów
BetaDistribution(p, q) - tworzy nowy rozkład beta z dolną granicą min = 0, i górną granicą max = 1 i kształcie zadanym parametrami p i q.
BetaDistribution(max, p, q) - tworzy nowy rozkład beta z dolną granicą min = 0, z górną max i kształcie zadanym parametrami p i q.
BetaDistribution(min, max, p, q) - tworzy nowy rozkład beta z dolną granicą min, z górną max i kształcie zadanym parametrami p i q.
Tabela 8.2. parametry BetaDistribution
Parametr | Typ parametru |
min | double |
max | double |
p | positive double |
q | positive double |
Tabela 8.3. Metody specyficzne dla rozkładu beta
Metoda | Opis |
getMax() | zwraca wartość parametru max |
getMin() | zwraca wartość parametru min |
getP() | zwraca wartość parametru p |
getQ() | zwraca wartość parametru q |
setMax() | ustawia wartość parametru max |
setMin() | ustawia wartość parametru min |
setP() | ustawia wartość parametru p |
setQ() | ustawia wartość parametru q |
rozkład Chi-Square specjalny przypadek rozkładu gamma z funkcją gęstości prawdopodobieństwa zadaną wzorem:
ChiSquareDistribution(df) tworzy rozkład prawdopodobieństwa z df stopniami swobody.
Rozkład Erlanga jest to przypadek rozkładu gamma z gęstością prawdopodobieństwa zadaną funkcją
ErlangDistribution(alpha) tworzy obiekt rozkładu Erlanga z parametrem położenia gamma = 0, parametrem skali beta = 1 i parametrem kształtu alpha.
ErlangDistribution(beta, alpha) tworzy obiekt rozkładu Erlanga z parametrem położenia gamma = 0, parametrem skali beta i parametrem kształtu alpha.
ErlangDistribution(gamma, beta, alpha) tworzy obiekt rozkładu Erlanga z parametrem położenia gamma, parametrem skali beta i parametrem kształtu alpha
Tabela 8.6. Parametry ErlangDistribution
Parametr | Typ parametru |
gamma | wartość rzeczywista |
beta | wartość rzeczywista dodatnia |
alpha | wartość całkowita dodatnia |
Tabela 8.7. Metody specyficzne dla rozkładu Erlanga
Metoda | Opis |
getAlphai() | zwraca wartość parametru alpha |
getBeta() | zwraca wartość parametru beta |
getGamma() | zwraca wartość parametru gamma |
setAlphai() | ustawia wartość parametru alpha |
setBeta() | ustawia wartość parametru beta |
setGamma() | ustawia wartość parametru gamma |
Rozkład wykładniczy jest przypadkiem rozkładu Erlanga (dla h = 1) z gęstością prawdopodobieństwa zadaną formułą
ExponentialDistribution() tworzy nowy obiekt rozkładu wykładniczego z parametrem skali lambda = 1 i parametrem położenia theta = 0.
ExponentialDistribution(lambda) tworzy nowy obiekt rozkładu wykładniczego z parametrem skali lambda i parametrem położenia theta = 0.
ExponentialDistribution(lambda , theta) tworzy nowy obiekt rozkładu wykładniczego z parametrem skali lambda i parametrem położenia theta.
rozkład Fishera jest to ciągły rozkład prawdopodobieństwa z funkcją gęstości zadaną poniższym wzorem
FDistribution(nu_1 , nu_2) tworzy nowy obiekt rozkładu Fishera z parametrami kształtu nu_1 i nu_2.
rozkład Gamma jest to ciągły rozkład prawdopodobieństwa z funkcją gęstości zadaną poniższym wzorem
GammaDistribution(alpha) tworzy nowy obiekt rozkładu Gamma z parametrem położenia gamma = 0, parametrem skali beta = 1 i parametrem kształtu alpha.
GammaDistribution(beta, alpha) tworzy nowy obiekt rozkładu Gamma z parametrem położenia gamma = 0, parametrem skali beta i parametrem kształtu alpha.
GammaDistribution(gamma, beta, alpha)tworzy nowy obiekt rozkładu Gamma z parametrem położenia gamma, parametrem skali beta i parametrem kształtu alpha.
rozkład chi-square odwrotny jest to ciągły rozkład prawdopodobieństwa z funkcją gęstości zadaną poniższym wzorem
InverseChiSquaredDistribution(double df) tworzy obiekt rozkładu chi-square odwrotnego z df stopniami swobody.
Rozkład gamma odwrotny jest ciągłym rozkładem prawdopodobieństwa z funkcją gęstości zadaną wzorem
InverseGammaDistribution(alpha) tworzy nowy obiekt rozkładu gamma odwrotnego z parametru położenia gamma = 0, parametrem skali beta = 1 i parametrem kształtu alpha.
InverseGammaDistribution(beta, alpha) tworzy nowy obiekt rozkładu gamma odwrotnego z parametru położenia gamma = 0, parametrem skali beta i parametrem kształtu alpha
InverseGammaDistribution(gamma, beta, alpha) tworzy nowy obiekt rozkładu gamma odwrotnego z parametru położenia gamma, parametrem skali beta i parametrem kształtu alpha.
Tabela 8.16. Parametry InverseGammaDistribution
Parametr | Typ parametru |
gamma | wartość rzeczywista |
beta | wartość rzeczywista dodatnia |
alpha | wartość rzeczywista dodatnia |
Tabela 8.17. Metody specyficzne dla rozkładu gamma odwrotnego
Metoda | Opis |
getAlpha() | zwraca wartość parametru Aplpha |
getBeta() | zwraca wartość parametru beta |
getGamma() | zwraca wartość parametru gamma |
setAlpha() | ustawia wartość parametru alpha |
setBeta() | ustawia wartość parametru beta |
setGamma() | ustawia wartość parametru gamma |
Wielowymiarowy rozkład normalny Jest ciągłym rozkładem prawdopodobieństwa z gęstością prawdopodobieństwa w n-wymiarowej przestrzeni wektorów zadaną wzorem
MultivariateNormalDistribution(n) tworzy nowy obiekt n-wymiarowego rozkładu normalnego z wektorem położenia średniej mu = 0 i macierzą kowariancji równą macierzy jednostkowej .
MultivariateNormalDistribution(Sigma) tworzy nowy obiekt n-wymiarowego rozkładu normalnego z wektorem położenia średniej mu = 0 i macierzą kowariancji równą Sigma .
MultivariateNormalDistribution(Mean, Sigma) tworzy nowy obiekt n-wymiarowego rozkładu normalnego z wektorem położenia średniej mu = Mean i macierzą kowariancji równą Sigma .
Tabela 8.18. Parametry MultivariateNormalDistribution
Paramett | Typ parametru |
mu | n - wymiarowy wektor liczb rzeczywistych |
Sigma | dodatnio określona, symetryczna n x n wymiarowa macierz liczb rzeczywistych |
n | dodatnia liczba całkowita |
Rozkład Normalny jest ciągłym rozkładem z funkcją gęstości zadaną wozrem
NormalDistribution() tworzy nowy obiekt rozkładu normalnego o średniej mu = 0 i wariancji sigma = 1.
NormalDistribution(sigma) tworzy nowy obiekt rozkładu normalnego o średniej mu = 0 i wariancji sigma.
NormalDistribution(mu, sigma) tworzy nowy obiekt rozkładu normalnego o średniej mu i wariancji sigma.
rozkład Pareto jest ciągłym rozkładem z funkcją gęstości zadaną wzorem
ParetoDistribution(alpha) tworzy nowy obiekt rozkładu Pareto z parametrem położenia-skali xmin =1 i parametrem skali alpha.
ParetoDistribution(xmin, alpha) tworzy nowy obiekt rozkładu Pareto z parametrem położenia-skali xmin i parametrem skali alpha
Rozkład t-studenta jest ciągłym rozkłądem prawdopodobieństwa z funkcją gęstości zadaną formułą
StudentsTDistribution(nu) tworzy nowy obiekt rozkładu Student's z parametrem położenia theta = 0, parametrem skali lambda = 1 i parametrem kształtu nu.
StudentsTDistribution(lambda, nu) tworzy nowy obiekt rozkładu Student's z parametrem położenia theta = 0, parametrem skali lambda i parametrem kształtu nu.
StudentsTDistribution(theta, lambda, nu) tworzy nowy obiekt rozkładu Student's z parametrem położenia theta, parametrem skali lambda i parametrem kształtu nu.
Tabela 8.23. parametry StudentsTDistribution
Parametr | Typ parametru |
theta | wartość rzeczywista |
lambda | wartość rzeczywista dodatnia |
nu | wartość całkowita dodatnia |
Tabela 8.24. Metody specyficzne dla rozkładu t-Student'a
Metoda | Opis |
getLambda() | zwraca wartość parametru lambda |
getNu() | zwraca wartość parametru nu |
getTheta() | zwraca wartość parametru theta |
setLambda() | ustawia wartość parametru lambda |
setNu() | ustawia wartość parametru nu |
setTheta() | ustawia wartość parametru theta |
Rozkład jednostajny jest ciągłym rozkładem z funkcją gęstości zadaną wzorem
UniformDistribution() tworzy nowy obiekt rozkładu jednostajnego z dolną granicą = 0 i górną granicą = 1.
UniformDistribution(min, max) tworzy nowy obiekt rozkładu jednostajnego z dolną granicą = min i górną granicą = max.
Rozkład Binomialny jest dyskretnym rozkładem prawdopodobieństwa z funkcją gęstości prawdopodobieństwa zadaną wzorem
BinomialDistribution(n, p) tworzy nowy obiekt rozkładu Binomialnego z parametrem ilości prób n i parametrem prawdopodobieństwa sukcesu p.
Rozkład geometryczny jest dyskretnym rozkładem prawdopodobieństwa z funkcją gęstości zadaną wzorem
GeometricDistribution(p) tworzy nowy obiekt rozkładu geometrycznego z parametrem prawdopodobieństwa p.
rozkład Poisson'a jest dyskretnym rozkładem prawdopodobieństwa z funkcją gęstości zadaną wzorem
PoissonDistribution(lambda) tworzy nowy obiekt rozkładu prawdopodobieństwa Poisson'a z parametrem częstotliwości lambda.
Przykład 8.3. Using distributions library (normal distribution)
#Example for using Distributions Library from biz.sc.math.distributions import * from biz.sc.math.distributions.continuous import * _mu = 0.3 _sigma = 0.1 _norm = NormalDistribution(_mu, _sigma) _norm.setSeed(1222) print 'Mean: ',_norm.mean() print 'Skewness: ',_norm.skewness() print 'Kurtosis: ',_norm.kurtosis() print 'Cumulative distribution function: ',_norm.cdf(0.2) print 'Propabilty density function:',_norm.pdf(0.2) print 'Cumulative distribution function (quantile):',_norm.cdf(_norm.quantile(0.2))
Output:
Mean: 0.3 Skewness: 0.0 Kurtosis: 0.0 Cumulative distribution function: 0.15865526139567465 Propabilty density function: 2.419707245191434 Cumulative distribution function (quantile): 0.19999999817822584
AdvancedMiner dostarcza tabel rozkładów które często pojawiają się testach statystycznych takich jak: Anderson Darling lub Kolmogorov-Smironov. Tabele różnych rozkładów to instancje klas uzyskanych przy pomocy klasy: DistributionsTablesFactory (patrz przykład poniżej).
Przykład 8.4. Using distributions library (normal distribution)
from biz.sc.math.distributions.tables import * _table = DistributionTablesFactory.getInstance() _Ftable = _table.getFCriticalValuesInstance() print 'Quantile:',_Ftable.quantile(.09, 2,3)
Output:
Quantile: 5.46238
Poniżej lista dostępnych tabel i ich konstruktory
Tabela 8.33. Dostępne tabele i ich konstruktory
Tabela | Konstruktor | |
getADA2CriticalValuesInstance() | punkty procentowe dla zmodyfikowanej statystyki Anderson-Darling A^2 | |
getADA2LogisticCriticalValuesInstance() | testy Anderson-Darling A^2 dla rozkładu logistycznego wartości krytycznych | |
getChiSquareCriticalValuesInstance() | Górne wartości krytyczne rozkładu chi-square dla jednostronnego testu chi-square | |
getFCriticalValuesInstance() | Górne wartości krytyczne dla rozkładu F dla jednostronnego testu F | |
getKS2SampleTableInstance() | tabela rozkładu wartości krytycznych Kolmogorov-Smirnov'a dla dwóch próbek | |
getKSPValuesInstance() | Skumulowana funkcja rozkładu dla statystyki Kolmogorov-Smirnov | |
getKSTableInstance() |
| |
getStudentsTCriticalValuesInstance() | Górne wartości krytyczne rozkładu T-Student'a z df stopniami swobody |
punkty procentowe dla zmodyfikowanej statystyki Anderson-Darling A^2
Statystyka Anderson-Darling jest opisana w rozdziale Procedury i testy statystyczne
Tabela 8.34. Metody dostarczane przez tabelę
Metoda | Opis |
quantile(double upperTailPP) | zwraca kwantyl dla F(x) całkowicie znanej, upperTailPP - punkt odcięcia górnego ogona rozkładu(0.85, 0.90, 0.95, 0.975, 0.99) |
quantile(double upperTailPP, int modCode) | zwraca kwantyl dla zmodyfikowanej F(x) w zależności od modCode - Kody modyfikacji (0, 3, 4), 0 dla rozmiaru próbki >= 5 i F(x) całkowicie znanej, 3 dla testu normalności ze średnią i wariancją znaną, 4 dla testu wykładniczego ze średnią nieznaną. upperTailPP - punkt odcięcia górnego ogona rozkładu(0.85, 0.90, 0.95, 0.975, 0.99) |
quantileApprox(double upperTailPP) | przybliża wartość kwantyla dla F(x) całkowicie znanej używając równania p = ln(1-upperTailPP), criticalValue = 0.164111752625 + p * (-0.719787337528 + p * 0.020207904162) |
test Anderson-Darling A^2 dla logistycznego rozkładu wartości krytycznych
Statystyka Anderson-Darling jest opisana w rozdziale Procedury i testy statystyczne
Tabela 8.35. Metody dostarczane przez tabelę
Metoda | Opis |
quantile(double upperTailPP) | zwraca kwantyl dla F(x) całkowicie znanej upperTailPP - punkt odcięcia górnego ogona rozkładu(0.85, 0.90, 0.95, 0.975, 0.99) |
quantile(double upperTailPP, int modCode) | zwraca kwantyl dla zmodyfikowanej F(x) , w zależności od modCode - kod modyfikacj (0, 1, 2, 3), 0 dla brak modyfikacji , 1 dla A^2_mod =A^2+0.15/n , 2 dla A^2_mod = (0.6nA^2-1.8)/(0.6/n-1.0) , 3 for A^2_mod = A^2(1.0 + 0.25/n), upperTailPP - punkt odcięcia górnego ogona rozkładu(0.85, 0.90, 0.95, 0.975, 0.99) |
Górna wartość krytyczna rozkładu chi-square dla testu jednostronnego
Statystyka chi-square jest opisana w rozdziale Procedury i testy statystyczne.
Górna wartość krytyczna rozkładu F dla jednostronnego testu F
Statystyka F jest opisana w rozdziale Procedury i testy statystyczne.
Wartości krytyczne rozkładu Kolmogorov-Smirnov'a dla dwóch próbek
Test Kolmogorov-Smirnov'a dla dwóch próbek opisany jest w rozdziale Procedury i testy statystyczne.
Skumulowany rozkład statystyki Kolmogorov-Smirnov'a
Test Kolmogorov-Smirnov'a jest opisany w rozdziale Procedury i testy statystyczne.
Wartości krytyczne statystyki Kolmogorov-Smirnov'a
Test Kolmogorov-Smirnov'a jest opisany w rozdziale Procedury i testy statystyczne.
Górna wartość krytyczna rozkładu T-Student'a z df stopniami swobody
Statystyka T-Student'a jest opisana w rozdziale Procedury i testy statystyczne