Annotation of OpenXM_contrib/gnuplot/demo/prob2.dem, Revision 1.1
1.1 ! maekawa 1: #
! 2: # $Id: prob2.dem,v 1.3 1994/03/30 01:28:45 alex Exp $
! 3: #
! 4: # Demo Statistical Approximations version 1.1
! 5: #
! 6: # Permission granted to distribute freely for non-commercial purposes only
! 7: #
! 8: # Copyright (c) 1991, Jos van der Woude, jvdwoude@hut.nl
! 9:
! 10: pause 0 ""
! 11: pause 0 ""
! 12: pause 0 ""
! 13: pause 0 ""
! 14: pause 0 ""
! 15: pause 0 ""
! 16: pause 0 " Statistical Approximations, version 1.1"
! 17: pause 0 ""
! 18: pause 0 " Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl"
! 19: pause 0 ""
! 20: pause 0 ""
! 21: pause 0 " Permission granted to distribute freely for non-commercial purposes only"
! 22: pause 0 ""
! 23: pause 0 ""
! 24: pause 0 ""
! 25: pause 0 ""
! 26: pause 0 ""
! 27: pause 0 ""
! 28: pause 0 ""
! 29: pause 0 ""
! 30: pause 0 ""
! 31: pause 0 " NOTE: contains 10 plots and consequently takes some time to run"
! 32: pause 0 " Press Ctrl-C to exit right now"
! 33: pause 0 ""
! 34: pause -1 " Press Return to start demo ..."
! 35:
! 36: load "stat.inc"
! 37:
! 38: # Binomial PDF using normal approximation
! 39: n = 25; p = 0.15
! 40: mu = n * p
! 41: sigma = sqrt(n * p * (1.0 - p))
! 42: xmin = floor(mu - 4.0 * sigma)
! 43: xmin = xmin < 0 ? 0 : xmin
! 44: xmax = ceil(mu + 4.0 * sigma)
! 45: ymax = 1.1 * binom(mu) #mode of binomial PDF used
! 46: xinc = ceil((xmax - xmin) / 10)
! 47: xinc = xinc > 1 ? xinc : 1
! 48: set key
! 49: set nozeroaxis
! 50: set xrange [xmin - 1 : xmax + 1]
! 51: set yrange [0 : ymax]
! 52: set xlabel "k, x ->"
! 53: set ylabel "probability density ->"
! 54: set xtics xmin + 0.499, ceil(sigma), xmax
! 55: set ytics 0, ymax / 10.0, ymax
! 56: set format x "%2.0f"
! 57: set format y "%3.2f"
! 58: set sample 200
! 59: set title "binomial PDF using normal approximation"
! 60: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
! 61: set arrow from mu + 0.5, normal(mu + sigma) \
! 62: to mu + 0.5 + sigma, normal(mu + sigma) nohead
! 63: set label "mu" at mu + 1, ymax / 10
! 64: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
! 65: plot binom(x), normal(x - 0.5)
! 66: pause -1 "Hit return to continue"
! 67: set noarrow
! 68: set nolabel
! 69:
! 70: # Binomial PDF using poisson approximation
! 71: n = 50; p = 0.1
! 72: mu = n * p
! 73: sigma = sqrt(mu)
! 74: xmin = floor(mu - 4.0 * sigma)
! 75: xmin = xmin < 0 ? 0 : xmin
! 76: xmax = ceil(mu + 4.0 * sigma)
! 77: ymax = 1.1 * binom(mu) #mode of binomial PDF used
! 78: xinc = ceil((xmax - xmin) / 10)
! 79: xinc = xinc > 1 ? xinc : 1
! 80: set key
! 81: set nozeroaxis
! 82: set xrange [xmin - 1 : xmax + 1]
! 83: set yrange [0 : ymax]
! 84: set xlabel "k ->"
! 85: set ylabel "probability density ->"
! 86: set xtics xmin + 0.499, ceil(sigma), xmax
! 87: set ytics 0, ymax / 10.0, ymax
! 88: set format x "%2.0f"
! 89: set format y "%3.2f"
! 90: set sample 200
! 91: set title "binomial PDF using poisson approximation"
! 92: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
! 93: set arrow from mu + 0.5, normal(mu + sigma) \
! 94: to mu + 0.5 + sigma, normal(mu + sigma) nohead
! 95: set label "mu" at mu + 1, ymax / 10
! 96: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
! 97: plot binom(x), poisson(x)
! 98: pause -1 "Hit return to continue"
! 99: set noarrow
! 100: set nolabel
! 101:
! 102: # Geometric PDF using gamma approximation
! 103: p = 0.3
! 104: mu = (1.0 - p) / p
! 105: sigma = sqrt(mu / p)
! 106: lambda = p
! 107: rho = 1.0 - p
! 108: xmin = floor(mu - 4.0 * sigma)
! 109: xmin = xmin < 0 ? 0 : xmin
! 110: xmax = ceil(mu + 4.0 * sigma)
! 111: xinc = ceil((xmax - xmin) / 10)
! 112: xinc = xinc > 1 ? xinc : 1
! 113: ymax = 1.1 * p
! 114: set key
! 115: set nozeroaxis
! 116: set xrange [xmin - 1 : xmax + 1]
! 117: set yrange [0 : ymax]
! 118: set xlabel "k, x ->"
! 119: set ylabel "probability density ->"
! 120: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
! 121: set ytics 0, ymax / 10.0, ymax
! 122: set format x "%2.0f"
! 123: set format y "%3.2f"
! 124: set sample 200
! 125: set title "geometric PDF using gamma approximation"
! 126: set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
! 127: set arrow from mu + 0.5, g(mu + sigma) \
! 128: to mu + 0.5 + sigma, g(mu + sigma) nohead
! 129: set label "mu" at mu + 1, ymax / 10
! 130: set label "sigma" at mu + 1 + sigma, g(mu + sigma)
! 131: plot geometric(x), g(x - 0.5)
! 132: pause -1 "Hit return to continue"
! 133: set noarrow
! 134: set nolabel
! 135:
! 136: # Geometric PDF using normal approximation
! 137: p = 0.3
! 138: mu = (1.0 - p) / p
! 139: sigma = sqrt(mu / p)
! 140: xmin = floor(mu - 4.0 * sigma)
! 141: xmin = xmin < 0 ? 0 : xmin
! 142: xmax = ceil(mu + 4.0 * sigma)
! 143: xinc = ceil((xmax - xmin) / 10)
! 144: xinc = xinc > 1 ? xinc : 1
! 145: ymax = 1.1 * p
! 146: set key
! 147: set nozeroaxis
! 148: set xrange [xmin - 1 : xmax + 1]
! 149: set yrange [0 : ymax]
! 150: set xlabel "k, x ->"
! 151: set ylabel "probability density ->"
! 152: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
! 153: set ytics 0, ymax / 10.0, ymax
! 154: set format x "%2.0f"
! 155: set format y "%3.2f"
! 156: set sample 200
! 157: set title "geometric PDF using normal approximation"
! 158: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
! 159: set arrow from mu + 0.5, normal(mu + sigma) \
! 160: to mu + 0.5 + sigma, normal(mu + sigma) nohead
! 161: set label "mu" at mu + 1, ymax / 10
! 162: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
! 163: plot geometric(x), normal(x - 0.5)
! 164: pause -1 "Hit return to continue"
! 165: set noarrow
! 166: set nolabel
! 167:
! 168: # Hypergeometric PDF using binomial approximation
! 169: nn = 75; mm = 25; n = 10
! 170: p = real(mm) / nn
! 171: mu = n * p
! 172: sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
! 173: xmin = floor(mu - 4.0 * sigma)
! 174: xmin = xmin < 0 ? 0 : xmin
! 175: xmax = ceil(mu + 4.0 * sigma)
! 176: xinc = ceil((xmax - xmin) / 10)
! 177: xinc = xinc > 1 ? xinc : 1
! 178: ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
! 179: set key
! 180: set nozeroaxis
! 181: set xrange [xmin - 1 : xmax + 1]
! 182: set yrange [0 : ymax]
! 183: set xlabel "k ->"
! 184: set ylabel "probability density ->"
! 185: set xtics xmin, xinc, xmax
! 186: set ytics 0, ymax / 10.0, ymax
! 187: set format x "%2.0f"
! 188: set format y "%3.2f"
! 189: set sample 200
! 190: set title "hypergeometric PDF using binomial approximation"
! 191: set arrow from mu + 0.5, 0 to mu + 0.5, binom(mu) nohead
! 192: set arrow from mu + 0.5, binom(mu + sigma) \
! 193: to mu + 0.5 + sigma, binom(mu + sigma) nohead
! 194: set label "mu" at mu + 1, ymax / 10
! 195: set label "sigma" at mu + 1 + sigma, binom(mu + sigma)
! 196: plot hypgeo(x), binom(x)
! 197: pause -1 "Hit return to continue"
! 198: set noarrow
! 199: set nolabel
! 200:
! 201: # Hypergeometric PDF using normal approximation
! 202: nn = 75; mm = 25; n = 10
! 203: p = real(mm) / nn
! 204: mu = n * p
! 205: sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
! 206: xmin = floor(mu - 4.0 * sigma)
! 207: xmin = xmin < 0 ? 0 : xmin
! 208: xmax = ceil(mu + 4.0 * sigma)
! 209: xinc = ceil((xmax - xmin) / 10)
! 210: xinc = xinc > 1 ? xinc : 1
! 211: ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
! 212: set key
! 213: set nozeroaxis
! 214: set xrange [xmin - 1 : xmax + 1]
! 215: set yrange [0 : ymax]
! 216: set xlabel "k, x ->"
! 217: set ylabel "probability density ->"
! 218: set xtics xmin, xinc, xmax
! 219: set ytics 0, ymax / 10.0, ymax
! 220: set format x "%2.0f"
! 221: set format y "%3.2f"
! 222: set sample 200
! 223: set title "hypergeometric PDF using normal approximation"
! 224: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
! 225: set arrow from mu + 0.5, normal(mu + sigma) \
! 226: to mu + 0.5 + sigma, normal(mu + sigma) nohead
! 227: set label "mu" at mu + 1, ymax / 10
! 228: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
! 229: plot hypgeo(x), normal(x - 0.5)
! 230: pause -1 "Hit return to continue"
! 231: set noarrow
! 232: set nolabel
! 233:
! 234: # Negative binomial PDF using gamma approximation
! 235: r = 8; p = 0.6
! 236: mu = r * (1.0 - p) / p
! 237: sigma = sqrt(mu / p)
! 238: lambda = p
! 239: rho = r * (1.0 - p)
! 240: xmin = int(mu - 4.0 * sigma)
! 241: xmin = xmin < 0 ? 0 : xmin
! 242: xmax = int(mu + 4.0 * sigma)
! 243: xinc = ceil((xmax - xmin) / 10)
! 244: xinc = xinc > 1 ? xinc : 1
! 245: ymax = 1.1 * g((rho - 1) / lambda) #mode of gamma PDF used
! 246: set key
! 247: set nozeroaxis
! 248: set xrange [xmin - 1 : xmax + 1]
! 249: set yrange [0 : ymax]
! 250: set xlabel "k, x ->"
! 251: set ylabel "probability density ->"
! 252: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
! 253: set ytics 0, ymax / 10.0, ymax
! 254: set format x "%2.0f"
! 255: set format y "%3.2f"
! 256: set sample 200
! 257: set title "negative binomial PDF using gamma approximation"
! 258: set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
! 259: set arrow from mu + 0.5, g(mu + sigma) \
! 260: to mu + 0.5 + sigma, g(mu + sigma) nohead
! 261: set label "mu" at mu + 1, ymax / 10
! 262: set label "sigma" at mu + 1 + sigma, g(mu + sigma)
! 263: plot negbin(x), g(x - 0.5)
! 264: pause -1 "Hit return to continue"
! 265: set noarrow
! 266: set nolabel
! 267:
! 268: # Negative binomial PDF using normal approximation
! 269: r = 8; p = 0.4
! 270: mu = r * (1.0 - p) / p
! 271: sigma = sqrt(mu / p)
! 272: xmin = floor(mu - 4.0 * sigma)
! 273: xmin = xmin < 0 ? 0 : xmin
! 274: xmax = ceil(mu + 4.0 * sigma)
! 275: xinc = ceil((xmax - xmin) / 10)
! 276: xinc = xinc > 1 ? xinc : 1
! 277: ymax = 1.1 * negbin(mu - 1/p) #mode of gamma PDF used
! 278: set key
! 279: set nozeroaxis
! 280: set xrange [xmin - 1 : xmax + 1]
! 281: set yrange [0 : ymax]
! 282: set xlabel "k, x ->"
! 283: set ylabel "probability density ->"
! 284: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
! 285: set ytics 0, ymax / 10.0, ymax
! 286: set format x "%2.0f"
! 287: set format y "%3.2f"
! 288: set sample 200
! 289: set title "negative binomial PDF using normal approximation"
! 290: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
! 291: set arrow from mu + 0.5, normal(mu + sigma) \
! 292: to mu + 0.5 + sigma, normal(mu + sigma) nohead
! 293: set label "mu" at mu + 1, ymax / 10
! 294: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
! 295: plot negbin(x), normal(x - 0.5)
! 296: pause -1 "Hit return to continue"
! 297: set noarrow
! 298: set nolabel
! 299:
! 300: # Normal PDF using logistic approximation
! 301: mu = 1.0; sigma = 1.5
! 302: a = mu
! 303: lambda = pi / (sqrt(3.0) * sigma)
! 304: xmin = mu - 4.0 * sigma
! 305: xmax = mu + 4.0 * sigma
! 306: ymax = 1.1 * logistic(mu) #mode of logistic PDF used
! 307: set key
! 308: set nozeroaxis
! 309: set xrange [xmin: xmax]
! 310: set yrange [0 : ymax]
! 311: set xlabel "x ->"
! 312: set ylabel "probability density ->"
! 313: set xtics xmin, (xmax - xmin)/ 10.0, xmax
! 314: set ytics 0, ymax / 10.0, ymax
! 315: set format x "%.1f"
! 316: set format y "%.2f"
! 317: set sample 200
! 318: set title "normal PDF using logistic approximation"
! 319: set arrow from mu,0 to mu, normal(mu) nohead
! 320: set arrow from mu, normal(mu + sigma) \
! 321: to mu + sigma, normal(mu + sigma) nohead
! 322: set label "mu" at mu + 1, ymax / 10
! 323: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
! 324: plot logistic(x), normal(x)
! 325: pause -1 "Hit return to continue"
! 326: set noarrow
! 327: set nolabel
! 328:
! 329: # Poisson PDF using normal approximation
! 330: mu = 5.0
! 331: sigma = sqrt(mu)
! 332: xmin = floor(mu - 4.0 * sigma)
! 333: xmin = xmin < 0 ? 0 : xmin
! 334: xmax = ceil(mu + 4.0 * sigma)
! 335: xinc = ceil((xmax - xmin) / 10)
! 336: xinc = xinc > 1 ? xinc : 1
! 337: ymax = 1.1 * poisson(mu) #mode of poisson PDF used
! 338: set key
! 339: set nozeroaxis
! 340: set xrange [xmin - 1 : xmax + 1]
! 341: set yrange [0 : ymax]
! 342: set xlabel "k, x ->"
! 343: set ylabel "probability density ->"
! 344: set xtics xmin, xinc, xmax
! 345: set ytics 0, ymax / 10.0, ymax
! 346: set format x "%2.0f"
! 347: set format y "%3.2f"
! 348: set sample 200
! 349: set title "poisson PDF using normal approximation"
! 350: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
! 351: set arrow from mu + 0.5, normal(mu + sigma) \
! 352: to mu + 0.5 + sigma, normal(mu + sigma) nohead
! 353: set label "mu" at mu + 1, ymax / 10
! 354: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
! 355: plot poisson(x), normal(x - 0.5)
! 356: set noarrow
! 357: set nolabel
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>