概率论与数理统计——MATLAB

概率论与数理统计——MATLAB

1. 用MATLAB产生随机数

独立同分布的随机变量的观测值称为随机数,以下MATLAB指令都是用于产生x*y个服从对应分布的随机数。

分布名称 MATLAB指令
两点分布B(1,p) R=binornd(1,p,x,y)
二项分布B(n,p) R=binornd(n,p,x,y)
泊松分布P(λ) R=poissrnd(λ,x,y)
超几何分布H(N,M,n) R=hygernd(N,M,n,x,y)
几何分布Geom§ R=geornd(p,x,y)+1
均匀分布U(a,b) R=unifrnd(a,b,x,y)
指数分布ε(λ) R=exprnd(1/λ,x,y)
正态分布N(μ,σ²) R=normrnd(μ,σ,x,y)
伽马分布Γ(α,β) R=gamrnd(α,β)

2. 用MATLAB计算概率分布函数和密度

分布名称 分布函数F(x)=P(X≤x) 概率密度f(x)或px
二项分布B(n,p) F=binocdf(x,n,p) px=binopdf(x,n,p)
泊松分布P(λ) F=poisscdf(x,λ) px=poisspdf(x,λ)
超几何分布H(N,M,n) F=hygecdf(x,N,M,n) px=hygepdf(x,N,M,n)
几何分布Geom§ F=geocdf(x-1,p) px=geopdf(x-1,p)
帕斯卡分布(r,p) F=nbincdf(x-r,r,p) px=nbinpdf(x-r,r,p)
正态分布N(μ,σ²) F=normcdf(x,μ,σ) f=normpdf(x,μ,σ)
指数分布ε(λ) F=expcdf(x,1/λ) f=exppdf(x,1/λ)
伽马分布Γ(α,β) F=gamcdf(x,α,1/β) f=gampdf(x,α,1/β)
韦布尔分布W(a,b) F=weibcdf(x,a,b) f=weibpdf(x,a,b)
对数正态分布(μ,σ²) F=logncdf(x,μ,σ²) f=lognpdf(x,μ,σ²)
瑞利分布 F=raylcdf(x,1) f=raylpdf(x,1)
t(n) F=tcdf(x,n) f=tpdf(x,n)
χ²(n) F=chi2cdf(x,n) f=chi2pdf(x,n)
F(n,m) F=fcdf(x,n,m) f=fpdf(x,n,m)

3. 用MATLAB计算样本均值、样本标准差,绘制直方图

需要先给x=[x1;x2;……;xn],y=[y1;y2;……;yn]

名称 MATLAB命令 名称 MATLAB命令
样本均值 mean(x) 最小值 min(x)
样本标准差 std(x) 最大值 max(x)
样本方差 var(x) 中位数 median(x)
样本协方差 cov(x,y) 升序排名 sort(x)
样本相关系数 corrcoef(x,y) 元素求和 sum(x)
直方图 hist(x) 取整部 fix(x)

4. 用MATLAB计算置信区间

可以调用MATLAB命令来计算服从某一分布的样本的样本均值样本标准差s参数μ,σ的置信水平为1-α的置信区间

例如调用x=[-0.541;-0.545;……;-0.535;-0.546]为x赋值,然后调用[mu,sigma,mui,sigmai]=normfit(x,0.05)得到输出mu=-0.5460sigma=0.0050mui=-0.5483,-0.5438sigmai=0.0038,0.0072。即样本均值=-0.5460,样本标准差s=0.0050,置信水平0.95下μ的置信区间是[-0.5483,-0.5438],σ的置信区间是[0.0038,0.0072]。

注意,此处的命令都是适用于参数均未知的情况下,对于有已知参数的,结果可能有出入。

分布参数 MATLAB命令 结果说明
正态分布N(μ,σ²) [mu,sigma,mui,sigmai]=normfit(x,α) 样本均值,s和μ,σ的置信水平为1-α的置信区间
泊松分布P(λ) [lambda,lambdai]=poissfit(x,α) λ的MLE和置信水平为1-α的置信区间
指数分布ε(1/λ) [lambda,lambdai]=expfit(x,α) λ的MLE和置信水平为1-α的置信区间
均匀分布U(a,b) [a,b,ai,bi]=unifit(x,α) a,b的MLE和置信水平为1-α的置信区间

5. 用MATLAB计算上α分位数

分布与分位数 MATLAB命令
标准正态分布zα z=norminv(1-α,0,1)
t分布tα(n) t=tinv(1-α,n)
卡方分布χ²α(n) chi2=chi2inv(1-α,n)
F分布Fα(n,m) F=finv(1-α,n,m)
Bα(n,p) B=binoinv(1-α,n,p)+1
瑞利分布 R=raylinv(1-α,1)

6. 用MATLAB进行一元线性回归

  1. plot(x,y,'*')绘出数据的散点图
  2. ba=polyfit(x,y,1)得到回归系数,其中ba(1)为斜率b,ba(2)为截距a
  3. sig=norm(y-ba(2)-ba(1)*x)/sqrt(n-2)得到随机误差的方差σ²
  4. 调用x1=[1,n](n自定义),y1=ba(2)+ba(1)*x1plot(x,y,'*',x1,y1)绘出(x,y)的散点图和回归直线图

或者可以通过以下的方式

x=[1975;1977;1980;1982;1984;1986];
y=[642;656;688;689;717;742];
n=numel(x);
c=cov(x,y); %协方差矩阵
sxy=c(1,2); %样本协方差
sx=sqrt(c(1,1)); %样本x标准差
sy=sqrt(c(2,2)); %样本y标准差
pxy=sxy/(sx*sy); %样本相关系数
b=sxy/power(sx,2);
a=mean(y)-b*mean(x);
lyy=(n-1)*power(sy,2);
lxx=(n-1)*power(sx,2);
Q=lyy-power(b,2)*lxx; %残差平方和
sigma=sqrt(Q/(n-2));
x0=1987;
t=2.776; %t α/2(n-2)
y0=a+b*x0;
yita=sigma*sqrt(1+1/n+power(x0-mean(x),2)/lxx);
% 置信水平为1-α的置信区间
xiaxian=y0-t*yita; %置信下限
shangxian=y0+t*yita; %置信上限

以上部分内容引自《概率论与数理统计(第二版)》(高等教育出版社),如有侵权,请联系我删除。

猜你喜欢

转载自blog.csdn.net/NickHan_cs/article/details/107093578