主要内容

高数组的直方图

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

制作高桌子

方法创建数据存储airlinesmall.csv数据集。治疗“NA”值作为缺失数据,以便将它们替换为值。选择要使用的变量子集。将数据存储转换为一个高表。

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

到达延误直方图

的直方图ArrDelay变量用于检查到达延误的频率分布。

h =直方图(T.ArrDelay);
使用本地MATLAB会话评估tall表达式:-通过2中的第1步:在0.61秒内完成-通过2中的第2步:在0.23秒内完成评估在1.1秒内完成
标题(“1987 - 2008年航班延误”)包含(“到达延误(分钟)”) ylabel (“频率”

图中包含一个轴对象。标题为“航班到达延迟,1987 - 2008,xlabel到达延迟(分钟),ylabel频率”的axis对象包含一个直方图类型的对象。

到达延迟通常是一个接近0的小数字,所以这些值在图中占主导地位,很难看到其他细节。

调整直方图的Bin限制

限制直方图箱的限制,只绘制-50到150分钟之间的到达延迟。从高数组创建直方图对象后,不能更改需要重新计算容器的任何属性,包括BinWidthBinLimits。另外,你不能使用morebinsfewerbins调整箱子的数量。在这些情况下,使用柱状图从tall数组中的原始数据重建直方图。

图直方图(T。ArrDelay,“BinLimits”[-50150])
使用本地MATLAB会话评估tall表达式:-通过2中的第1步:在0.32秒内完成-通过2中的第2步:在0.2秒内完成评估在0.68秒内完成
标题(1987年至2008年,航班到达延误时间在-50分钟至150分钟之间)包含(“到达延误(分钟)”) ylabel (“频率”

图中包含一个轴对象。标题为“航班到达延迟在-50到150分钟之间,1987 - 2008,xlabel到达延迟(分钟),ylabel Frequency”的axis对象包含一个直方图类型的对象。

从这张图来看,长时间的延误似乎比最初预期的更常见。若要进一步调查,请找出延误1小时或更长时间的到达概率。

延迟1小时或更长时间的概率

原始的直方图返回一个对象h控件中的bin值属性中的料仓边BinEdges财产。您可以使用这些属性来执行内存计算。

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

idx = h.BinEdges >= 60;Idx (end) = [];

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

N =数字(T.ArrDelay);P = sum(h.Values(idx))*100/N)
P = 4.4809

总体而言,航班延误1小时或更长时间的几率约为4.5%。

按月绘制延误的二元直方图

按月绘制60分钟或更长时间到达延误的二元直方图。这张图考察了季节性如何影响到达延误。

图h2 = histogram2(T. month,T.;ArrDelay, 50 [12],“YBinLimits”(1100),“归一化”“概率”“FaceColor”“平”);
使用本地MATLAB会话计算tall表达式:-通过1 / 1:在0.38秒内完成评估,在0.45秒内完成评估,使用本地MATLAB会话计算tall表达式:-通过1 / 1:在0.37秒内完成评估,在0.39秒内完成
标题(“延误1小时或以上的概率(按月计算)”)包含(“月(1 - 12)”) ylabel (“到达延误(分钟)”) zlabel (“概率”) xticks(1:12) view(-126,23)

图中包含一个轴对象。标题为“到达延迟1小时或更大概率(按月)”、“xlabel月(1-12)”、“ylabel到达延迟(分钟)”的坐标轴对象包含一个类型为histogram2的对象。

按月统计延误情况

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

monthNames = {“1月”2月的“3”4月的“可能”“君”“7”“8月”“9”“10月”11月的12月的} ';G = findgroups(T.Month);M = splitapply(@(x) mean(x,“omitnan”)、T.ArrDelay G);delayByMonth = table(monthNames, sum(h2.Values,2)*100, gather(M),“VariableNames”, {“月”“P”“MeanByMonth”})
使用本地MATLAB会话评估tall表达式:-通过2中的第1步:在0.23秒内完成-通过2中的第2步:在0.43秒内完成评估在1.1秒内完成
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月假期的航班延误超过1小时的几率为11.4%,但平均延误时间为10.5分钟。紧随其后的是夏季的6月和7月,大约有10%的几率会延误一个小时或更长时间,平均延误时间约为9或10分钟。

另请参阅

||

相关的话题