import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
data = np.array([1210, 703, 1162, 817, 868, 221, 811, 188, 585, 348, 130, 97, 229, 296, 194, 750, 97, 498])
n = len(data)
ka = np.sum(data)/n
ka
511.3333333333333
data = np.array([
124.0, 122.6, 97.8, 128.5, 126.5,
107.4, 113.2, 129.9, 118.2, 117.3,
117.6, 116.7, 113.6, 125.9, 117.1,
126.0, 112.4, 118.7, 126.3, 122.7])
n = len(data)
ka = np.sum(data)/n
ka
119.12
s2 = np.sum((data-ka)**2)/(n-1)
s2
61.65326315789475
data21 = np.array([
97.0, 103.3, 96.2, 93.8, 103.9,
96.4, 101.5, 104.1, 107.7, 100.3,
93.4, 98.5, 102.1, 98.6, 104.8,
103.7, 97.3, 99.2])
n = len(data21)
ka = np.sum(data21)/n
n, ka
(18, 100.10000000000001)
sigma = np.sqrt(25)
L1_975 = ka - 1.9600 * sigma/np.sqrt(n)
L2_975 = ka + 1.9600 * sigma/np.sqrt(n)
L1_975, L2_975
(97.79011784812396, 102.40988215187606)
L1_995 = ka - 2.5758 * sigma/np.sqrt(n)
L2_995 = ka + 2.5758 * sigma/np.sqrt(n)
L1_995, L2_995
(97.06439058836617, 103.13560941163385)
L1_9995 = ka - 3.2905 * sigma/np.sqrt(n)
L2_9995 = ka + 3.2905 * sigma/np.sqrt(n)
L1_9995, L2_9995
(96.22210856084278, 103.97789143915723)
data24 = np.array([
44.6, 47.2, 61.9, 52.9, 36.9,
55.2, 50.6, 57.7, 44.5, 63.5,
48.9, 61.2, 50.5, 45.3, 59.9,
43.9, 48.0, 51.5, 50.3, 54.0])
n = len(data24)
ka = np.sum(data24)/n
n, ka
(20, 51.425)
s2 = np.sum((data24-ka)**2)/(n-1)
s2
48.61881578947369
s = np.sqrt(s2)
s
6.972719397012452
t975 = 2.093
t995 = 2.861
t9995 = 3.883
L1_975 = ka - t975 * s/np.sqrt(n)
L2_975 = ka + t975 * s/np.sqrt(n)
L1_975, L2_975
(48.161704374644074, 54.68829562535592)
L1_995 = ka - t995 * s/np.sqrt(n)
L2_995 = ka + t995 * s/np.sqrt(n)
L1_995, L2_995
(46.96427912845518, 55.88572087154481)
L1_9995 = ka - t9995 * s/np.sqrt(n)
L2_9995 = ka + t9995 * s/np.sqrt(n)
L1_9995, L2_9995
(45.37083042844861, 57.47916957155138)
data26 = np.array([
17.6, 21.4, 21.5, 19.3, 20.7,
18.1, 23.1, 20.2, 21.5, 23.8,
21.0, 16.9, 19.3, 20.0, 19.1,
20.0, 16.5, 18.8, 19.1, 17.0,
17.6, 20.4, 17.0, 18.5, 24.4,
20.4, 18.3])
n = len(data26)
ka = np.sum(data26)/n
n, ka
(27, 19.68518518518518)
s2 = np.sum((data26-ka)**2)/(n-1)
s2
4.354387464387464
s = np.sqrt(s2)
s
2.0867169104570613
L1_995 = ka - 2.779 * s/np.sqrt(n)
L2_995 = ka + 2.779 * s/np.sqrt(n)
L1_995, L2_995
(18.56916975253174, 20.80120061783862)
L2_995 - L1_995
2.232030865306882
n = 30
t = 2.779
L1 = ka - t * s/np.sqrt(n)
L2 = ka + t * s/np.sqrt(n)
while L2 - L1 >= 0.4:
n= n+1
t = stats.t.ppf(0.995, df=n-1)
L1 = ka - t * s/np.sqrt(n)
L2 = ka + t * s/np.sqrt(n)
n, L2 - L1
(727, 0.39974821503167135)