¿Alguien sabe cómo trazar una distribución normal oblicua con scipy? Supongo que se puede usar la clase stats.norm, pero no puedo entender cómo. Además, ¿cómo puedo estimar los parámetros que describen la distribución normal oblicua de un conjunto de datos unidimensional?distribución normal oblicua en scipy
16
A
Respuesta
36
Desde la Wikipedia description,
from scipy import linspace
from scipy import pi,sqrt,exp
from scipy.special import erf
from pylab import plot,show
def pdf(x):
return 1/sqrt(2*pi) * exp(-x**2/2)
def cdf(x):
return (1 + erf(x/sqrt(2)))/2
def skew(x,e=0,w=1,a=0):
t = (x-e)/w
return 2/w * pdf(t) * cdf(a*t)
# You can of course use the scipy.stats.norm versions
# return 2 * norm.pdf(t) * norm.cdf(a*t)
n = 2**10
e = 1.0 # location
w = 2.0 # scale
x = linspace(-10,10,n)
for a in range(-3,4):
p = skew(x,e,w,a)
plot(x,p)
show()
Si usted quiere encontrar la escala, la ubicación y los parámetros de forma de un uso conjunto de datos scipy.optimize.leastsq
, por ejemplo usando e=1.0
, w=2.0
y a=1.0
,
fzz = skew(x,e,w,a) + norm.rvs(0,0.04,size=n) # fuzzy data
def optm(l,x):
return skew(x,l[0],l[1],l[2]) - fzz
print leastsq(optm,[0.5,0.5,0.5],(x,))
debería darle algo como,
(array([ 1.05206154, 1.96929465, 0.94590444]), 1)
Cuestiones relacionadas
- 1. Java distribución normal
- 2. pitón 3,1 - Creación de distribución normal
- 3. Cómo calcular la distribución normal acumulativa en Python
- 4. python pylab plot distribución normal
- 5. Conversión de una distribución uniforme en una distribución normal
- 6. PHP: Número aleatorio de una distribución normal
- 7. ¿Cómo utilizar las clases de distribución normal?
- 8. Ajuste de una distribución gamma con (python) Scipy
- 9. Ajuste de una distribución pareto con (python) Scipy
- 10. Cómo dibujar una distribución normal estándar en I
- 11. Dibujar Gráfico de distribución normal de una muestra en Matlab
- 12. Realización de una distribución normal estándar en R
- 13. Cómo generar números con una distribución normal en SQL Server
- 14. Función de distribución acumulativa normal en C/C++
- 15. Función de valor z de distribución normal estándar en C#
- 16. algoritmo de matriz oblicua
- 17. opengl proyección oblicua
- 18. scipy, lognormal distribution - parameters
- 19. font-style: cursiva vs oblicua en CSS
- 20. oblicua detección y reducción en opencv
- 21. ¿Pueden algunos explicar este extraño comportamiento de la distribución hipergeométrica en scipy?
- 22. Creando nuevas distribuciones en scipy
- 23. Prueba de Kolmogorov-Smirnov de dos muestras en Python Scipy
- 24. Número aleatorio dentro de un rango basado en una distribución normal
- 25. Convertir puntaje Z (valor Z, puntaje estándar) al valor p para distribución normal en Python
- 26. integrales 2D en SciPy
- 27. Scipy Normaltest ¿cómo se usa?
- 28. Scipy Derivative
- 29. ¿Qué java-library calcula la función de distribución normal estándar acumulativa?
- 30. ¿Algo como SciPy en Ruby?
¡Gracias @lafrasu! – Ben2209