主要内容

ischange

发现数据的突然变化

描述

例子

特遣部队= ischange (一个返回元素为逻辑的逻辑数组1真正的)当出现突然性时改变的相应元素的平均值一个

例子

特遣部队= ischange (一个方法指定如何定义数据中的更改点。例如,ischange (A,“方差”)的元素方差中发现突变一个

例子

特遣部队= ischange (___昏暗的的维度。一个对前面的语法进行操作。例如,ischange (2)为矩阵的每一行计算更改点一个

例子

特遣部队= ischange (___名称,值指定使用一个或多个名称-值参数查找变更点的附加参数。例如,ischange(“MaxNumChanges”,米)检测不超过变化点。

例子

特遣部队S1= ischange(___还返回关于变更点之间的线段的信息。例如,[TF,S1] = ischange(A)返回一个向量S1包含一个向量的变化点之间数据的平均值一个

例子

特遣部队S1S2= ischange(___返回关于变更点之间的线段的附加信息。例如,[TF,S1,S2] = ischange(A)返回一个向量S1它包含了每一段的平均值,以及一个向量S2它包含向量中每一段的方差一个

例子

全部折叠

创建一个噪声数据向量,并计算数据平均值的突变。

=[(1、5)的25 * 50的(1、5)* 1(1、5)]+兰德(15);TF = ischange(A)
TF =1x15逻辑阵列0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

要计算更改点之间数据的平均值,请指定第二个输出参数。

[TF,S1] = ischange(A);情节(,‘*’)举行楼梯(S1)传说(“数据””段的意思是“位置”“西北”

图中包含一个轴对象。axis对象包含line、stair类型的2个对象。这些对象代表数据、段均值。

创建一个噪声数据向量,并计算数据的斜率和截距的突变。设置较大的检测阈值可以减少由于噪声而检测到的变更点的数量。

A =[0(1100) 1:10 99:-1:50 50* 1(1,250)] + 10*兰特(1,500);[TF,S1,S2] = ischange(A,“线性”“阈值”, 200);segline = S1.*(1:500) + S2;情节(1:50 0、1:50 0 segline)传说(“数据”“线性政权”

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示数据,线性区域。

作为提供阈值的替代方法,您还可以指定要检测的变更点的最大数量。

[TF,S1,S2] = ischange(A,“线性”“MaxNumChanges”3);

计算一个矩阵的每一行的平均值的突变。

A = diag(25*ones(5,1)) + rand(5,5))
一个=5×525.8147 0.0975 0.1576 0.1419 0.6557 0.9058 25.2785 0.9706 0.4218 0.0357 0.1270 0.5469 25.9572 0.9157 0.8491 0.9134 0.9575 0.4854 25.7922 0.9340 0.6324 0.9649 0.8003 0.9595 25.6787
TF = ischange(A,2)
TF =5x5逻辑阵列0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 1

输入参数

全部折叠

输入数据,指定为矢量、矩阵、多维数组、表格或时间表。

数据类型:||表格|时间表

更改检测方法,指定为以下值之一:

  • “的意思是”-发现数据平均值的突变。

  • “方差”-发现数据方差的突变。

  • “线性”-发现数据斜率和截距的突变。

操作维度,指定为正整数标量。如果未指定值,则默认为第一个大小不等于1的数组维数。

考虑一个——- - - - - -n输入矩阵,一个

  • ischange (1)的每一列数据检测变更点一个并返回——- - - - - -n矩阵。

    ischange(A,1)逐列操作

  • ischange (2)的每一行中的数据检测变更点一个并返回——- - - - - -n矩阵。

    ischange(A,2)逐行操作

对于表格或时间表输入数据,昏暗的不支持,操作将金宝app分别沿着每个表或时间表变量进行。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:TF = ischange(A,'MaxNumChanges',5)

数据选项

全部折叠

样本点,指定为样本点值的向量,如果输入数据是表格,则指定为下表中的选项之一。样本点代表x数据的-轴位置,并且必须排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]是默认值。

当输入数据是一个表时,您可以使用以下选项之一将样本点指定为表变量:

表格输入选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

“Var1”

“Var1”

标量变量索引

标量表变量索引

3.

逻辑向量

一种逻辑向量,其每个元素对应于一个表变量,其中真正的指定相应的变量作为样本点,所有其他元素都是

[真假假]

函数处理

接受表变量作为输入并返回逻辑标量(必须为)的函数句柄真正的仅用于一个表变量

@isnumeric

vartype下标

类生成的表下标vartype仅为一个变量返回下标的函数

vartype(数字)

请注意

输入数据为时,不支持此名称-值参数金宝app时间表.时间表使用行时间向量作为样本点。若要使用不同的抽样点,必须编辑时间表,使行时间包含所需的抽样点。

例子:ischange([1 2 3 4 5 6],'linear','SamplePoints',[1 2 3 10 20 30])

例子:ischange (T,“线性”,“SamplePoints”,“Var1”)

数据类型:||datetime|持续时间

要操作的表变量,指定为此表中的选项之一。的DataVariablesValue指示要检查输入表的哪些变量以寻找更改点。与指定变量关联的数据类型必须为

第一个输出特遣部队包含对于未指定的变量DataVariables除非OutputFormat“表格”

选项 描述 例子
变量名

指定单个表变量名的字符向量或字符串标量

“Var1”

“Var1”

变量名向量

字符向量或字符串数组的单元格数组,其中每个元素都是一个表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

变量指标的标量或向量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

一种逻辑向量,其每个元素对应于一个表变量,其中真正的包括相应的变量和不包括它

[真真假假]

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄

@isnumeric

vartype下标

类生成的表下标vartype函数

vartype(数字)

例子:ischange(T,'数据变量',["Var1" "Var2" "Var4"])

输出数据类型,指定为以下值之一:

  • “逻辑”—对于表格或时间表输入数据,返回输出特遣部队作为一个逻辑数组。

  • “表格”—对于表输入数据,返回输出特遣部队作为一张桌子。对于时间表输入数据,返回输出特遣部队作为一个时间表。

对于向量、矩阵或多维数组输入数据,OutputFormat不支持。金宝app

例子:ischange (T, OutputFormat”、“表格”)

更改点选项

全部折叠

更改点阈值,指定为非负标量。将阈值增加到大于1会产生更少的变更点。

该阈值决定了检测到的变更点的数量,在以下情况下不能指定MaxNumChanges都是确定的。

要检测的变更点的最大数量,指定为正整数标量。ischange使用不超过变更点指定值的自动阈值,因此阈值当不能指定时MaxNumChanges都是确定的。

输出参数

全部折叠

更改点指示符,以矢量、矩阵、多维数组、表或时间表的形式返回。

特遣部队尺寸和一个除非OutputFormat“表格”.如果的值OutputFormat“表格”,然后特遣部队的变量DataVariables指定。

数据类型:逻辑

变化点之间数据的平均值或斜率,以矢量、矩阵、多维数组、表格或时间表的形式返回。

  • 如果变更点检测方法为“的意思是”“方差”,然后S1包含每个段的平均值。

  • 如果方法是“线性”,然后S1包含每段的斜率。

S1具有与输入数据相同的类型。

数据类型:||表格|时间表

变更点之间数据的方差或截距,以矢量、矩阵、多维数组、表格或时间表的形式返回。

  • 如果变更点检测方法为“的意思是”“方差”,然后S2包含每个段的方差。

  • 如果方法是“线性”,然后S2包含每个段的截距。

S2具有与输入数据相同的类型。

数据类型:||表格|时间表

更多关于

全部折叠

变化点

一个数据向量一个如果可以分成两个部分,则包含更改点一个1而且一个2这样

C 一个 1 + C 一个 2 + τ < C 一个

τ 阈值是否由阈值参数,C表示代价函数。

例如,用于检测平均值突变的代价函数为 C x N var x ,在那里N向量的元素个数是多少x.成本函数衡量的是一个段的近似值是多少。

ischange迭代最小化代价函数的和,以确定更改点的数量k以及它们的位置

C 一个 1 + C 一个 2 + ... + C 一个 k + k τ < C 一个

参考文献

基利克·R, p·费恩海德,内务部·a·埃克利。“用线性计算代价对变化点进行最佳检测。”美国统计协会杂志.Vol. 107, no . 500, 2012, pp.1590-1598。

扩展功能

版本历史

在R2017b中引入

全部展开

另请参阅

功能

实时编辑任务