robustcov
鲁棒多变量协方差和均值估计
语法
描述
例子
检测异常值使用距离是阴谋
使用高斯相关随机生成数据点的二维分布。
rng默认的ρ= [1,0.05,0.05,1];u = copularnd (“高斯”ρ,50);
修改5个随机选择的观测异常值。
噪音= randperm (50, 5);u(噪音,1)=(噪音,1)* 5;
计算出健壮的协方差矩阵使用方法:三个Fast-MCD,使正交化Gnanadesikan-Kettenring (OGK)和Olive-Hawkins。
[Sfmcd, Mfmcd dfmcd Outfmcd] = robustcov (u);[Sogk, Mogk dogk Outogk] = robustcov (u,“方法”,“ogk”);[Soh,卫生部,哎,Outoh] = robustcov (u,“方法”,“olivehawkins”);
计算样本数据使用经典的距离值测量。
d_classical = pdist2 (u,意味着(u),“泰姬陵”);p =大小(u, 2);chi2quantile =√chi2inv (0.975, p));
创建DD情节为每一个健壮的协方差的计算方法。
tiledlayout (2, 2) nexttile情节(d_classical dfmcd,“o”)([chi2quantile, chi2quantile], [0, 30],“颜色”,“r”)([0,6],[chi2quantile chi2quantile],“颜色”,“r”)举行在情节(d_classical (Outfmcd) dfmcd (Outfmcd),' r + ')包含(“Mahalanobis距离”)ylabel (“健壮的距离”)标题(“DD情节,FMCD方法”)举行从nexttile情节(d_classical dogk,“o”)([chi2quantile, chi2quantile], [0, 30],“颜色”,“r”)([0,6],[chi2quantile chi2quantile],“颜色”,“r”)举行在情节(d_classical (Outogk) dogk (Outogk),' r + ')包含(“Mahalanobis距离”)ylabel (“健壮的距离”)标题(“DD情节,OGK方法”)举行从nexttile情节(d_classical,哎,“o”)([chi2quantile, chi2quantile], [0, 30],“颜色”,“r”)([0,6],[chi2quantile chi2quantile],“颜色”,“r”)举行在情节(d_classical (Outoh),哎(Outoh),' r + ')包含(“Mahalanobis距离”)ylabel (“健壮的距离”)标题(“DD情节,Olive-Hawkins方法”)举行从
DD情节,数据点往往集中在一条直线,经过原点。点远离这条线通常被认为是离群值。在先前的每一个情节,红色的“+”符号表示的数据点robustcov
认为是离群值。
评估多元正态分布的数据
这个例子展示了如何使用robustcov
评价样本数据多元正态或其他elliptically-contoured (EC)分布。
生成随机样本数据的多元正态分布。计算的协方差估计的Mahalanobis距离(使用Olive-Hawkins方法)和经典的协方差估计。
rng (“默认”)x1 = mvnrnd (0 (1,3), (3), 200);[~,~,d1] = robustcov (x1,“方法”,“olivehawkins”);d_classical1 = pdist2 (x1,意味着(x1)、“mahalanobis”);
生成随机样本数据从一个elliptically-contoured (EC)分布。计算的协方差估计的Mahalanobis距离(使用Olive-Hawkins方法)和经典的协方差估计。
mu1 = (0 0 0);sig1 =眼(3);mu2 = (0 0 0);sig2 = 25 *眼(3);x2 = [mvnrnd (mu1 sig1,120); mvnrnd (mu2 sig2 80)];(~,~,d2) = robustcov (x2,“方法”,“olivehawkins”);d_classical2 = pdist2 (x2,意味着(x2),“mahalanobis”);
生成随机样本数据从一个多元对数正态分布,既不是多元正态或elliptically-contoured。计算的协方差估计的Mahalanobis距离(使用Olive-Hawkins方法)和经典的协方差估计。
x3 = exp (x1);(~,~,d3) = robustcov (x3,“方法”,“olivehawkins”);d_classical3 = pdist2 (x3,意味着(x3),“mahalanobis”);
创建一个d d情节的三组样本数据进行比较。
图次要情节(2 2 1)情节(d_classical1 d1,“o”)线(4.5[0],[0,4.5])包含(“Mahalanobis距离”)ylabel (“健壮的距离”)标题(“DD情节,多元正态”次要情节(2,2,2)情节(d_classical2, d2,“o”)线(18[0],[0,18])包含(“Mahalanobis距离”)ylabel (“健壮的距离”)标题(“DD情节,Elliptically-Contoured”次要情节(2,2,3)情节(d_classical3、d3、“o”)线(18[0],[0,18])包含(“Mahalanobis距离”)ylabel (“健壮的距离”)标题(DD的阴谋,200例对数正态的)
多元正态分布的数据(如左上角所示),绘制点直,45度线从原点。数据与一个elliptically-contoured分布(见右上角),绘制点跟随一条直线,但并不在一个45度角到原点。为对数正态分布(见左下),绘制点不遵循一条直线。
很难找出任何模式的对数正态分布的阴谋,因为大多数点左下的阴谋。使用加权DD阴谋放大这个角落和揭示特性模糊当大型健壮的距离存在。
d3_weighted = d3 (d3 <√chi2inv (0.975, 3)));d_classical_weighted = d_classical3 d3 <√chi2inv (0.975, 3)));
添加第四个次要情节的图显示结果加权处理对数正态分布的数据。
次要情节(2,2,4)情节(d_classical_weighted d3_weighted,“o”3)线([0]、[0,3])包含(“Mahalanobis距离”)ylabel (“健壮的距离”)标题(“加权DD情节,200例对数正态”)
情节上的规模表明,它代表的放大视图的原始DD情节对数正态数据。这个观点更清楚地显示了缺乏情节的模式,这表明多元正态和椭圆轮廓数据。
计算的协方差和情节的离群值
使用高斯相关随机生成数据点的二维分布。
rng默认的ρ= [1,0.05,0.05,1];u = copularnd (“高斯”ρ,50);
修改5个随机选择的观测异常值。
噪音= randperm (50, 5);u(噪音,1)=(噪音,1)* 5;
利用散点图可视化二元数据。
图散射(u (: 1), (2):,)
大部分的数据出现在左边的阴谋。然而,一些数据点的出现进一步向右。这些点可能的异常值,可能影响的协方差矩阵计算。
比较经典的和健壮的协方差矩阵。
c = x (u)
c =2×20.5523 0.0000 0.0000 0.0913
rc = robustcov (u)
rc =2×20.1117 0.0364 0.0364 0.1695
经典的和健壮的协方差矩阵不同,因为样本数据中出现的异常值影响的结果。
识别和情节的数据点robustcov
认为离群值。
(团体、μmah、异常值)= robustcov (u);图gscatter (u (: 1), u(:, 2),离群值,“品牌”,“牛”)({传奇“不是离群值”,“离群值”})
robustcov
确定数据点右侧的情节作为潜在的离群值,并相应地对协方差矩阵在计算强劲。
输入参数
x
- - - - - -样本数据
矩阵的数值
样本数据用于估计的协方差矩阵,指定为一个矩阵的数值。x
是一个n——- - - - - -p矩阵每一行是一个观察和每一列是一个变量。
robustcov
删除任何行与失踪的预测的值在计算健壮的协方差矩阵。
数据类型:单
|双
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“方法”、“ogk’,‘NumOGKIterations’, 1
指定的估计量,使正交化Gnanadesikan-Kettenring方法和正交化的迭代的数量设置为1。
方法
- - - - - -鲁棒估计量
“fmcd”
(默认)|“ogk”
|“olivehawkins”
健壮的估计量,指定为以下之一。
的名字 | 价值 |
---|---|
“fmcd” |
FAST-MCD(协方差最小行列式)方法 |
“ogk” |
使正交化Gnanadesikan-Kettenring (OGK)估计 |
“olivehawkins” |
浓度算法技术,一个家庭的快速、一致和高度outlier-resistant方法 |
例子:“方法”、“ogk”
OutlierFraction
- - - - - -离群值分数
0.5(默认)|数值范围在[0,0.5)
离群值分数,指定为逗号分隔组成的“OutlierFraction”
和一个数值范围(0,0.5)。的值1 -OutlierFraction指定的部分观察协方差最小化的行列式。
该算法选择子样品的大小h=上限(n+p+ 1)/ 2),在那里n是观察和的数量吗p是尺寸的数量。OutlierFraction
最大的价值是可能的崩溃,并控制子集的大小h协方差的行列式是最小化。然后选择算法h约等于(1 -OutlierFraction)×n观察每个子集。
例子:“OutlierFraction”, 0.25
数据类型:单
|双
NumTrials
- - - - - -数量的试验
正整数的值
试验的数量,指定为逗号分隔组成的“NumTrials”
和一个正整数价值。
如果“方法”
是“fmcd”
,然后NumTrials
是随机样本的数量的大小(p+ 1)来自样例数据起始点的算法。p是样本数据的维数。在这种情况下,默认值为NumTrials
是500。
如果“方法”
是“olivehawkins”
,然后NumTrials
是试验的数量,或流动,使用。在这种情况下,默认值为NumTrials
是2。此选项只适用于不确定的开始。
例子:“NumTrials”, 300年
数据类型:单
|双
BiasCorrection
- - - - - -国旗应用小校正系数
1
(默认)|0
国旗应用小校正因子,指定为逗号分隔组成的“BiasCorrection”
,要么1
或0
。一个1
值表示robustcov
纠正偏差的小样本的协方差估计。一个0
值表示robustcov
不适用这个修正。
例子:“BiasCorrection”, 0
数据类型:逻辑
NumOGKIterations
- - - - - -正交化的迭代次数
2(默认)|正整数的值
正交化的迭代的数量,指定为逗号分隔组成的“NumOGKIterations”
和一个正整数价值。一般情况下,这个值设置为1或2,进一步措施不太可能改善估计。
例子:“NumIter”, 1
数据类型:单
|双
UnivariateEstimator
- - - - - -函数计算一元的可靠估计
“tauscale”
(默认)|“qn”
函数计算一元的可靠估计,指定为逗号分隔组成的“UnivariateEstimator”
和一个以下。
的名字 | 价值 |
---|---|
“tauscale” |
使用“tau-scale”估计Yohai Zamar,这是一个截断标准差和加权的意思。 |
“qn” |
使用Qn规模估计Croux Rousseeuw。 |
例子:“UnivariateEstimator”、“qn”
ReweightingMethod
- - - - - -重新调整方法
“rfch”
(默认)|“rmvn”
方法在效率步骤中,重新指定为逗号分隔组成的“ReweightingMethod”
和一个以下。
的名字 | 价值 |
---|---|
“rfch” |
使用两个权重的步骤。这是一个标准的权重来提高效率的方法。 |
“rmvn” |
再加权多元正态。使用两个步骤可以用于重新估计的协方差矩阵在各种异常配置当清洁数据多元正态。 |
例子:“ReweightingMethod”、“rmvn”
NumConcentrationSteps
- - - - - -数浓度的步骤
10(默认)|正整数的值
数浓度的步骤,指定为逗号分隔组成的“NumConcentrationSteps”
和一个正整数价值。
例子:“NumConcentrationSteps”, 8
数据类型:单
|双
StartMethod
- - - - - -Start方法为每一个吸引子
“经典”
(默认)|“medianball”
|“元素”
|函数处理|单元阵列
Start方法对于每一个吸引子,指定为逗号分隔组成的“开始”
和一个以下。
的名字 | 价值 |
---|---|
“经典” |
使用经典的估计量作为开始。这是DGK吸引子,自己使用,被称为DGK估计量。 |
“medianball” |
使用中球作为开始。中位数球(地中海(x)、眼睛(p)) 。所以50%的病例在欧几里得距离最远的样本值是计算MB开始修剪。这是MB吸引子,自己使用,被称为MB估计量。 |
“元素” |
浓度产生的吸引子是一开始是一个随机选择的元素开始的地方:经典估计应用到随机选择的“基本设置”p + 1例。这“元素”吸引子是计算有效,但存在理论缺陷,因为它是不一致的和零故障。 |
默认情况下,吸引子选择如下:如果一个吸引子“medianball”
,那么任何吸引子的位置估计更大的欧几里得距离中位数(X)
超过一半的数据(换句话说,在中间球)是不习惯。然后最后的吸引子是选择基于MCD标准。
您还可以指定一个函数处理为一个函数,返回两个输出参数用于计算初始位置和分散估计. .
你也可以指定一个包含的任意组合单元阵列在前面给出的选项表和函数处理。使用的流动数量等于单元阵列的长度。这个选项允许更好地控制算法和指定一个自定义的能力数量的流动和开始。
例子:“StartMethod”、“medianball”
输出参数
团体
——强大的协方差矩阵的估计
数字矩阵
健壮的协方差矩阵估计,作为一个返回p——- - - - - -p数字矩阵。p是包含在样本数据预测的数量。
μ
——强劲的意思是估计
数组的数值
健壮的平均估计,作为1 -返回p数组的数值。p是包含在样本数据预测的数量。
mah
——健壮Mahalanobis距离
数组的数值
健壮的Mahalanobis距离,返回1 -n数组的数值。robustcov
删除任何行x
含有缺失数据,所以的行数mah
可能是小于的行数x
。
离群值
——指数的异常值
逻辑值的数组
指标的观察保留样本数据的离群值x
,返回1 -n逻辑值的数组。一个0
值表示观察不是局外人。一个1
值表明,观察是一个异类。
robustcov
删除任何行x
含有缺失数据,所以的行数离群值
可能是小于的行数x
。
年代
——结构包含估计信息
结构
结构包含估计信息,作为一个结构返回。
更多关于
Mahalanobis距离
Mahalanobis距离是衡量样本点和分布。
的距离向量x与的意思是一个分布μ和协方差Σ是
是多远的距离x从标准差的平均数量。
robustcov
返回健壮Mahalanobis距离(mah
从观察)x
分布的意思μ
和协方差团体
。
算法
协方差最小行列式估计
协方差最小行列式(MCD)的多元位置和散射是最快的估计量是一致的和鲁棒性。然而,准确的评估MCD是不切实际的,因为它是需要大量的计算,评估所有可能的示例数据的子集。robustcov
使用FAST-MCD方法来实现[3]
FAST-MCD方法选择h观察的n(n/ 2 <h≤n)的经典协方差矩阵的行列式尽可能低的。MCD均值的均值h选择的观察。
MCD协方差的协方差矩阵h选择的点,乘以一个一致性的因素获得多元正态分布的一致性,和校正因子在小样本大小纠正偏差。
使正交化Gnanadesikan-Kettenring估计
使正交化Gnanadesikan-Kettenring(OGK)估计是正定的估计散射从格纳纳德西肯和凯特灵(门将)估计,一个成对健壮可能是非正值定的散射矩阵[1]。估计使用一种主成分称为成对散射矩阵正交化迭代,取代其特征值,这可能是负的,健壮的方差。这个过程可以迭代改进结果,融合通常2或3的迭代后得到。
橄榄霍金斯估计
Olive-Hawkins估计使用橄榄油和霍金斯提出的“浓度算法”技术。这是一个家庭的快速、一致和高度outlier-resistant方法。估计是一个健壮的根n-consistent估计量的协方差为椭圆轮廓分布第四时刻。这估计是首先生成试验获得的估计,或开始,然后从每个试验适合使用浓度技术获得流动。
假设(T0jC0j)只是一个开始,然后在下一次迭代经典的均值和协方差估计大约的计算吗n/ 2情况下(n是观测的数量)和最小的Mahalanobis距离的基础上,从上一次迭代估计。这个迭代可以持续固定数量的步骤k在最后一步,估计,k,被吸引子。最后的估计是基于给定的选择标准。
默认情况下,使用两个流动。第一个吸引子是Devlin-Gnanadesikan-Kettering (DGK)吸引子,开始使用经典的估计量。第二个吸引子是中间球(MB)吸引子,开始使用在哪里(中位数(x)、眼睛(p))
换句话说,接近一半的一组数据中位数(x)
在欧氏距离。使用MB吸引子的位置估计DGK之外的吸引子是球,中位数和最小行列式的吸引子。最后的意思估计是均值估计的选择吸引子,和最后的协方差估计的协方差估计选择吸引子,乘以一个比例因子,使正态分布估计一致。
引用
[1]Maronna, r和Zamar R.H . .“强劲的估计位置和高维数据集分散。”技术计量学,50卷,2002年。
第一道[2],s . Van Aelst和g·斯。“小样本修正LTS和统治地位。”Metrika,55卷,2002年。
[3]Rousseeuw P.J.和Van Driessen, k .“协方差最小行列式估计的快速算法。”技术计量学41卷,1999年。
[4]橄榄,这位“多元的耐药估计位置和分散。”计算统计和数据分析,46卷,第102 - 99页,2004年。
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2016a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。