主要内容

合适的正交回归使用主成分分析

这个例子展示了如何使用主成分分析(PCA)适合线性回归。PCA的垂直距离最小化数据拟合模型。这是线性的情况被称为正交回归或总体最小二乘法,并适当在没有自然区分预测和响应变量,或者当所有变量测量误差。这与通常的回归假设预测变量测量准确,并只响应变量有一个错误组件。

例如,给定两个数据向量x和y,可以符合一条线,最大限度地减少垂直距离的每一个点(x(我),(我)线。更普遍的是,与p观察到的变量,你可以适应一个r-dimensional p-dimensional空间中的超平面(r < p)。选择相当于选择组件的数量保持在PCA。可能是基于预测误差,也可能仅仅是一个务实的选择,以减少数据可控数量的维度。

在这个例子中,我们通过一些适合一个平面和一行三个观测变量数据。很容易为任意数量的变量做同样的事情,任何尺寸的模型,虽然可视化适合高维显然并不简单。

拟合平面三维数据

首先,我们生成一些小正常数据的例子。的两个变量是相当强烈相关。

rng (5“旋风”);X = mvnrnd ([0 0 0], [1。2。7;2 1 0;1:8 0 1],50);plot3 (X (: 1) X (:, 2), X (:, 3),“波”);网格;maxlim = max (abs (X (:))) * 1.1;轴([-maxlim maxlim -maxlim maxlim -maxlim maxlim]);轴广场视图(9、12);

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

接下来,我们使用PCA适合飞机的数据。前两个主分量的系数定义平面的向量形式的基础。第三个人电脑是前两个正交,及其系数定义平面的法向量。

[多项式系数,分数,根]= pca (X);基础=多项式系数(:1:2)
基础=3×20.6774 -0.0790 0.2193 0.9707 0.7022 -0.2269
正常=多项式系数(:3)
正常=3×10.7314 -0.0982 -0.6749

这就是所有。但让我们深入了解一下结果,画出合适的数据。

因为前两个组件解释的方差两个维度的数据是可能的,飞机是最好的二维线性近似的数据。同样,第三个组件解释了最少的变化数据,误差项的回归。PCA的潜在根源(或特征值)定义解释方差为每个组件的数量。

pctExplained =根”。/(根)和
pctExplained =1×30.6226 0.2976 0.0798

第一主成分得分的两个坐标给每个点到平面的投影,坐标系的平面。得到的坐标拟合点的原始坐标系统,我们每个电脑系数向量乘以相应的分数,并添加数据的均值。残差只是原始数据减去安装点。

(氮、磷)= (X)大小;meanX =意味着(X, 1);Xfit = repmat (meanX n 1) +得分(:1:2)*多项式系数(:,1:2)”;残差= X - Xfit;

拟合平面的方程,满足每一个安装点Xfit,是(((x1, x2) x3) - meanX) *正常= 0。飞机穿过点meanX,它的垂直距离原点meanX *正常。每个点的垂直距离X飞机,即。,the norm of the residuals, is the dot product of each centered point with the normal to the plane. The fitted plane minimizes the sum of the squared errors.

错误= abs ((X - repmat (meanX n 1)) *正常);上交所=总和(错误。^ 2)
上交所= 15.5142

符合形象化,我们可以画出平面,原始数据,投影到平面上。

[xgrid, ygrid] = meshgrid (linspace (min (X(: 1))马克斯(X (: 1)), 5),linspace (min (X(:, 2))马克斯(X (:, 2)), 5));zgrid =(1 /正常(3))* (meanX *正常——(xgrid。*正常(1)+ ygrid。*正常(2)));h =网(xgrid ygrid zgrid,“EdgeColor”(0 0 0),“FaceAlpha”,0);持有以上= (X-repmat (meanX n 1)) *正常< 0;下面= ~以上;nabove =(上图)之和;X1 = [X(上图,1)Xfit(上图,1)南*的(nabove 1)];X2 = [X(上图,2)Xfit(上图,2)南*的(nabove 1)];X3 = [X(上图,3)Xfit(上图,3)南*的(nabove 1)];plot3 (X1, X2, X3 ',“- - -”X(上图,1)X(上图,2),X(上图,3),“o”,“颜色”,[0 0]);nbelow =(下图)之和;X1 = [X(下图1)Xfit(低于1)南*的(nbelow 1)];X2 = [X(下图2)Xfit(下面,2)南*的(nbelow 1)];X3 = [X(下面,3)Xfit(低于3)南*的(nbelow 1)];plot3 (X1, X2, X3 ',“- - -”X(下图1)X(下面,2),X(下面,3),“o”,“颜色”,(1 0 0));持有maxlim = max (abs (X (:))) * 1.1;轴([-maxlim maxlim -maxlim maxlim -maxlim maxlim]);轴广场视图(9、12);

图包含一个坐标轴对象。坐标轴对象包含53个表面,类型的对象。

绿点在平面之上,红点所示。

拟合直线三维数据

拟合直线的数据更简单,因为PCA的嵌套属性,我们可以使用的组件已经被计算。方向向量定义的线是第一主成分系数。第二个和第三个pc是正交的第一个,和他们的系数定义方向垂直于线。最简单的方程来描述线路meanX + t * dirVect,在那里t参数化的位置。

dirVect =多项式系数(:1)
dirVect =3×10.6774 0.2193 0.7022

主成分得分的第一个坐标给每个点到线的投影。与二维,PC系数向量乘以分数给原始坐标系统的安装点。

Xfit1 = repmat (meanX n 1) +得分(:1)*多项式系数(:1)';

情节,原始数据,直线的投影。

t = [min(分数(:1))。2,马克斯(得分(:1))+ 2];endpts = [meanX + t (1) * dirVect ';meanX + t (2) * dirVect '];plot3 (endpts (: 1) endpts (:, 2), endpts (:, 3),“k -”);X1 = [X (: 1) Xfit1(: 1)南*的(n - 1)];X2 = [X (:, 2) Xfit1(:, 2)南*的(n - 1)];X3 = [X (:, 3) Xfit1(:, 3)南*的(n - 1)];持有plot3 (X1, X2, X3 ',“b -”X (: 1) X (:, 2), X (:, 3),“波”);持有maxlim = max (abs (X (:))) * 1.1;轴([-maxlim maxlim -maxlim maxlim -maxlim maxlim]);轴广场视图(9、12);网格

图包含一个坐标轴对象。坐标轴对象包含52线类型的对象。

虽然看起来很多预测的情节不垂直于线,那只是因为我们绘制3 d数据在二维空间中。在一个生活MATLAB®图窗口中,您可以交互式地旋转不同角度的情节,验证预测的确是垂直的,和得到更好的感觉如何与数据的吻合程度。