scipy.stats.invwishart#
- scipy.stats.invwishart = <scipy.stats._multivariate.invwishart_gen object>[Quelle]#
Eine inverse Wishart-Zufallsvariable.
Das Schlüsselwort df gibt die Freiheitsgrade an. Das Schlüsselwort scale gibt die Skalenmatrix an, die symmetrisch und positiv definit sein muss. In diesem Kontext wird die Skalenmatrix oft im Sinne einer multivariaten Normalverteilungs-Kovarianzmatrix interpretiert.
- Parameter:
- dfint
Freiheitsgrade, muss größer oder gleich der Dimension der Skalenmatrix sein
- scalearray_like
Symmetrische, positiv definite Skalenmatrix der Verteilung
- seed{None, int, np.random.RandomState, np.random.Generator}, optional
Wird zum Ziehen von Zufallsvarianten verwendet. Wenn seed None ist, wird die RandomState Singleton verwendet. Wenn seed eine Ganzzahl ist, wird eine neue
RandomState-Instanz verwendet, die mit seed initialisiert wird. Wenn seed bereits eineRandomState- oderGenerator-Instanz ist, wird dieses Objekt verwendet. Standard ist None.
Methoden
pdf(x, df, scale)
Wahrscheinlichkeitsdichtefunktion.
logpdf(x, df, scale)
Logarithmus der Wahrscheinlichkeitsdichtefunktion.
rvs(df, scale, size=1, random_state=None)
Zufällige Stichproben aus einer inversen Wishart-Verteilung ziehen.
entropy(df, scale)
Differentielle Entropie der Verteilung.
- Löst aus:
- scipy.linalg.LinAlgError
Wenn die Skalenmatrix scale nicht positiv definit ist.
Siehe auch
Hinweise
Die Skalenmatrix scale muss eine symmetrische, positiv definite Matrix sein. Singuläre Matrizen, einschließlich des symmetrischen, positiv semidefiniten Falls, werden nicht unterstützt. Symmetrie wird nicht geprüft; nur der untere Dreiecksteil wird verwendet.
Die inverse Wishart-Verteilung wird oft bezeichnet als
\[W_p^{-1}(\nu, \Psi)\]wobei \(\nu\) die Freiheitsgrade und \(\Psi\) die \(p \times p\) Skalenmatrix ist.
Die Wahrscheinlichkeitsdichtefunktion für
invwisharthat Unterstützung über positiv definite Matrizen \(S\); wenn \(S \sim W^{-1}_p(\nu, \Sigma)\), dann ist ihre PDF gegeben durch\[f(S) = \frac{|\Sigma|^\frac{\nu}{2}}{2^{ \frac{\nu p}{2} } |S|^{\frac{\nu + p + 1}{2}} \Gamma_p \left(\frac{\nu}{2} \right)} \exp\left( -tr(\Sigma S^{-1}) / 2 \right)\]Wenn \(S \sim W_p^{-1}(\nu, \Psi)\) (inverse Wishart), dann ist \(S^{-1} \sim W_p(\nu, \Psi^{-1})\) (Wishart).
Wenn die Skalenmatrix eindimensional und gleich eins ist, dann kollabiert die inverse Wishart-Verteilung \(W_1(\nu, 1)\) zur inversen Gamma-Verteilung mit den Parametern shape = \(\frac{\nu}{2}\) und scale = \(\frac{1}{2}\).
Anstatt eine zufällig generierte Wishart-Matrix zu invertieren, wie in [2] beschrieben, wird hier der Algorithmus in [4] verwendet, um direkt eine zufällige inverse Wishart-Matrix ohne Inversion zu generieren.
Hinzugefügt in Version 0.16.0.
Referenzen
[1]M.L. Eaton, “Multivariate Statistics: A Vector Space Approach”, Wiley, 1983.
[2]M.C. Jones, “Generating Inverse Wishart Matrices”, Communications in Statistics - Simulation and Computation, vol. 14.2, pp.511-514, 1985.
[3]Gupta, M. und Srivastava, S. “Parametric Bayesian Estimation of Differential Entropy and Relative Entropy”. Entropy 12, 818 - 843. 2010.
[4]S.D. Axen, “Efficiently generating inverse-Wishart matrices and their Cholesky factors”, arXiv:2310.15884v1. 2023.
Beispiele
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.stats import invwishart, invgamma >>> x = np.linspace(0.01, 1, 100) >>> iw = invwishart.pdf(x, df=6, scale=1) >>> iw[:3] array([ 1.20546865e-15, 5.42497807e-06, 4.45813929e-03]) >>> ig = invgamma.pdf(x, 6/2., scale=1./2) >>> ig[:3] array([ 1.20546865e-15, 5.42497807e-06, 4.45813929e-03]) >>> plt.plot(x, iw) >>> plt.show()
Die Eingangsquantile können jede beliebige Form haben, solange die letzte Achse die Komponenten beschriftet.
Alternativ kann das Objekt (als Funktion) aufgerufen werden, um die Freiheitsgrade und die Skalenparameter festzulegen, wodurch eine "eingefrorene" inverse Wishart-Zufallsvariable zurückgegeben wird
>>> rv = invwishart(df=1, scale=1) >>> # Frozen object with the same methods but holding the given >>> # degrees of freedom and scale fixed.