2020-수학-가형-홀수-23¶
문제¶
풀이¶
%%capture
!pip install --upgrade watermark
from sympy import *
from sympy import stats
p = symbols('p')
X = stats.Binomial('X', 80, p)
E_X=stats.E(X)
E_X = simplify(E_X)
solve(E_X-20,p)
[1/4]
X = X.subs(p,1/4)
stats.E(X)
20.0000000000000
binDist = stats.density(X).dict
binDist
{0: 1.01134905113267e-10,
1: 2.69693080302047e-9,
2: 3.55095889064361e-8,
3: 3.07749770522447e-7,
4: 1.97472769418570e-6,
5: 1.00052869838742e-5,
6: 4.16886957661425e-5,
7: 0.000146903023175931,
8: 0.000446830028826789,
9: 0.00119154674353811,
10: 0.00281999395970685,
11: 0.00598180536907513,
12: 0.0114651269573940,
13: 0.0199904777718665,
14: 0.0318895716836918,
15: 0.0467713718027479,
16: 0.0633362326495545,
17: 0.0794807625406174,
18: 0.0927275562973869,
19: 0.100861552463824,
20: 0.102542578338221,
21: 0.0976595984173538,
22: 0.0873017622215738,
23: 0.0733840899833519,
24: 0.0580957379034869,
25: 0.0433781509679369,
26: 0.0305871577338017,
27: 0.0203914384892011,
28: 0.0128660266658055,
29: 0.00769003892668832,
30: 0.00435768872512338,
31: 0.00234284340060397,
32: 0.00119582631905828,
33: 0.000579794578937346,
34: 0.000267160247157404,
35: 0.000117041632088006,
36: 4.87673467033357e-5,
37: 1.93312004950160e-5,
38: 7.29159316917269e-6,
39: 2.61749498380558e-6,
40: 8.94310786133573e-7,
41: 2.90832775978398e-7,
42: 9.00196687552184e-8,
43: 2.65174218038628e-8,
44: 7.43291368744639e-9,
45: 1.98211031665237e-9,
46: 5.02709138281398e-10,
47: 1.21220643273529e-10,
48: 2.77797307501836e-11,
49: 6.04728832657059e-12,
50: 1.24977292082459e-12,
51: 2.45053513887174e-13,
52: 4.55548198892824e-14,
53: 8.02223243333275e-15,
54: 1.33703873888879e-15,
55: 2.10684892188537e-16,
56: 3.13519184804370e-17,
57: 4.40026926041221e-18,
58: 5.81644787295867e-19,
59: 7.22948323192603e-20,
60: 8.43439710391370e-21,
61: 9.21792033214613e-22,
62: 9.41615517799873e-23,
63: 8.96776683618927e-24,
64: 7.94021021954258e-25,
65: 6.51504428270161e-26,
66: 4.93563960810728e-27,
67: 3.43775893101999e-28,
68: 2.19072873055196e-29,
69: 1.26998766988519e-30,
70: 6.65231636606529e-32,
71: 3.12315322350483e-33,
72: 1.30131384312701e-34,
73: 4.75365787443658e-36,
74: 1.49890113157910e-37,
75: 3.99706968421094e-39,
76: 8.76550369344504e-41,
77: 1.51783613739308e-42,
78: 1.94594376588856e-44,
79: 1.64214663788065e-46,
80: 6.84227765783602e-49}
def variance(X):
m = stats.E(X)
binDist = stats.density(X).dict
return sum([binDist[x]*(x-m)**2 for x in range(len(binDist))])
variance(X)
15.0000000000000
히스토그램¶
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.histplot(data = np.random.binomial(n=80, p=0.25, size=10000), kde=True)
plt.show()

##실행환경
%load_ext watermark
%watermark -m -v --iversions
sympy.release 1.1.1
numpy 1.19.5
seaborn 0.11.1
CPython 3.6.9
IPython 5.5.0
compiler : GCC 8.4.0
system : Linux
release : 4.19.112+
machine : x86_64
processor : x86_64
CPU cores : 2
interpreter: 64bit