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