数理统计。

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

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

1. 基础统计

假设有如下数据:

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

先把数据写入一个纯文本数据文件 data.txt 中, 格式如上表,有 20 行、10 列,数据列之间用空格键或 Tab 键分割,该数据文件 data.txt 存放在 matlab\work 子目录下,在 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)返回峰度。

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. 假设检验

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

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

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

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

参数检验:

对于正态总体:

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

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

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

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

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

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

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

分布拟合检验

【数模】day06-数理统计I的更多相关文章

  1. 当Python与数模相遇

    数模有一个题目要处理杭州自行车在每个站点可用数量和已经借出数量,这数据在www.hzbus.cn上可以获取,它是10分钟更新一次的.这些数据手动获取,需要不停的刷页面,从6:00am到9:00pm,显 ...

  2. Python数模笔记-Sklearn(1) 介绍

    1.SKlearn 是什么 Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包. Sklearn 主要用Python编写,建立在 Numpy.Scipy.Pa ...

  3. Python数模笔记-(1)NetworkX 图的操作

    1.NetworkX 图论与网络工具包 NetworkX 是基于 Python 语言的图论与复杂网络工具包,用于创建.操作和研究复杂网络的结构.动力学和功能. NetworkX 可以以标准和非标准的数 ...

  4. Python数模笔记-NetworkX(3)条件最短路径

    1.带有条件约束的最短路径问题 最短路径问题是图论中求两个顶点之间的最短路径问题,通常是求最短加权路径. 条件最短路径,指带有约束条件.限制条件的最短路径.例如,顶点约束,包括必经点或禁止点的限制:边 ...

  5. Python数模笔记-StatsModels 统计回归(4)可视化

    1.如何认识可视化? 图形总是比数据更加醒目.直观.解决统计回归问题,无论在分析问题的过程中,还是在结果的呈现和发表时,都需要可视化工具的帮助和支持. 需要指出的是,虽然不同绘图工具包的功能.效果会有 ...

  6. Python数模笔记-StatsModels 统计回归(1)简介

    1.关于 StatsModels statsmodels(http://www.statsmodels.org)是一个Python库,用于拟合多种统计模型,执行统计测试以及数据探索和可视化. 2.文档 ...

  7. Python数模笔记-Scipy库(1)线性规划问题

    1.最优化问题建模 最优化问题的三要素是决策变量.目标函数和约束条件. (1)分析影响结果的因素是什么,确定决策变量 (2)决策变量与优化目标的关系是什么,确定目标函数 (3)决策变量所受的限制条件是 ...

  8. Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评

    新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...

  9. 数-模(D/A)转换器

    将实现数字信号到模拟信号的转换电流称为数模(D/A)转换器,简称为DAC(Digital - Analog Convert). 目前常见的D/A转化器中,有:权电阻网络D/A转换器.倒T型电阻网络D/ ...

  10. 【数学建模】数模day13-灰色系统理论I-灰色关联与GM(1,1)预测

    接下来学习灰色系统理论. 0. 什么是灰色系统? 部分信息已知而部分信息未知的系统,我们称之为灰色系统.相应的,知道全部信息的叫白色系统,完全未知的叫黑色系统. 为什么采用灰色系统理论? 在给定信息不 ...

随机推荐

  1. 典型分布式系统分析:Bigtable

    本文是典型分布式系统分析的第三篇,分析的是Bigtable,一个结构化的分布式存储系统. Bigtable作为一个分布式存储系统,和其他分布式系统一样,需要保证可扩展.高可用与高性能.与此同时,Big ...

  2. python 自动获取星期

    自动获取星期: >>> from time import time,localtime,strftime>>> x=localtime(time())>> ...

  3. Spring Boot 之日志记录

    Spring Boot 之日志记录 Spring Boot 支持集成 Java 世界主流的日志库. 如果对于 Java 日志库不熟悉,可以参考:细说 Java 主流日志工具库 关键词: log4j, ...

  4. tkinter python(图形开发界面)

    Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macinto ...

  5. mariadb(第一章)

      数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来 ...

  6. JS 执行上下文

    先看个小例子 function fn(){ console.log(a);//undefined; var a = 1; } fn(); 为什么打印出来的是 undefined 呢? 执行上下文概念 ...

  7. 使用 Travis CI 实现项目的持续测试反馈

    [篇幅较长,10.15前补充完毕,如希望探索可直接移步Github仓库:https://github.com/SivilTaram/CITest] 在编程课中,我们可以使用成熟的在线评测系统来测试某个 ...

  8. Python_守护进程、锁、信号量、事件、队列

    1.创建进程 守护进程(*****) _.daemon = True #  _进程成为守护进程 守护进程也是一个子进程. 主进程的<代码>执行结束之后守护进程自动结束. import ti ...

  9. 【Python3练习题 005】输入三个整数x,y,z,请把这三个数由小到大输出

    import re x, y, z = re.split(',| |,| ', input('请输入3个数字,用逗号或空格隔开:'))x, y, z = int(x), int(y), int(z) ...

  10. Python解释器有哪些?Python解释器种类

    Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释 ...