概率论:

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

概率论与数理统计以及Python 实现

 

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

概率论与数理统计以及Python 实现

 

  1 import numpy as np
  2 import pandas as pd
  3 import matplotlib.pyplot as plt
  4 
  5 #随机数  当随机种子设定时,随机数不变
  6 if 0:
  7     r = np.random.RandomState()
  8     # r = np.random.RandomState(10)
  9     res = r.rand(10)
 10     print(res)
 11     pass
 12 
 13 import numpy.random as r
 14 #均匀分布
 15 if 0:
 16     x = r.rand(1000)
 17     y = r.rand(1000)
 18     plt.scatter(x,y)
 19     plt.show()
 20     pass
 21 
 22 #正态分布  正态分布 - 标准正态分布,均值为0,方差为1
 23 if 0:
 24     x = r.randn(1000)
 25     y = r.randn(1000)
 26     plt.scatter(x,y)
 27 
 28     plt.show()
 29     pass
 30 
 31 # 正态分布
 32 # normal(loc=0.0, scale=1.0, size=None)
 33 # loc:均值,scale:标准差,size:抽取样本的size
 34 if 0:
 35     x = r.normal(10,5,1000)
 36     y = r.normal(10,5,1000)
 37     plt.scatter(x,y)
 38 
 39     plt.show()
 40     pass
 41 
 42 
 43 #指数分布
 44 if 0:
 45 
 46     lambd = 0.5
 47     x = np.arange(0,15,0.1)
 48     y = lambd* np.exp(-lambd*x)
 49     plt.plot(x,y)
 50 
 51 
 52     plt.show()
 53 
 54 
 55 
 56 #二项分布
 57 # .binomial(n, p, size=None)表示对一个二项分布进行采样,s为成功次数
 58 # P(N)=CsnPs(1−P)n−s
 59 # size:采样的次数  n:p即式中的n   p:函数的返回值表示n中发生/成功的次数s.
 60 
 61 # 同时抛弃9枚硬币,如果正面朝上少于5枚,则输掉8元,否则就赢8元。
 62 # 如果手中有1000元作为赌资,请问赌博10000次后可能会是什么情况呢?
 63 if 0:
 64     binomial = r.binomial(9, 0.5, 10000)  # 生成二项分布随机数
 65     # print(binomial)
 66     money = np.zeros(10001)  # 生成10001次赌资的列表
 67     money[0] = 1000 #一开始有1000
 68 
 69     for i in range(10000):
 70         if binomial[i] <5:
 71             money[i+1] = money[i] -8
 72         else:
 73             money[i+1] = money[i] +8
 74     plt.plot(np.arange(10001),money)
 75     plt.axvline(0,color='cyan',linestyle='--')
 76     plt.axvline(10001,color='gray',linestyle='--')
 77     plt.axhline(1000,color='cyan',linestyle='--')
 78     plt.show()
 79     pass
 80 
 81 
 82 # 二项分布
 83 # 将一枚硬币抛掷三次:恰好出现一次正面与至少有一次出现正面的概率
 84 if 0:
 85     # res = r.binomial(3,0.5,100)
 86     # plt.scatter(np.arange(100),res)
 87     # print(res)
 88     # plt.show()
 89 
 90     n0 = sum(r.binomial(3,0.5,10000) == 0)  #n0 是10000 次中有多少次 一个正面朝上也没有
 91     n1 = sum(r.binomial(3,0.5,10000) == 1)  #n1 是10000 次中有多少次 只有一个正面朝上
 92     n2 = sum(r.binomial(3,0.5,10000) == 2)  #n2 是10000 次中有多少次 只有两个正面朝上
 93     n3 = sum(r.binomial(3,0.5,10000) == 3)  #n3 是10000 次中有多少次 三个都正面朝上
 94     print(n0,n1,n2,n3)
 95 
 96     print("3个中一个正面也没有的概率是",n0/10000)  #1/8
 97     print("3个中只有一个正面的概率是",n1/10000)  #3/8
 98     print("3个中只有两个正面的概率是",n2/10000)  #3/8
 99     print("3个中都是正面的概率是",n3/10000) #1/8
100 
101 
102     pass
103 
104 
105 # 随机选择
106 if 0:
107     res = r.choice(['a','b','c','d','e','f'],size = 40)
108     print(res) #此时是随机选择40 个 ,放回的抽样
109 
110     res2 = r.choice(['a','b','c','d','e','f'])
111     print(res2)  #默认值是抽取一个
112     pass
113 
114 #随机顺序打乱
115 if 0:
116     a = np.arange(20)
117     res = r.shuffle(a)
118     # print(res)  #None
119     print(a)
120     pass
121 
122 
123 #随机变量的数字特征
124 
125 #方差计算
126 if 1:
127     a = r.randn(100) #创建个一个正态分布  标准的
128     # print(a)
129 
130     n = len(a) #元素个数
131     #均值
132     m = a.mean()
133     #方差
134     s = np.sum((a-m)**2)/n
135     print("均值为 {}  方差为 {} ".format(m,s))
136 
137     #numpy 提供的计算方差的函数 var() 
138     print("方差为 {} (Numpy 函数var 直接计算)".format(np.var(a)))
139 
140 
141 
142     pass
View Code

相关文章:

  • 2021-04-15
  • 2021-07-22
  • 2021-07-21
  • 2021-10-10
  • 2021-06-26
  • 2021-07-20
猜你喜欢
  • 2022-02-14
  • 2021-10-16
  • 2021-06-06
  • 2021-05-01
相关资源
相似解决方案