京公网安备 11010802034615号
经营许可证编号:京B2-20210330
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说明数据正态分布
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
一、问题:为什么 ID 会"断号" 很多刚接触 MySQL 的同学都会有一个困惑:表里的主键 ID 是自增的,删了中间几行数据之后,ID 变 ...
2026-10-22一、问题场景:为什么会重复 JOIN 同一个子查询 在写复杂 SQL 时,经常遇到这种需求:同一张表或同一个聚合子查询,要和主表关联 ...
2026-10-22人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22