统计学
在做数据汇报时, 如果把只是简单罗列数据, 不够直观. 这里学习怎么使用matlab函数来对数据进行统计学的处理.统计学可以分为描述统计学和推论统计学(都是我翻译的)….描述统计学旨在更好的呈现数据的内容, 推论统计学在于研究一个假设问题的成立的可能性.
描述统计学
对于下面的数据表而言, 是很难快速从中获取到关键信息的, 因此有必要对数据的呈现方式进行处理, 比如可以使用图形的方式来呈现数据.
图形总是比图表更加有力量, 这里再介绍几种画图的函数.
对于一组数据, 给出其频率数据 freqy=[1 0 1 0 4 0 1 0 3 1 0 0 1 1]
, 其中freqy(x)
的数值表示数据x
的出现次数, 可以分别使用下面的函数进行图形的描述.
1 | x = 1:14; |
对应的结果图:
matlab中使用boxplot
函数来绘制箱线图, 这个函数在前面也曾经提及过, 这里进一步介绍使用方法和箱线图的意义. 对于上面的1到14的数据, 下图中红色方框中的图形就是箱线图, 箱线图中共描述了数据的五个点, 包括最小值, 最大值, 中位数, 1/4位置的数值 和 3/4处的数值.
1 | marks = [80 81 81 84 88 92 92 94 96 97]; |
运行结果为:
可以看到, 箱线图中的红线, 也就是整个数据的中位数, 数值是90, 箱线图的方框的上下边界也与prctile
函数的结果相同. 从箱线图中, 我们可以清晰的看到数据的一些分布特征, 包括数据的范围, 数据曲线是否陡峭等等. 比如从上面的数据图来看, 整个数据集 在25%到75%中的数据占了整个数据的很大一部分.
matlab中可以使用skewness
来计算数据曲线的偏移程度. 下图一中, 平均数小于中位数小于频率最高的数的情况计算结果为负值, 图三的情况该函数的计算结果为正值.
1 | X = randn([10 3])*3; |
Kurtosis
函数用来计算分布图线的陡峭程度. 计算结果数值越大代表越陡峭.
1 | load stockreturns; % 加载matlab的内置数据集 |
从箱线图的结果来看, 第8列和第9列的方框大小差不多, 也就是说在25%到75%之间的数值差不多, 但是第9列的整体分布范围却明显比第8列大, 因此, 直观上就可以看出 关于陡峭程度的计算结果应该是第8列小于第9列.
绘图工作在前面课程中已经学习过, 这里给出一些数据特征的描述与计算方式, 包括的matlab函数有:
使用方法都很简单, 此处不再赘述, 必要时可以点击超链接参考使用文档.
推论统计学
这里所说的推论统计学实际上就是概率论中的假设检验, 对于某一数据集的内容,提出一个假设问题, 有多大的概率可以接受. 这里面可能涉及置信度, 检验水平等几个专业名词, 长时间不学就忘了, 但是我自己大概知道是什么意思
接受域为, 拒绝域为 . 常用的取值有, 0.01 0.1 0.05 等等.
计算对于一个给定数据集提出的假设能否被接受的问题, 首先应该指出接受的概率, 也就是给定, 由此算出接受域的范围, 如果假设的数值在此范围内, 则认为有 的概率接受这个假设. 下图为取0.05时的示意图
此图为双侧假设检验, 还可以进行单侧假设检验, 如下图
下面列举一些matlab的假设检验函数.
下面给出一个ttest2
检验两个数据集是否来自相同均值的总体的使用示例:
1 | load stockreturns; |
结果图: