
R語(yǔ)言之隨機(jī)數(shù)與抽樣模擬篇
R語(yǔ)言生成均勻分布隨機(jī)數(shù)的函數(shù)是runif()
句法是:runif(n,min=0,max=1) n表示生成的隨機(jī)數(shù)數(shù)量,min表示均勻分布的下限,max表示均勻分布的上限;若省略參數(shù)min、max,則默認(rèn)生成[0,1]上的均勻分布隨機(jī)數(shù)。
例1:
> runif(5,0,1) # 生成5個(gè)[0,1]的均勻分布的隨機(jī)數(shù)
[1] 0.5993 0.7391 0.2617 0.5077 0.7199
> runif(5) # 默認(rèn)生成5個(gè)[0,1]上的均勻分布隨機(jī)數(shù)
[1] 0.2784 0.7755 0.4107 0.8392 0.7455
例2
隨機(jī)產(chǎn)生100個(gè)均勻分布隨機(jī)數(shù),作其概率直方圖,再添加均勻分布的密度函數(shù)線,程序如下:
> x=runif(100)
> hist(x,prob=T,col=gray(.9),main="uniform on [0,1]")
> curve(dunif(x,0,1),add=T) #添加均勻分布的密度函數(shù)線
3.1.2 正態(tài)分布隨機(jī)數(shù)
正態(tài)分布隨機(jī)數(shù)的生成函數(shù)是 rnorm()
句法是:rnorm(n,mean=0,sd=1) 其中n表示生成的隨機(jī)數(shù)數(shù)量,mean是正態(tài)分布的均值,默認(rèn)為0,sd是正態(tài)分布的標(biāo)準(zhǔn)差,默認(rèn)時(shí)為1;
例:
隨機(jī)產(chǎn)生100個(gè)正態(tài)分布隨機(jī)數(shù),作其概率直方圖,再添加正態(tài)分布的密度函數(shù)線
> x=rnorm(100)
> hist(x,prob=T,main="normal mu=0,sigma=1")
> curve(dnorm(x),add=T)
3.1.3 二項(xiàng)分布隨機(jī)數(shù)
二項(xiàng)分布是指n次獨(dú)立重復(fù)貝努力試驗(yàn)成功的次數(shù)的分布,每次貝努力試驗(yàn)的結(jié)果只有兩個(gè),成功和失敗,記成功的概率為p
生成二項(xiàng)分布隨機(jī)數(shù)的函數(shù)是:rbinom()
句法是:rbinom(n,size,prob) n表示生成的隨機(jī)數(shù)數(shù)量,size表示進(jìn)行貝努力試驗(yàn)的次數(shù),prob表示一次貝努力試驗(yàn)成功的概率
例:
產(chǎn)生100個(gè)n為10,15,50,概率p為0.25的二項(xiàng)分布隨機(jī)數(shù):
> par(mfrow=c(1,3))
> p=0.25
> for( n in c(10,20,50))
{ x=rbinom(100,n,p)
hist(x,prob=T,main=paste("n =",n))
xvals=0:n
points(xvals,dbinom(xvals,n,p),type="h",lwd=3)
}
> par(mfrow=c(1,1))
3.1.4 指數(shù)分布隨機(jī)數(shù)
R生成指數(shù)分布隨機(jī)數(shù)的函數(shù)是:rexp()
其句法是:rexp(n,lamda=1) n表示生成的隨機(jī)數(shù)個(gè)數(shù),lamda=1/mean
例:
>x=rexp(100,1/10) # 生成100個(gè)均值為10的指數(shù)分布隨機(jī)數(shù)
>hist(x,prob=T,col=gray(0.9),main=“均值為10的指數(shù)分布隨機(jī)數(shù)”)
>curve(dexp(x,1/10),add=T) #添加指數(shù)分布密度線
3.1.5 常見的分布函數(shù)
產(chǎn)生分布的隨機(jī)數(shù),只需要在相應(yīng)的分布前加r就行
表 3-1 常見分布函數(shù)表
分布 中文名稱 R中的表達(dá) 參數(shù)
Beta 貝塔分布 beta(a,b) shape1, shape2
Binomial 二項(xiàng)分布 binom(n,p) size, prob
Cauchy 柯西分布 cauchy( ) location, scale Chi-square 卡方分布 chisq(df)
df Exponential 指數(shù)分布 exp(lamda) rate F F分布 f(df1,df2) df1
df2
Gamma 伽瑪分布 gamma() shape rate
Geometric 幾何分布 geom() prob Hypergeometric 超幾何分布 hyper() m,n,k
Logistic 邏輯分布 logis() location scale
Negative binomial 負(fù)二項(xiàng)分布 nbinom() size prob
Normal 正態(tài)分布 norm() mean, sd Multivariate normal 多元正態(tài)分布 mvnorm() mean,cov
Poisson 泊松分布 pois() lambda T t 分布 t() df
Uniform 均勻分布 unif() min, max Weibull 威布兒分布 weibull() shape, scale
Wilcoxon 威爾考可森分布 wilcox() m, n
表 3-2 與分布相關(guān)的函數(shù)及代號(hào)
函數(shù)代號(hào) 函數(shù)作用
r- 生成相應(yīng)分布的隨機(jī)數(shù)
d- 生成相應(yīng)分布的密度函數(shù)
p- 生成相應(yīng)分布的累積概率密度函數(shù)
q- 生成相應(yīng)分布的分位數(shù)函數(shù)
例:
dnorm表示正態(tài)分布密度函數(shù)
pnorm表示正態(tài)分布累積概率密度函數(shù)
qnorm表示正態(tài)分布分位數(shù)函數(shù)(即正態(tài)累積概率密度函數(shù)的逆函數(shù))
3.2 隨機(jī)抽樣
3.2.1 放回與無(wú)放回抽樣
R可以進(jìn)行有放回、無(wú)放回抽樣
sample()函數(shù)即可以實(shí)現(xiàn)
句法為:sample(x,n,replace=F,prob=NULL)
3.3 統(tǒng)計(jì)模擬
3.3.1 幾種常見的模擬方法
1 中心極限定理:
2 二項(xiàng)分布模擬中心極限定理
3 用函數(shù)進(jìn)行模擬
指定模擬次數(shù)m=100,樣本量n=10,概率=0.25,如果要改變這些參數(shù)來(lái)重新進(jìn)行模擬將會(huì)很麻煩,下面將展示如何將上面的程序形成一個(gè)模擬函數(shù)再進(jìn)行模擬。
> sim.clt <- function (m=100,n=10,p=0.25)
{ z = rbinom(m,n,p)
x = (z-n*p)/sqrt(n*p*(1-p))
hist(x,prob=T,breaks=20,main=paste("n =",n,”p =”,p))
curve(dnorm(x),add=T)
}
> sim.clt() # 默認(rèn) m=100,n=10,p=0.25
> sim.clt(1000) # 取 m=1000,n=10,p=0.25
> sim.clt(1000,30) # 取 m=1000,n=30,p=0.25
> sim.clt(1000,30,0.5) # 取 m=1000,n=30,p=0.5
4 正態(tài)概率模擬
能比直方圖更好判定隨機(jī)數(shù)是否近似服從正態(tài)分布的是正態(tài)概率圖。
其基本思想是:作實(shí)際數(shù)據(jù)的分位數(shù)與正態(tài)分布數(shù)據(jù)的分位數(shù)的散點(diǎn)圖,也就是作樣本分位數(shù)與理論分位數(shù)的散點(diǎn)圖。
3.3.2 模擬函數(shù)的建立方法
若每次模擬都要編寫一個(gè)循環(huán),非常麻煩.
sim.fun()就是專門用來(lái)解決這類問(wèn)題的
只需要編寫一個(gè)用來(lái)生成隨機(jī)數(shù)的函數(shù),剩下的工作就交給sim.fun來(lái)完成
sim.fun <-function (m,f,...) # m 模擬樣本次數(shù),f需模擬的函數(shù)
{
sample <-1:m
for (i in 1:m) {
sample[i] <-f(...)
}
sample
}
例:
二項(xiàng)分布:
先編寫一個(gè)函數(shù)用來(lái)生成一個(gè)二項(xiàng)分布隨機(jī)的標(biāo)準(zhǔn)化值
>f<-function(n=10,p=0.5){s=rbinom(1,n,p);(s-n*p)/sqrt(n*p*(1-p)) }
> x=sim.fun(1000,f) # 模擬1000個(gè)二項(xiàng)隨機(jī)數(shù)
> hist(x,prob=T)
均勻分布來(lái)模擬中心極限定理:
> f = function(n=10) (mean(runif(n)-1/2)/(1/sqrt(12*n))
> x=sim.fun(1000,f) # 模擬1000個(gè)均勻隨機(jī)數(shù)
> hist(x,prob=T)
>f=function(n=10,mu=0,sigma=1){r=rnorm(n,mu,sigma);(mean(r)-m
u)/(sigma/sqrt(n)) }
> x = sim.fun(1000,f) #模擬1000個(gè)樣本量為10的N(0,1)隨機(jī)數(shù)
> hist(x,breaks=10,prob=T)
> x = sim.fun(1000,f,30,5,2) # 模擬1000個(gè)樣本量為30的N(5,4)隨機(jī)數(shù)
> hist(x,breaks=10,prob=T)
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03