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
在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31本人基本情况: 学校及专业:厦门大学经济学院应用统计 实习经历:快手数据分析、字节数据分析、百度数据分析 Offer情况:北京 ...
2025-01-3001专家简介 徐杨老师,CDA数据科学研究院教研副总监,主要负责CDA认证项目以及机器学习/人工智能类课程的研发与授课,负责过中 ...
2025-01-29