R语言之书笔记:常见的概率分布

Python012

R语言之书笔记:常见的概率分布,第1张

两种可能结果的离散随机变量概率分布 ,失败是0,成功是1,p是成功的概率

dbinorm() :提供任何有效x的概率质量函数

pbinom() :提供累积概率分布,求结果成功q次及q次以下的累积概率,给定分位数值q,输出累积概率p

qbinom() :累积概率分布的逆( pbinom() 的逆),给定累积概率p,输出分位数值q

rbinom() :产生n个服从二项分布的随机数

3. dpois() , ppois() , qpois() , rpois()

dt() , pt() , qt() , rt()

在R中,概率函数形如:

[dpqr]distribution_abbreviation

其中第一个字母表示其所指分布的某一方面:

d = 密度函数(density)

p = 分布函数(distribution function)

q = 分位数函数(quantile function)

r = 生成随机数(随机偏差)

以正态分布为例

1 什么是正态分布

正态分布也被称为高斯分布,是统计学中极为常见的连续型概率分布。正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。

2 正态分布的两个参数及图形

正态分布有两个参数,即均数和标准差。 1)概率密度曲线在均值处达到最大,并且对称; 2)一旦均值和标准差确定,正态分布曲线也就确定; 3)当X的取值向横轴左右两个方向无限延伸时,曲线的两个尾端也无限渐近横轴,理论上永远不会与之相交; 4)正态随机变量在特定区间上的取值概率由正态曲线下的面积给出,而且其曲线下的总面积等于1;

5)均值可取实数轴上的任意数值,决定正态曲线的具体位置;标准差决定曲线的“陡峭”或“扁平”程度:标准差越大,正态曲线越扁平;标准差越小,正态曲线越陡峭。这是因为,标准差越小,意味着大多数变量值离均数的距离越短,因此大多数值都紧密地聚集在均数周围,图形所能覆盖的变量值就少些,于是都挤在一块,图形上呈现瘦高型。相反,标准差越大,数据跨度就比较大,分散程度大,所覆盖的变量值就越多,图形呈现“矮胖型”。

3 标准正态分布

如果不指定一个均值和一个标准差,则函数将假定其为标准正态分布(均值为0,标准差为1)。

4 正态分布的概率函数

概率密度函数为dnorm(),分布函数pnorm(),分位函数qnorm(),随机数生成函数rnorm()。

dnorm(x, mean = 0, sd = 1, log = FALSE)

pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)

qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)

rnorm(n, mean = 0, sd = 1)

x - 是数字的向量。

p - 是概率向量。

n - 是观察次数(样本量)。

mean - 是样本数据的平均值,默认值为零。

sd - 是标准偏差,默认值为1。

pretty()创建美观的分割点。选取n+1等间距的取整数,将连续变量x分割为n个区间。pretty(x,n)

x:它被定义为矢量数据。

n:结果向量的长度。

返回:等长区间的数据向量。

设定随机数种子

set.seed()

该函数是设定生成随机数的种子,种子是为了让结果具有重复性,保证你在执行和调试后,所创造的随机数保持不变。 24

runif(n, min = 0, max = 1)

该函数用于创建均匀分布的随机偏差。n表示观察次数,min和max分别为最小最大值。

其他概率分布见下表。

参考资料:

可以用内置的graphic包来画,就是plot()和curve()

也可以用ggplot2来画,后者更灵活.

graphic

# 先生成一组随机数

x <- rnorm(2000)

# 画频率直方图, 分30个bin

hist(x, freq = F, breaks = 30)

# 再画概率分布曲线

lines(density(x, bw=.5), col="red", lwd=2)

2.ggplot2

# 准备工作, 把x设成一个数据集

library(ggplot2)

data <- data.frame(x = x)

# 生成底层和直方图,概率线的图层

p <- ggplot(data, aes(x = x, y = ..density..))

p <- p + geom_histogram(fill = "navy")

p <- p + geom_density(colour = "green")