R语言中的概率论和数理统计
一、随机变量
(一)、什么是随机变量?
1.定义
随机变量(random variable)表示随机现象各种结果的实值函数。随机变量是定义在样本空间S上,取值在实数域上的函数,由于它的自变量是随机试验的结果,而随机实验结果的出现具有随机性,因此,随机变量的取值具有一定的随机性。
2.R程序:生成一个在(0,1,2,3,4,5)的随机变量
> S<-1:5
> sample(S,1)
[1] 2
> sample(S,1)
[1] 3
> sample(S,4)
[1] 3 5 4 1
#sample(x=x,size=5,replace=T),其中size指定抽样的次数,“replace”就是重复的意思。即可以重复对元素进行抽样,也就是所谓的有放回抽样。
(二)、离散型随机变量
1.定义
如果随机变量X的全部可能的取值只有有限多个或可列无穷多个,则称X为离散型随机变量。
2.R程序:生成样本空间为(1,2,3)的随机变量X,X的取值是有限的
> S<-1:3
> X<-sample(S,1);X
[1] 2
(三)、连续型随机变量
1.定义
随机变量X,取值可以在某个区间内取任一实数,即变量的取值可以是连续的,这随机变量就称为连续型随机变量
2.定义R程序:生成样本在空间(0,1)的连续随机函数,取10个值
> runif(10,0,1)
[1] 0.3819569 0.7609549 0.6692581 0.6314708 0.5552201 0.8225527 0.7633086 0.4667188 0.1883553
[10] 0.> runif(10,0,1)
[1] 0.3819569 0.7609549 0.6692581 0.6314708 0.5552201 0.8225527 0.7633086 0.4667188 0.1883553
[10] 0.3741653
#1.runif(n,min=0,max=1)函数的规则:
n表示生成的随机数数量,min表示均匀分布的下限,max表示均匀分布的上限;若省略参数min、max,则默认生成[0,1]上的均匀分布随机数。
(一)、数学期望(mathematical expectation)
1.离散型随机变量:一切可能的取值xi与对应的概率Pi(=xi)之积的和称为该离散型随机变量的数学期望,记为E(x)。数学期望是最基本的数学特征之一。它反映随机变量平均取值的大小。
R程序:计算样本(1,2,3,7,21)的数学期望
> S<-c(1,2,3,7,21)
> mean(S)
[1] 6.8
2.连续型随机变量:若随机变量X的分布函数F(x)可表示成一个非负可积函数f(x)的积分,则称X为连续性随机变量,f(x)称为X的概率密度函数,积分值为X的数学期望,记为E(X)。
(二)、方差(Variance)
方差是各个数据与平均数之差的平方的平均数。在概率论和数理统计中,方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。
设X为随机变量,如果E{[X-E(X)]^2}存在,则称E{[X-E(X)]^2}为X的方差,记为Var(X)。
R程序:计算样本(1,2,3,7,21)的方差
> S<-c(1,2,3,7,21)
> var(S)
[1] 68.2
(三)、标准差(Standard Deviation)
标准差是方差的算术平方根sqrt(var(X))。标准差能反映一个数据集的离散程度。平均数相同的,标准差未必相同。
R程序:计算样本(1,2,3,7,21)标准差
> S<-c(1,2,3,7,21)
> sd(S)
[1] 8.258329
(四)、各种分布的期望和方差
离散型分布:两点分布,二项分布,泊松分布等
连续型分布:均匀分布,指数分布,正态分布,伽马分布等
对于某一特定场景,其所符合的分布规律一般先验给出
(五)、常用统计量
1.众数(Mode):
一组数据中出现次数最多的数值,叫众数,有时众数在一组数中有好几个。
R程序:计算样本(1,2,3,3,3,7,7,7,7,9,10,21)的众数
> S<-c(1,2,3,3,3,7,7,7,7,9,10,21)
> names(which.max(table(S)))
[1] "7"
#table()的输出可以看成是一个带名字的数字向量。可以用names()和as.numeric()分别得到名称和频数
> x <- sample(c("a", "b", "c"), 100, replace=TRUE)
> names(table(x))
[1] "a" "b" "c"
> as.numeric(table(x))
[1] 42 25 33
也可以直接把输出结果转化为数据框,as.data.frame():
> as.data.frame(table(x))
x Freq
1 a 42
2 b 25
3 c 33
> table(S)
S
1 2 3 7 9 10 21
1 1 3 4 1 1 1
2.最小值(minimum):
在给定情形下可以达到的最小数量或最小数值
3.最大值(maximum):
在给定情形下可以达到的最大数量或最大数值
4.中位数(Medians):
是指将统计总体当中的各个变量值按大小顺序排列起来,形成一个数列,处于变量数列中间位置的变量值就称为中位数
5.四分位数(Quartile):
用于描述任何类型的数据,尤其是偏态数据的离散程度,即将全部数据从小到大排列,正好排列在上1/4位置叫上四分位数,下1/4位置上的数就叫做下四分位数
R程序:计算样本(1,2,3,4,5,6,7,8,9)的四分位数
> S<-c(1,2,3,4,5,6,7,8,9)
> quantile(S)
0% 25% 50% 75% 100%
1 3 5 7 9
> fivenum(S)
[1] 1 3 5 7 9
6.通用的计算统计函数:
R程序:计算样本(1,2,3,4,5,6,7,8,9)的统计函数
> S<-c(1,2,3,4,5,6,7,8,9)
> summary(S)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 3 5 5 7 9
(六)、协方差(Covariance)
协方差用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。设X,Y为两个随机变量,称E{[X-E(X)][Y-E(Y)]}为X和Y的协方差,记录Cov(X,Y)。
R程序:计算X(1,2,3,4)和Y(5,6,7,8)的协方差
> X<-c(1,2,3,4)
> Y<-c(5,6,7,8)
> cov(X,Y)
[1] 1.666667
(七)、相关系数(Correlation coefficient)
相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度。当Var(X)>0, Var(Y)>0时,称Cov(X,Y)/sqrt(Var(X)*Var(Y))为X与Y的相关系数。
R程序:计算X(1,2,3,4)和Y(5,7,8,9)的相关系数
> X<-c(1,2,3,4)
> Y<-c(5,7,8,9)
> cor(X,Y)
[1] 0.9827076
八)、矩
1.原点矩(moment about origin)
2.中心矩(moment about centre)
均值和方差分别就是一阶原点矩和二阶中心矩,具体定义和概念,可详见陈希孺《概率论与数理统计》P132-133
3.偏度(skewness):
是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。设分布函数F(x)有中心矩μ2=E(X −E(X))^2, μ3 = E(X −E(X))^3,则Cs=μ3/μ2^(3/2)为偏度系数。
当Cs>0时,概率分布偏向均值右则,Cs<0时,概率分布偏向均值左则。 R语言:计算10000个正态分布的样本的偏度
> library(PerformanceAnalytics)
> S<-rnorm(10000)
> skewness(S)
[1] -0.00178084
> hist(S,breaks=100)
#hist() 函数:绘制直方图
4.峰度(kurtosis): 又称峰态系数。
表征概率密度分布曲线在平均值处峰值高低的特征数。峰度刻划不同类型的分布的集中和分散程序。设分布函数F(x)有中心矩μ2=E(X −E(X))^2, μ4=E(X −E(X))^4,则Ck=μ4/(u2^2-3)为峰度系数。
R语言:计算10000个正态分布的样本的峰度,(同偏度的样本数据)
> library(PerformanceAnalytics)
> kurtosis(S)
[1] -0.02443549
> hist(S,breaks=100)
(九)、协方差矩阵(covariance matrix)
可以理解成不同维度上的协方差
> x=as.data.frame(matrix(rnorm(10),ncol=2))
> x
V1 V2
1 -2.11315384 -2.55189840
2 -0.96631271 -1.36148355
3 -0.02835058 -0.82328774
4 -1.86669567 -0.07201353
5 0.27324957 -2.23835218
> var(x)
V1 V2
V1 1.13470650 -0.09292042
V2 -0.09292042 1.03172261
> cov(x)
V1 V2
V1 1.13470650 -0.09292042
V2 -0.09292042 1.03172261
三、极限定理
引言:
我们知道,随机现象的统计性规律是在相同条件下进行大量重复试验时呈现出来的,常见的两种统计规律性为:
频率的稳定性,即在大量重复试验中,事件发生的频率总是在它的概率附近摆动,且随着试验次数的增多,该频率总是越来越明显地稳定在其概率附近;
平均值的稳定性,即在多次重复测量中,测量平均值总是在它的真实值附近摆动,且随着测量次数的增加,测量平均值总是越来越明显地稳定在其真实值附近。
对以上两种规律,人们不仅研究观测值趋向于哪个稳定值,而且还分析了观测值在稳定值周围的摆动形式(分布情况)。
针对观测值趋向于哪个稳定值,用数学语言及理论来分析研究,就引出了大数定律。其中关于频率稳定性的大数定律称为伯努利大数定律,关于均值稳定性的大数定律称为辛钦大数定律。
针对观测值在稳定值周围的摆动形式,用数学理论进行研究,就得出了中心极限定理.所谓的中心极限定理,就是把和的分布收敛于正态分布的那些定理的一个统称。
注 在概率论中,“定律”与“定理”是一样的意思.“定理”一般用于指那些能用数学工具严格证明的结论;而“定律”是指人们通过观察分析得出来一种经验结论,如牛顿三大定律,热力学定律等.因为概率论中的“大数定律”不仅是在实践中总结出来的经验结论,而且也可以用数学工具严格地去证明,所以叫“大数定律”或叫“大数定理”都可以。
(一)、大数定理
R语言:假设投硬币,正面概率是0.5,投4次时,计算得到2次正面的概率?根据大数定律,如果投是10000次,计算5000次正面的概率?
#计算2次正面的的概率
> choose(4,2)/2^4 #choose组合数的计算:从4中选择2个
[1] 0.375
#计算5000次正面的的概率
> pbinom(5000, 10000, 0.5)
[1] 0.5039893
#pbinom二向分布,5000为分位数,产生10000个随机数,每个概率0.5
(二)、中心极限定理(central limit theorem)
中心极限定理是概率论中的一组定理。中心极限定理说明,大量相互独立的随机变量,其均值的分布以正态分布为极限。
1.林德伯格-列维(Lindburg-Levy)
是棣莫佛-拉普拉斯定理的扩展,讨论独立同分布随机变量序列的中央极限定理。它表明,独立同分布、且数学期望和方差有限的随机变量序列的标准化和以标准正态分布为极限:
棣莫佛-拉普拉斯(de Moivre - Laplace)定理是中央极限定理的最初版本,讨论了服从二项分布的随机变量序列。它指出,参数为n, p的二项分布以nρ为均值、nρ(1-ρ)为方差的正态分布为极限。
if (!require(animation)) install.packages("animation")
library(animation)
ani.options(interval = 0.1, nmax = 100)
par(mar = c(4, 4, 1, 0.5))
clt.ani()
#
1.library和require都可以载入包,但二者存在区别。在一个函数中,如果一个包不存在,执行到library将会停止执行,require则会继续执行。
require将会根据包的存在与否返回true或者false。
2.interval:a positive number to set the time interval of the animation (unit in seconds); default to be 1.
3.nmax:maximum number of steps in a loop (e.g. iterations) to create
animation frames. Note: the actual number of frames can be less than
this number, depending on specific animations. Default to be 50.
4.mar設置图形空白边界行数,mar = c(bottom, left, top, right)
5.clt.ani:Demonstration of the Central Limit Theorem
6.shapiro.test检验,P值大于0.05说明数据正态分布
数据分析咨询请扫描二维码
需求持续增长 - 未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。 - 预测到2025年,中国将需要高达220万的数据人 ...
2024-11-22《Python数据分析极简入门》 第2节 4 Pandas条件查询 在pandas中,可以使用条件筛选来选择满足特定条件的数据 importpanda ...
2024-11-22数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21数据分析是一项通过收集、整理和解释数据来发现有用信息的过程,它在现代社会中具有广泛的应用和重要性。数据分析能够帮助人们更 ...
2024-11-21数据分析行业正在迅速发展,随着技术的不断进步和数据量的爆炸式增长,企业对数据分析人才的需求也与日俱增。本文将探讨数据分析 ...
2024-11-21数据分析的常用方法包括多种技术,每种方法都有其特定的应用场景和优势。以下是几种常见的数据分析方法: 对比分析法:通过比 ...
2024-11-21企业数字化转型是指企业利用数字技术对其业务进行改造和升级,以实现提高效率、降低成本、创新业务模式等目标的过程。这一过程不 ...
2024-11-21数据分析作为一个备受追捧的职业领域,吸引着越来越多的女性加入其中。对于女生而言,在选择成为一名数据分析师时,行业选择至关 ...
2024-11-21大数据技术专业主要学习计算机科学、数学、统计学和信息技术等领域的基础理论和技能,旨在培养具备大数据处理、分析和应用能力的 ...
2024-11-21《Python数据分析极简入门》 第2节 3 Pandas数据查看 这里我们创建一个DataFrame命名为df: importnumpyasnpi ...
2024-11-21越老越吃香的行业主要集中在需要长时间经验积累和专业知识的领域。这些行业通常知识更新换代较慢,因此随着年龄的增长,从业者能 ...
2024-11-20数据导入 使用pandas库的read_csv()函数读取CSV文件或使用read_excel()函数读取Excel文件。 支持处理不同格式数据,可指定分隔 ...
2024-11-20大数据与会计专业是一门结合了大数据分析技术和会计财务理论知识的新型复合型学科,旨在培养能够适应现代会计业务新特征的高层次 ...
2024-11-20要成为一名数据分析师,需要掌握一系列硬技能和软技能。以下是成为数据分析师所需的关键技能: 统计学基础 理解基本的统计概念 ...
2024-11-20是的,Python可以用于数据分析。Python在数据分析领域非常流行,因为它拥有丰富的库和工具,能够高效地处理从数据清洗到可视化的 ...
2024-11-20在这个数据驱动的时代,数据分析师的角色变得愈发不可或缺。他们承担着帮助企业从数据中提取有价值信息的责任,而这些信息可以大 ...
2024-11-20数据分析作为现代信息时代的支柱之一,已经成为各行业不可或缺的工具。无论是在商业、科研还是日常决策中,数据分析都扮演着至关 ...
2024-11-20数字化转型已成为当今商业世界的热点话题。它不仅代表着技术的提升,还涉及企业业务流程、组织结构和文化的深层次变革。理解数字 ...
2024-11-20