主要内容

高阵直方图

这个例子展示了如何使用直方图histogram2分析和可视化包含在一个大数组中的数据。

创建高表

使用airlinesmall.csv数据集。治疗“不”值作为缺少的数据,以便将其替换为值。选择要处理的变量的子集。将数据存储转换为一个高表。

varnames = {“延迟”“DepDelay”“年”“月”};ds = tabularTextDatastore (“airlinesmall.csv”“TreatAsMissing”“不”...“SelectedVariableNames”,varnames);T=高(ds)
T = Mx4高表ArrDelay DepDelay月  ________ ________ ____ _____ 8 12 1987 10 8 1987 21 1987 10 1987年12 13日10 4 3 2 1 1987 59 63 1987 1987 10 11 1987 10  : : : : : : : :

绘制到达延误直方图

绘制一个图像的直方图ArrDelay变量来检查到达延迟的频率分布。

h =直方图(T.ArrDelay);
using the Local MATLAB Session: - Pass 1 of 2: Completed in 0.85 sec - Pass 2 of 2: Completed in 0.46 sec
头衔(“航班延误,1987 - 2008”)xlabel('到达延迟(分钟)')伊拉贝尔(“频率”

图中包含一个轴对象。以Flight arrival delays, 1987 - 2008为标题的轴对象包含一个直方图类型的对象。

到达延迟通常是一个接近0的小数字,所以这些值占据了整个情节,使得我们很难看到其他细节。

调整直方图的仓限

限制柱状图箱限制,只plot之间的到达延迟-50到150分钟。从高数组创建直方图对象后,不能更改任何需要重新计算容器的属性,包括BinWidthBinLimits.同样,你也不能使用莫宾斯费宾斯调整垃圾箱的数量。在这些情况下,请使用直方图从塔勒阵列中的原始数据重建直方图。

图柱状图(T.1),“宾极限”,[-50,150])
using the Local MATLAB Session: - Pass 1 of 2: Completed in 0.8 sec - Pass 2 of 2: Completed in 0.51 sec
头衔(“1987-2008年-50至150分钟的航班延误”)xlabel('到达延迟(分钟)')伊拉贝尔(“频率”

图中包含一个轴对象。轴对象的标题航班到达延迟-50至150分钟,1987 - 2008包含一个类型直方图对象。

从这个情节来看,长时间的拖延似乎比最初预期的更常见。为了进一步调查,请找出航班延误一小时或更长时间的概率。

延迟1小时或以上的概率

原始的直方图返回一个对象h中包含bin值的价值观属性中的容器边缘边沿财产。可以使用这些属性执行内存计算。

确定哪些箱子包含一个小时(60分钟)或更长时间的到达延误。从逻辑索引向量中删除最后一条bin边,使其与bin值向量的长度相同。

idx=h.BinEdges>=60;idx(结束)=[];

使用idx检索与每个选定的容器关联的值。将箱值加在一起,除以样本总数,再乘以100,就可以确定延迟大于或等于1小时的总概率。由于样本的总数是从原始数据集计算出来的,所以使用收集显式计算并返回内存中的标量。

N=numel(T.ArrDelay);P=gather(和(h.Values(idx))*100/N)
P = 4.4809

总的来说,到达延迟一小时或更长时间的概率约为4.5%。

按月份绘制延迟的二元直方图

绘制每月60分钟或更长的到达延迟的双变量直方图。此图检查季节性如何影响到达延迟。

图h2 = histogram2(T. month,T. month,T. month)ArrDelay, 50 [12],“YBinLimits”,[60 1100],...“正常化”“概率”“脸色”“平”);
使用本地MATLAB会话评估tall表达式:-通过1/1:在0.83秒内完成评估在1秒内完成使用本地MATLAB会话评估tall表达式:-通过1/1:在0.83秒内完成评估在0.92秒内完成
头衔(“延误1小时或以上的概率(按月计算)”)xlabel(“第(1-12)个月”)伊拉贝尔('到达延迟(分钟)')兹拉贝尔(“概率”) xticks(1:12)视图(-126年,23)

图中包含一个Axis对象。标题为到达延迟概率为1小时或以上(按月)的Axis对象包含histogram2类型的对象。

按月计算的延误统计数字

使用二元直方图对象计算每个月有一个小时或更大的到达延迟的概率,以及每个月的平均到达延迟。将结果放入带有变量的表中P包含概率信息和变量MeanByMonth包含平均到达延迟。

monthNames = {“简”“二月”“马尔”“四月”“可能”“君”...“7”“8月”“9”“十月”11月的“十二月”}“;G=查找组(T.Month);M=拆分应用(@(x)平均值(x),“omitnan”),T.arrday,G);delayByMonth=表(月名称,总和(h2.值,2)*100,聚集(M),...“VariableNames”,{“月”“P”“平均每月”})
使用本地MATLAB会话评估tall表达式:-第1次通过(共2次):在0.37秒内完成-第2次通过(共2次):在1.1秒内完成评估在2秒内完成
delayByMonth =12×3表月P MeanByMonth  _______ ______ ___________ {' } 1月9.6497 - 8.5954 7.7058 - 7.3275{' 2月'}{“Mar”}9.0543 - 7.5536{4月的}7.2504 - 6.0081 7.4256 - 5.2949{‘可能’}{“君”}10.35 - 10.264{‘7’}10.228 - 8.7797 8.5989 - 7.4522{“8月”}{‘9’}5.4116 - 3.6308{10月的}6.042 - 4.6059{11月的}6.9002 5.2835{12月的}11.384 - 10.571

结果表明,12月假日月份的航班延误超过一小时的概率为11.4%,但平均延误10.5分钟。紧随其后的是6月和7月的夏季月份,航班延误一小时或以上的概率约为10%,平均延误约为9或10分钟.

另请参阅

||

相关话题