復(fù)現(xiàn)fish04課代碼

import scipy.stats
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

%config InlineBackend.figure_format = 'retina'
## 生成隨機(jī)數(shù)
np.random.seed(123)
np.random.random(5)
array([ 0.69646919,  0.28613933,  0.22685145,  0.55131477,  0.71946897])
np.random.randint(0,9,10)
#生成0-9的10個(gè)隨機(jī)整數(shù)
array([6, 1, 0, 1, 0, 0, 3, 4, 0, 0])

蒙特卡洛模擬求圓周率

num = 1000
x = np.random.random(num)
y = np.random.random(num)

pi = np.sum(x**2 + y**2 < 1) / num * 4
print('PI:', pi)
## 為什么呢?   
PI: 3.196

plt.figure(figsize=(5,5))

plt.scatter(x,y, alpha = 0.6)
plt.axis([0,1,0,1])

x2 = np.arange(0, 1.01, 0.01)
y2 = np.sqrt(1 - x2**2)
plt.plot(x2, y2, 'm', lw=3)

plt.show()

output_7_0.png

連續(xù)分布和正太分布

模擬面包重量的分布

假設(shè)是均值為950克贴浙,標(biāo)準(zhǔn)差為50克的正態(tài)分布崎溃。

那個(gè)數(shù)學(xué)家的故事盯质,想起來(lái)了
mean = 950
std = 50

# 生成滿足正態(tài)分布的隨機(jī)數(shù),并繪制直方圖
sample = np.random.normal(mean, std, size=365)
plt.hist(sample, bins=30, alpha=0.7, rwidth=0.9, normed=True)

plt.show()
output_9_0.png
mean = 950
std = 50
norm = scipy.stats.norm(mean, std)
#  用 `scipy.stats.norm` 生成正態(tài)分布赎瑰,
##這是新的方法咯餐曼?
x = np.arange(700, 1200, 1)
## 這里的1鲜漩,是什么參數(shù)
y = norm.pdf(x)
plt.plot(x, y)
plt.show()

### 繪制正太分布的概率密度函數(shù)
output_11_0.png
### 累計(jì)分布函數(shù)cdf瓶佳,對(duì)了到底這幾個(gè)pdf和cdf的英文全名是什么鞍运恰臂拓?
# probability density function 
# cumulative distribution function 
x = np.arange(700, 1200, 1)
y = norm.cdf(x)
plt.plot(x, y)
plt.show()
output_12_0.png
### 計(jì)算買到的面包小于1000克的概率
# 這個(gè)好像很重要呢


#繪制PDF曲線
x = np.arange(700, 1200, 1)
y = norm.pdf(x)
plt.plot(x, y)

#在1000處繪制豎線
plt.vlines(1000, 0, norm.pdf(1000))

#填充顏色
x2 = np.arange(700, 1000, 1)
y2 = norm.pdf(x2)
plt.fill_between(x2, y2, color='blue', alpha=0.1)

#設(shè)置y軸范圍
plt.ylim(0,0.0085)

plt.show()

![output_16_0.png](http://upload-images.jianshu.io/upload_images/4421285-b947238a22195c45.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
norm.cdf(1000)
## 其實(shí)累計(jì)分布才能解決傻工,低于1000的問(wèn)題
0.84134474606854293

計(jì)算買到的面包大于1000克的概率

#繪制PDF曲線
x = np.arange(700, 1200, 1)
y = norm.pdf(x)
plt.plot(x, y)

#繪制豎線
plt.vlines(1000, 0, norm.pdf(1000))

#填充顏色
x2 = np.arange(1000, 1200, 1)
y2 = norm.pdf(x2)
plt.fill_between(x2, y2, color='blue', alpha=0.1)

#設(shè)置y軸范圍
plt.ylim(0,0.0085)

plt.show()
output_16_0.png
1 - norm.cdf(1000)
## 對(duì)呀,用1-另一半就可以了呀
0.15865525393145707
norm.sf(1000)
### 這個(gè)sf是什么意思
## 好像sf是反函數(shù)坊饶。但忘了 具體是反什么了匿级?
0.15865525393145707
## 計(jì)算面包在950-1050的概率
#繪制PDF曲線
x = np.arange(700, 1200, 1)
y = norm.pdf(x)
plt.plot(x, y)

#繪制豎線
plt.vlines(950, 0, norm.pdf(950))
plt.vlines(1050, 0, norm.pdf(1050))

#填充顏色
x2 = np.arange(950, 1050, 1)
y2 = norm.pdf(x2)
plt.fill_between(x2, y2, color='blue', alpha=0.1)

#設(shè)置y軸范圍
plt.ylim(0,0.0085)

plt.show()
output_19_0.png
norm.cdf(1050) - norm.cdf(950)
#cdf(1050)是指低于1050的函數(shù)的意思么痘绎?
0.47724986805182079
# 90%的情況下孤页,買到的面包是小于多少克的?
### ppf才是反函數(shù)吧蕉堰,就是要實(shí)現(xiàn)某概率,該是什么初始變量
norm.ppf(0.9)
1014.07757827723
# 80%的情況下冰寻,買到的面包是大于多少克的斩芭?
norm.isf(0.8)


907.91893832135429

離散分布

outcome = np.random.randint(0,2,10)
outcome
array([1, 0, 0, 1, 1, 0, 1, 1, 0, 1])
np.sum(outcome)
6
sample = [np.sum(np.random.randint(0,2,10)) for i in range(10000)]

sample = pd.Series(sample)
# pdserie 什么意思啊
sample.value_counts().sort_index().plot.bar()
plt.show()
output_28_0.png
# 投硬幣問(wèn)題的二項(xiàng)分布
n = 10
p = 0.5
binomial = scipy.stats.binom(n, p)
x = np.arange(0,11)
plt.plot(x, binomial.pmf(x), 'bo')
plt.vlines(x, 0, binomial.pmf(x), colors='b')
plt.ylim(0,0.3)
plt.show()
output_30_0.png
mean, var = binomial.stats()
print(mean)
print(var)
5.0
2.5
### 應(yīng)用

# 某家風(fēng)投企業(yè),投資成功的概率是5%琴庵,如果它投了100個(gè)項(xiàng)目仰美,恰好有5個(gè)成功的概率是多少?
n = 100
p = 0.05
binom = scipy.stats.binom(n,p)

x = np.arange(0,101)
plt.plot(x, binom.pmf(x), 'bo')
plt.vlines(x, 0, binom.pmf(x), colors='b')
plt.ylim(0,0.2)
plt.show()
output_33_0.png
binom.pmf(5)
## pmf概率質(zhì)量函數(shù)
0.18001782727043672
1 - binom.cdf(4)
## 累計(jì)概率分布
0.56401869931428927
binom.sf(4)

0.56401869931429105
binom.isf(0.1)
#10%的情況下,能成功多少
8.0
binom.ppf(1 - 0.1)
8.0
## 離散分布 - 泊松分布
# 有一家便利店使用泊松分布來(lái)估計(jì)周五晚上到店買東西的顧客數(shù)懦尝,根據(jù)以往數(shù)據(jù)壤圃,周五晚上平均每個(gè)小時(shí)的顧客數(shù)是20埃唯。
lmd = 20
poisson = scipy.stats.poisson(lmd)
x = np.arange(0,40)
plt.plot(x, poisson.pmf(x), 'bo')
plt.vlines(x, 0, poisson.pmf(x), colors='b')
plt.ylim(0,0.1)
plt.show()
output_40_0.png
mean, var = poisson.stats()
print(mean)
print(var)
20.0
20.0
#顧客數(shù)恰好是20的概率?
poisson.pmf(20)
0.088835317392084806
# 顧客數(shù)小于15的函數(shù)
poisson.cdf(15)
0.15651313463974229
# 顧客數(shù)大于等于20的概率模蜡?
poisson.sf(19)
0.52974273316075782
# 百分之90%的情況下忍疾,顧客數(shù)不會(huì)超過(guò)多少卤妒?
poisson.ppf(0.9)
26.0
#作業(yè)## 基本作業(yè)

#機(jī)票超賣現(xiàn)象

#假設(shè)某國(guó)際航班有300個(gè)座位,乘客平均誤機(jī)率是2%共缕。


#1、如果一共賣出305張機(jī)票翩活,那么登機(jī)時(shí)人數(shù)超額的概率是多少菠镇?

# 某家風(fēng)投企業(yè)承璃,投資成功的概率是5%盔粹,如果它投了100個(gè)項(xiàng)目,恰好有5個(gè)成功的概率是多少玻佩?
n = 305
p = 0.98
binom = scipy.stats.binom(n,p)
binom.pmf(301)


0.12929463926438506
1 - binom.cdf(300)

0.26915013819815137
binom.pmf(301)
0.12929463926438506
n = 305
p = 0.98
binom = scipy.stats.binom(n,p)

lmd=300
poisson = scipy.stats.poisson(lmd)
poisson.ppf(0.9)

322.0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末税稼,一起剝皮案震驚了整個(gè)濱河市郎仆,隨后出現(xiàn)的幾起案子扰肌,更是在濱河造成了極大的恐慌曙旭,老刑警劉巖晶府,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剂习,死亡現(xiàn)場(chǎng)離奇詭異鳞绕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)萄焦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門楷扬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贴见,“玉大人,你說(shuō)我怎么就攤上這事镣衡±扰福” “怎么了惰说?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)缘回。 經(jīng)常有香客問(wèn)我吆视,道長(zhǎng),這世上最難降的妖魔是什么酥宴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任啦吧,我火速辦了婚禮,結(jié)果婚禮上拙寡,老公的妹妹穿的比我還像新娘授滓。我一直安慰自己,他們只是感情好肆糕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布般堆。 她就那樣靜靜地躺著擎宝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胃碾。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音峦朗,去河邊找鬼。 笑死尺铣,一個(gè)胖子當(dāng)著我的面吹牛竞川,可吹牛的內(nèi)容都是我干的逞怨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了暂吉?” 一聲冷哼從身側(cè)響起阎肝,我...
    開(kāi)封第一講書(shū)人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沛硅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后朦蕴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年惑淳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片向瓷。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瓷耙,死狀恐怖乾闰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響胸囱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谤职,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凤跑。 院中可真熱鬧扔仓,春花似錦儿倒、人聲如沸彻犁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坎藐。三九已至抖韩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工果善, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容