zoukankan      html  css  js  c++  java
  • 【数模】day06-数理统计I

    数理统计。

    以样本推断总体,进而用总体研究问题。

    分两部分学习,第一部分是基础统计、参数估计、假设检验以及bootstrap方法。

    1. 基础统计

    假设有如下数据:

    image

    要做频数表、直方图、折线图、饼状图等等,首先要做的是如何把这些数据在matlab中表示。

    先把数据写入一个纯文本数据文件 data.txt 中, 格式如上表,有 20 行、10 列,数据列之间用空格键或 Tab 键分割,该数据文件 data.txt 存放在 matlabwork 子目录下,在 Matlab 中用 load 命令读入数据,具体作法是:


      load data.txt

    这样在内存中建立了一个变量 data,它是一个包含有 10 20× 个数据的矩阵。 为了得到我们需要的 100 个身高和体重各为一列的矩阵,应做如下的改变:

    high=data(:,1:2:9);high=high(:)

    weight=data(:,2:2:10);weight=weight(:)

    接着做频数以及直方图:

    求频数用 hist 命令实现,其用法是:

    [N,X] = hist(Y,M)

    得到数组(行、列均可)Y 的频数表。它将区间[min(Y),max(Y)]等分为 M 份(缺省时 M 设定为 10),N 返回 M 个小区间的频数,X 返回 M 个小区间的中点。 

    命令 hist(Y,M) 画出数组 Y 的直方图。

    Matlab 中 moment(x,order)返回 x 的 order 阶中心矩,order 为中心矩的阶数。 skewness(x)返回 x 的偏度,kurtosis(x)返回峰度。

    image

    Matlab 统计工具箱中有 27 种概率分布,这里只对上面所述 4 种分布列出命令的字 符:

    norm  正态分布;

    chi2   卡方分布;

    t      t分布           

    f    F 分布

    工具箱对每一种分布都提供 5 类函数,其命令的字符是:

    pdf 概率密度; 

    cdf 分布函数; 

    inv 分布函数的反函数;

    stat 均值与方差; 

    rnd 随机数生成:符合该分布的随机数

    当需要一种分布的某一类函数时,将以上所列的分布命令字符与函数命令字符接起 来,并输入自变量(可以是标量、数组或矩阵)和参数就行了,如:

    p=normpdf(x,mu,sigma)  均值 mu、标准差 sigma 的正态分布在 x 的密度函数 (mu=0,sigma=1 时可缺省)。

    p=tcdf(x,n)  t分布(自由度 n)在 x 的分布函数。

    x=chi2inv(p,n)  卡方分布(自由度 n)使分布函数 F(x)=p 的 x(即 p 分位数)。

    [m,v]=fstat(n1,n2)  F 分布(自由度 n1,n2)的均值 m 和方差 v。

    几个分布的密度函数图形就可以用这些命令作出,如:

    x=-6:0.01:6;y=normpdf(x);z=normpdf(x,0,2);

    plot(x,y,x,z),gtext('N(0,1)'),gtext('N(0,2^2)')

    2. 参数估计

    常见的是点估计和区间估计。

    点估计有矩估计(基于大数定律)和最大似然估计(基于贝叶斯公式)。

    区间估计常见的是利用α分位点借助常见分布、利用bootstrap区间估计等。

    这些理论是数理统计一课的讲授重点。

    ☆参数估计的 Matlab 实现

    对于正态总体:[mu,sigma,muci,sigmaci]=normfit(x,alpha)

    其中 x 为样本(数组或矩阵),alpha 为显著性水平 α (alpha 缺省时设定为 0.05),返 回总体均值 μ 和标准差 σ 的点估计 mu 和 sigma,及总体均值 μ 和标准差 σ 的区间估计 muci 和 sigmaci。当 x 为矩阵时,x 的每一列作为一个样本。

    Matlab 统计工具箱中还提供了一些具有特定分布总体的区间估计的命令,如 expfit,poissfit,gamfit。

    3. 假设检验

    对于假设的检验,通常检验分为下面几种:

    检验参数(双边、左边、右边)。

    检验分布。(分布拟合检验)

    检验两个变量是否是同一分布。(秩和检验)

    参数检验:

    对于正态总体:

    image

    在 Matlab 中Z 检验法由函数 ztest 来实现,命令为

    [h,p,ci]=ztest(x,mu,sigma,alpha,tail)

    image

    image

    在 Matlab 中t检验法由函数 ttest 来实现,命令为

    [h,p,ci]=ttest(x,mu,alpha,tail)

    image

    还可以用t检验法检验具有相同方差的 2 个正态总体均值差的假设。在 Matlab 中 由函数 ttest2 实现,命令为:

    [h,p,ci]=ttest2(x,y,alpha,tail)

    与上面的 ttest 相比,不同处只在于输入的是两个样本 x,y(长度不一定相同), 而不是一个样本和它的总体均值;tail 的用法与 ttest 相似

    分布拟合检验

    image

    image

    image

    image

  • 相关阅读:
    依赖注入
    ToDictionary() and ToList()
    Middleware详解
    仓储层的搭建
    Controller和View的交互
    Configuration配置信息管理
    开发工具
    60分钟Python快速学习(转)
    oracle PL/SQL(procedure language/SQL)程序设计之函数+过程+包(转)
    ssh无密码登陆(转)
  • 原文地址:https://www.cnblogs.com/duye/p/9349495.html
Copyright © 2011-2022 走看看