主要内容

检测暴发和重大变化的信号

这个例子展示了如何确定更改或皮疹和changepoint检测信号通过累积资金。

检测通过累积金额暴发

有许多实际应用监测数据和你想去的地方尽快提醒当底层过程发生了变化。一个非常流行的技术来实现这一目标是通过累积和控制图(CUSUM)。

说明CUSUM是如何工作的,首先检查的总报告病例2014西非埃博拉暴发,所记录的疾病控制和预防中心

负载WestAfricanEbolaOutbreak2014情节(WHOreportdate [TotalCasesGuinea TotalCasesLiberia TotalCasesSierraLeone),“。”)传说(几内亚的,利比里亚的,“狮子山”)标题(总怀疑,可能,埃博拉病毒疾病的确诊病例的)

图包含一个坐标轴对象。坐标轴标题总怀疑对象,可能,埃博拉病毒疾病的确诊病例包含3线类型的对象。这些对象代表几内亚、利比里亚、塞拉利昂。

如果你看看在几内亚第一次爆发的前缘,你可以看到,第一个几百例在3月25日报道,2014年,该日期后显著增加。值得注意的是,虽然利比里亚3月份也有一些疑似病例,病例数保持相对控制,直到大约30天后。

为了了解传入的新病人,情节相对日常总数的变化情况下,于2015年3月25日开始的。

daysSinceOutbreak = datetime (24 + 2014 3 (0:400));例= interp1 (WHOreportdate TotalCasesLiberia daysSinceOutbreak);dayOverDayCases = diff(例);情节(dayOverDayCases)标题(率的新病例(每天)在利比里亚自3月25日,2014年);ylabel (“每日报告病例数量的变化”);包含(的天数从开始爆发的);

图包含一个坐标轴对象。坐标轴对象与标题的新病例(每天)在利比里亚自3月25日,2014年,包含的天数从开始爆发,ylabel每日报告病例数量的变化包含一个类型的对象。

如果你放大前几百天的数据,你可以看到,有一个初始涌入的情况下,他们中的许多人被排除后30天,暂时在利率变化低于零。你也可以看到天95年和100年之间的显著的上升趋势,在每天的七个新病例。

xlim(101年[1])

图包含一个坐标轴对象。坐标轴对象与标题的新病例(每天)在利比里亚自3月25日,2014年,包含的天数从开始爆发,ylabel每日报告病例数量的变化包含一个类型的对象。

对输入数据执行CUSUM测试可以是一个快速的方法来确定疫情发生时。CUSUM跟踪两个累计金额:上层和检测在当地意味着向上转移,和较低和检测时,意味着向下转移。集成技术提供CUSUM忽略的能力大(瞬态)传入率激增但仍有稳定的敏感性小率的变化。

与默认参数调用CUSUM将检查第一个25样品的数据和报警当遇到转变意味着超过五个标准差在初始数据。

cusum (dayOverDayCases(1:10 1)传说(“上金额”,和较低的)

图包含一个坐标轴对象。坐标轴对象与标题CUSUM控制图μindexOf t r g e t空白基线空白= 1。0 8 0 0 0 0空白σindexOf t r g e t空白基线空白= 1。6 2 9 7 3 4,包含样本,ylabel标准错误包含6行类型的对象。一个或多个行显示的值只使用这些对象标记代表上层和,较低的金额。

注意CUSUM抓住了错误报告病例在30天(33天),捡起的初始发病疫情开始80天(90天)。如果你仔细比较这些结果与前面的情节,可以看出,CUSUM能够忽略在29天假上升但仍然触发警报5天前大上升趋势开始95天。

如果你调整CUSUM,这样就有一个目标意味着零病例/天的目标加上或者减去3例/天,您可以忽略在30天假警报,拿起爆发92天:

climit = 5;mshift = 1;tmean = 0;tdev = 3;cusum (dayOverDayCases (1:10 0)、climit mshift, tmean, tdev)

图包含一个坐标轴对象。坐标轴对象与标题CUSUM控制图μindexOf t r g e t基线空白= 0。0 0 0 0 0 0空白σindexOf t r g e t空白基线空白= 3。0 0 0 0 0 0,包含样本,ylabel标准错误包含5线类型的对象。一个或多个行显示的值只使用标记

找到一个方差的显著变化

检测突然变化的统计数据的另一种方法是通过changepoint检测、分区一个信号到相邻段统计(如:意思是,方差、斜率等)。每一段内是恒定的。

下一个示例分析尼罗河每年最低水位的公元622年至1281年在开罗附近又计测量。

负载水位计年= 622:1284;情节(年,nileriverminima)标题(“尼罗河每年最低水平”)包含(“年”)ylabel (“水平(m)”)

图包含一个坐标轴对象。坐标轴对象与标题每年最低级别的尼罗河,包含一年,ylabel水平(m)包含一个类型的对象。

建设开始于一个更新更准确的测量设备在公元715年左右。之前,我们知道的不多,这一次,但在进一步检查,您可以看到,有大约722后大大减少可变性。找到一段时间新设备开始运作的时候,你可以搜索最好的改变执行element-wise分化后的均方根水位慢慢删除任何变化趋势。

我= findchangepts (diff (nileriverminima),“统计”,“rms”);甘氨胆酸ax =;xp =[年(我)ax。XLim(2[2])年(我)];yp = ax。YLim ([1 1 2 2]);补丁(xp, yp, [。5。5。5),“FaceAlpha”,0.1)

图包含一个坐标轴对象。坐标轴对象与标题每年最低级别的尼罗河,包含一年,ylabel水平(m)包含2线类型的对象,补丁。

虽然sample-wise分化是一个简单的方法来消除趋势,还有其他更复杂的方法来检验方差在更大的尺度。例如如何执行changepoint检测使用这个数据集,通过小波小波Changepoint检测(小波工具箱)

检测多个输入信号的变化

下一个例子是关于45秒模拟CR-CR四速传输块、采样时间间隔为1毫秒。汽车发动机转速和转矩的仿真数据如下所示。

负载simcarsig次要情节(2,1,2)情节(carTorqueNM)包含(“样本”)ylabel (“转矩(N m)”)标题(“扭矩”次要情节(2,1,1);情节(carEngineRPM)包含(“样本”)ylabel (“速度(RPM)”)标题(发动机转速的)

图包含2轴对象。坐标轴对象1标题扭矩,包含样本,ylabel扭矩(N m)包含一个类型的对象。对象2轴与发动机转速,包含样本,ylabel转速(RPM)包含一个类型的对象。

汽车加速,改变齿轮三次,切换到中立,然后应用刹车。

由于发动机转速可以自然地建模为一系列线性部分,您可以使用findchangepts寻找汽车换档的样本。

图findchangepts (carEngineRPM,“统计”,“线性”,“MaxNumChanges”(4)包含“样本”)ylabel (“发动机转速(RPM)”)

图包含一个坐标轴对象。坐标轴对象与标题changepoints = 4总剩余误差的数量= 342535085.7709,包含样本,ylabel发动机转速(RPM)包含3线类型的对象。

在这里你可以看到四个变化(5线性段)之间,他们发生在10000年,20000年、30000年和40000年的样本。放大的闲置部分波形:

xlim(22000年[18000])

图包含一个坐标轴对象。坐标轴对象与标题changepoints = 4总剩余误差的数量= 342535085.7709,包含样本,ylabel发动机转速(RPM)包含3线类型的对象。

直线拟合密切跟踪输入波形。然而,可以进一步提高。

观察一个多阶段的变化事件之间共享信号

看到改进,增加changepoints 20,并观察附近的装置内的变化改变样本编号为19000

findchangepts (carEngineRPM“统计”,“线性”,“MaxNumChanges”,20)xlim(22000年[18000])

图包含一个坐标轴对象。坐标轴对象与标题的changepoints = 20总剩余误差= 983541.4074包含3线类型的对象。

观察发动机转速开始减少样本19035和19550年在样本解决之前花了510个样本。由于采样间隔是1 ms,这是~ 0.51 s延迟后,是一个典型的时间改变齿轮。

现在看看发动机扭矩在同一地区的changepoints:

findchangepts (carTorqueNM“统计”,“线性”,“MaxNumChanges”,20)xlim(20000年[19000])

图包含一个坐标轴对象。坐标轴对象与标题的changepoints = 20总剩余误差= 435882.0922包含3线类型的对象。

观察发动机扭矩是完全交付给轴在19605年样本,55毫秒后,发动机转速完成结算。这次有关发动机的进气冲程和扭矩之间的延迟生产。

发现当离合器订婚你可以进一步放大信号。

xlim(19050年[19000])

图包含一个坐标轴对象。坐标轴对象与标题的changepoints = 20总剩余误差= 435882.0922包含3线类型的对象。

离合器在样本19011和抑郁(毫秒)成为了大约30个样本完全脱离。

另请参阅

||