File:Generalized normal densities 2.svg

Summary

Description
English: Density plots for several members of the generalized normal family of probability distributions. This is the one of at least two "generalized normal distributions."
Date
Source Own work
Author Skbkekas
SVG development
InfoField
Source code
InfoField

Python code

## Code to generate density plots and CDF plots for several members
## of the generalized normal family of probability distributions.
##
## Note that this plots one of (at least) two distributions refered to
## as "generalized normal."
##
## Reuires numpy, matplotlib, and the special functions model of scipy.
import matplotlib.pyplot as plt
import numpy as np
import scipy.special as sp

def dens(X, k):
    if k!=0: Y = -np.log(1-k*X)/k
    else: Y = X
    Y = np.exp(-Y**2/2)/np.sqrt(2*np.pi)
    return Y/(1-k*X)

def cdf(X, k):
    if k!=0: Y = -np.log(1-k*X)/k
    else: Y = X
    return sp.ndtr(Y)

w = 1.5

plt.clf()

colors = ['aqua', 'lime', 'deeppink', 'darkorange', 'blue']
K = [-1, -0.5, 0, 0.5, 1]

m = 8

F = []
for c,k in zip(colors, K):
    if k==0: a,b=-m,m
    elif k>0: a,b = -m,min(m, 1/float(k))
    else: a,b = max(-m,1/float(k))+1e-8,m
    X = np.arange(a, b, 0.01)
    Y = dens(X, k)
    f = plt.plot(X, Y, '-', color=c, lw=w)
    F.append(f)
    plt.hold(True)

s = ["$\\kappa=%s$" % k for k in K]

b = plt.legend(tuple(F), tuple(s), 'upper left')
plt.ylabel("Density")
b.draw_frame(False)
plt.xlim(-4, 4)

plt.savefig("generalized_normal_densities_2.svg")
plt.savefig("generalized_normal_densities_2.png")

plt.clf()

F = []
for c,k in zip(colors, K):
    if k==0: a,b=-m,m
    elif k>0: a,b = -m,min(m, 1/float(k))
    else: a,b = max(-m,1/float(k))+1e-8,m
    X = np.arange(a, b, 0.01)
    Y = cdf(X, k)
    f = plt.plot(X, Y, '-', color=c, lw=w)
    F.append(f)
    plt.hold(True)

b = plt.legend(tuple(F), tuple(s), 'upper left')
plt.ylabel("Cumulative probability")
b.draw_frame(False)
plt.ylim(0,1)
plt.xlim(-4,4)

plt.savefig("generalized_normal_cdfs_2.svg")
plt.savefig("generalized_normal_cdfs_2.png")

Licensing

I, the copyright holder of this work, hereby publish it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
Category:License migration redundant#Generalized%20normal%20densities%202.svgCategory:GFDL#Generalized%20normal%20densities%202.svg
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
This licensing tag was added to this file as part of the GFDL licensing update.
Category:CC-BY-SA-3.0-migrated#Generalized%20normal%20densities%202.svg
Copyleft: This work of art is free; you can redistribute it and/or modify it according to terms of the Free Art License. You will find a specimen of this license on the Copyleft Attitude site as well as on other sites.
Category:FAL#Generalized%20normal%20densities%202.svg
You may select the license of your choice.
Category:Self-published work
Category:Probability distributions
Category:CC-BY-SA-3.0-migrated Category:FAL Category:GFDL Category:License migration redundant Category:Probability distributions Category:Self-published work Category:Valid SVG created with Matplotlib code