zoukankan      html  css  js  c++  java
  • matlab biplot 符号的困惑

          在matlab中做Principal component Analysis 时,常要用biplot 函数来画图,表示原分量与主分量(principal component)之间的关系,以及原始观察数据在主分量坐标下的系数。下面就是一个运行实例:

     

    load hald;

    [pc,score,latent,tsquare] = princomp(ingredients);

    biplot(pc(:,1:2),'Scores',score(:,1:2),'VarLabels',{'X1' 'X2' 'X3' 'X4'});

    显示图像如下:

    产生的结果数据如下图:

    对比观察数据与图像,就会发现以下几个困惑:

    1、X1,X2,X3,X4是原分量在主分量坐标下的矢量表达,但是矢量分量的方向都不对(见下图)。

    2、所有观察数据(score)的符号和大小与图上显示不符(见下图)。

          带着这些困惑,仔细查看了matlab关于biplot的帮助,发现有下面一段话:

    “biplot做了一个符号转换,确保系数矩阵的每一列中的最大值为正。这样会改变一些系数矢量的方向,但会使图形更容易理解。...”(“biplot imposes a sign convention, forcing the element with largest magnitude in each column of coefs to be positive. This flips some of the vectors in coefs to the opposite direction, but often makes the plot easier to read. Interpretation of the plot is unaffected, because changing the sign of a coefficient vector does not change its meaning.”)。唉,效果适得其反啊!同时,这样做的结果同时也相应改变了score的符号,为了将score的红点画在同一个画面,score的大小也是成比例缩放了。

  • 相关阅读:
    结对编程项目---四则运算
    作业三(代码规范、代码复审、PSP)
    作业2(源程序管理软件与项目管理软件)
    学习总结
    作业1
    寒假超市实习
    《软件工程》课程总结
    结对编程项目---四则运算
    作业三: 代码规范、代码复审、PSP
    作业二(2)目前流行的源程序版本管理软件和项目管理软件都有哪些,各有什么优缺点?
  • 原文地址:https://www.cnblogs.com/hobart-xiao/p/6396734.html
Copyright © 2011-2022 走看看