主要内容

PPCA

概率主成分分析

描述

例子

[COEFF.分数PCVAR.] = PPCA(yK.返回主成分系数N-经过-P.数据矩阵y基于A.概率主成分分析(PPCA)。它还返回主要成分分数,这是表示的y在主成分空间和主要成分方差,这是协方差矩阵的特征值y, 在PCVAR.

每列COEFF.包含一个主组件的系数,并且列处于组件方差的降序。行分数对应于观察,并且列对应于组件。行y对应于观察和列对应于变量。

概率主成分分析可能优于处理缺失数据的其他算法,例如当任何数据向量具有一个或多个缺失值时,诸如交替的最小二乘算法。它假设通过数据集随机缺少值。期望最大化算法用于完整和缺少数据。

例子

[COEFF.分数PCVAR.] = PPCA(yK.名称,价值返回主要组件系数,分数和差异,用于使用一个或多个指定的特殊数据类型的计算和处理特殊数据类型名称,价值对论点。

例如,您可以引入残差方差的初始值,V.,或改变终止标准。

例子

[COEFF.分数PCVAR.] = PPCA(___还返回每个变量的估计平均值y。您可以使用先前语法中的任何输入参数。

例子

[COEFF.分数PCVAR.V.S.] = PPCA(___还返回各向同性的残差方差V.并且在结构中收敛的最终结果S.

例子

全部收缩

加载样本数据。

加载渔民

双矩阵测定由花朵上的四种类型的测量组成,分别是萼片和花瓣的长度和宽度。

随机引入缺失值。

y = meas;RNG('默认');重复性的%ix =随机('unif',0,1,尺寸(y))<0.20;Y(ix)= nan;

现在,大约20%的数据丢失,所示

执行概率主成分分析并请求组件系数和差异。

[Coeff,得分,PCVAR,MU] = PPCA(Y,3);COEFF.
Coeff =4×30.3562 0.6709 -0.5518 -0.0765 0.7120 0.6332 0.8592 -0.1597 0.0596 0.3592 -0.1318 0.5395
PCVAR.
PCVAR =3×14.0914 0.2125 0.0617

使用交替的最小二乘算法执行主成分分析,并请求组件系数和差异。

[COEFF2,得分2,PCVAR2,MU2] = PCA(Y,'算法''als'......'numcomponents',3);COEFF2.
COEFF2 =4×30.3376 0.4952 0.7406 -0.0731 0.8609 -0.4476 0.8657 -0.1168 -0.1233 0.3623 -0.0086 -0.4857
PCVAR2.
pcvar2 =3×14.0733 0.2652 0.1222

第一两个主成分的系数和差异是相似的。

比较结果的另一种方法是在系数向量跨越的两个空格之间找到角度。

子空间(Coeff,Coeff2)
ans = 0.0884.

两个空间之间的角度很小。这表明这两个结果彼此接近。

加载样本数据集。

加载进口-85.

数据矩阵X在第3栏中有13个连续变量:轮基,长度,宽度,高度,遏制重量,发动机尺寸,孔,行程,压缩比,马力,峰值 - RPM,城市MPG和高速公路 - MPG。变量孔和笔划缺少四行56到59中的四个值,并且变量马力和峰值-RPM缺少行131和132中的两个值。

执行概率主成分分析并显示前三个主组件。

[coeff,score,pcvar] = ppca(x(:,3:15),3);
警告:达到的最大迭代次数为1000。

将成本函数的终端公差更改为0.01。

opt = statset('ppca');opt.tolfun = 0.01;

执行概率主成分分析。

[coeff,score,pcvar] = ppca(x(:,3:15),3,'选项',选择);
警告:达到的最大迭代次数为1000。

PPCA现在在达到最大迭代次数之前终止,因为它符合成本函数的容差。

加载样本数据。

加载halY =成分;

成分数据有4个变量有13个观察结果。

向数据引入缺失的值。

Y(2:16:结束)=南;

每16个价值都是。这对应于数据的7.69%。

使用PPCA查找数据的前三个主成分并显示重建的观察。

[Coeff,Score,PCVAR,MU,V,S] = PPCA(Y,3);
警告:达到的最大迭代次数为1000。
s.recon.
ans =.13×4.6.8536 25.8700 5.8389 59.8730 1.0433 28.9710 14.9654 51.9738 11.5770 56.5067 8.6352 20.5076 11.0835 31.0722 8.0920 47.0748 7.0679 52.2556 6.0748 33.0598 11.0486 55.0430 9.0534 22.0423 2.8493 70.8691 16.8339 5.8656 1.0333 31.0281 19.6907 44.0306 2.0400 54.0354 18.0440 22.0349 20.7822 46.8091 3.7603 25.8081⋮

您还可以使用主成分和估计平均值重建观察。

t =得分* coeff'+ repmat(mu,13,1);

加载数据。

加载hal

这里,配料是一种真实值的预测变量矩阵。

执行概率主组件分析和显示系数。

[Coeff,Score,PCVariance,MU,V,S] = PPCA(成分,3);
警告:达到的最大迭代次数为1000。
COEFF.
Coeff =4×3-0.0693 -0.6459 0.5673 -0.6786 -0.0184 -0.5440 0.0308 0.7552 0.4552 0.4306 -01102 -0.4684

显示算法导致PPCA收敛的结果。

S.
S =结构与字段:W:[4x3 DOUBLE] XEXP:[13x3双] RECH:[13x4 DOUBLE] V:0.2372 NUMITER:1000 RMSRESID:0.2340 NLOGLK:149.3388

显示矩阵W.

S.W.
ans =.4×30.5624 2.0279 5.45.8320 -10.3894 5.9202 -3.7521 -3.0555 -4.1552 -1.5144 11.7122 -7.2564

正交化W.恢复系数。

orth(s.w)
ans =.4×3-0.0693 0.6459 0.5673 -0.6786 0.0184 -0.5440 0.0308 -0.7552 0.4036 0.7306 0.1102 -0.4684

输入参数

全部收缩

输入数据,用于计算主要组件,指定为一个N-经过-P.矩阵。行y对应于观察和列对应于变量。

数据类型:单身的|双倍的

要返回的主成分数,指定为小于数据等级的整数值。最大可能等级是min(NP.), 在哪里N是观察人数和P.是变量的数量。但是,如果数据相关,则排名可能小于min(NP.)。

PPCA根据其方差订购组件。

如果K.是min(NP.),PPCAK.等于min(NP.) - 1,和'w0'被截断到min(P.N) - 如果指定a,则为1列P.-经过-P.W0.矩阵。

例如,您只能根据组件方差请求前三个组件,如下所示。

例子:coeff = ppca(y,3)

数据类型:单身的|双倍的

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'w0',init,'选项',选择指定初始值'w0'是矩阵在里面PPCA使用所定义的选项选择

初始价值W.在里面概率主成分分析算法,指定为逗号分隔对组成'w0'A.P.-经过-K.矩阵。

数据类型:单身的|双倍的

残差方差的初始值,指定为逗号分隔对组成'v0'和正标量值。

数据类型:单身的|双倍的

迭代选项,指定为逗号分隔对'选项'和由此产生的结构实例化功能。PPCA使用选项结构中的以下字段。

'展示' 显示输出水平。选择是'离开''最终的', 和'iter'
'maxiter' 最大允许的步数。默认值为1000.与优化设置不同,达到maxiter.价值被视为融合。
'tolfun' 正整数阐述了成本函数的终止差异。默认为1E-6。
'tolx' 正整数说明了元素中相对变化的收敛阈值W.。默认为1E-6。

您可以更改这些字段的值并指定新结构PPCA使用'选项'名称值对参数。

例子:选择= statset('ppca');opt.maxiter = 2000;coeff = ppca(y,3,'选项',选择);

数据类型:塑造

输出参数

全部收缩

主成分系数,作为a返回P.-经过-K.矩阵。每列COEFF.包含一个主组件的系数。列按降序组件方差顺序,PCVAR.

主要成分分数,作为一个返回N-经过-K.矩阵。行分数对应于观察,并且列对应于组件。

主成分差异,即协方差矩阵的特征值y,作为列向量返回。

每个变量的估计平均值y,作为一排矢量返回。

各向同性的残余方差,作为标量值返回。

收敛的最终结果,作为包含以下字段的结构返回。

W. W.在收敛时。
XEXP. 估计潜变量的条件期望X
recon 重建观察使用K.主要成分。这是输入数据的低尺寸近似值y,等于+分数*Coeff'
V. 残余方差。
RMSRESID. 残留的均方根平方。
数量 迭代计数的数量。
nloglk. 否定loglikeliach函数值。

更多关于

全部收缩

概率主成分分析

概率主成分分析(PPCA)是在任何数据向量具有一个或多个缺失值时估计主轴的方法。

PPCA基于各向同性误差模型。它旨在涉及一个P.- 一维观察向量y到相应的K.- 潜伏(或未观察)变量的维护X,这与平均零和协方差我是正常的(K.)。这种关系是

y T. = W. * X T. + μ. + ε.

在哪里y是观察变量的行矢量,X是潜在变量的行矢量,和ε.是各向同性的错误术语。ε.高斯是平均零和协方差的V.*一世(K.), 在哪里V.是残余方差。这里,K.需要小于剩余方差的等级大于0(V.> 0)。标准主成分分析,其中残留方差为零,是PPCA的限制情况。观察到的变量,y,有条件地独立于鉴于潜在变量的值,X。因此,潜在变量解释了观察变量与误差之间的相关性解释了特定的可变性y一世。这P.-经过-K.矩阵W.涉及潜在和观察变量和向量μ.允许模型具有非零均值。PPCA假设通过数据集随机丢失值。这意味着在给定观察到的数据值的情况下,数据值是否丢失或不依赖于潜在变量。

在这个模型下,

y N. μ. W. * W. T. + V. * 一世 K.

没有封闭式的分析解决方案W.V.此外,它们的估计由使用期望最大化(EM)算法的相应Loglikelihip的迭代最大化来确定。该EM算法通过将其视为额外的潜变量来处理缺失的值。在收敛处,列W.跨越子空间,但它们不是正交的。PPCA获得正常系数,COEFF.,通过正交化的组件W.

参考

[1]倾翻,M. E.和C. M.主教。概率主成分分析。皇家统计社会杂志。B系列(统计方法),Vol。61,3,1999,pp。611-622。

[2] Roweis,S.“PCA和SPCA的EM算法”。在1997年的神经信息处理系统进步会议上的诉讼中。Vol.10(NIPS 1997),剑桥,马,美国:MIT Press,1998,PP。626-632。

[3] Ilin,A.和T. Raiko。“存在缺失值存在的主要成分分析的实用方法。”J. Mach。学。res。。卷。11,2010年8月,PP。1957-2000。

在R2013A介绍