• 因子分析——应用


    因子分析——应用

    P248

    在一项消费者爱好的研究中,随机邀请了一些顾客对某种新食品进行评价,共有5项指标(变量1-5)味道,价格,风味,适于快餐,补充能量。得到他们的相关系数矩阵。

    求出载荷矩阵:

    clc,clear;
    clc,clear
    r=[1 0.02 0.96 0.42 0.01
       0.02 1 0.13 0.71 0.85
       0.96 0.13 1 0.5 0.11
       0.42 0.71 0.5 1 0.79
       0.01 0.85 0.11 0.79 1];
    [vec1,val,rate] = pcacov(r);
    f1 = repmat(sign(sum(vec1)),size(vec1,1),1);
    vec2 = vec1.*f1;
    f2 = repmat(sqrt(val)',size(vec2,1),1);
    a = vec2.*f2;

     

    其实从相关系数矩阵中就可以看出,变量1,3之间联系很大,变量2,5之间联系很大。于是可以期望,因子模型可以取2个,至多3个公共因子。

    % 公共因子个数
    num = 2;
    ​
    % 累积贡献率
    con = cumsum(rate(1:num));
    ​
    % 提出两个因子的载荷矩阵
    a1 = a(:,[1:num]);
    ​
    % 没有旋转的特殊方差
    tcha = diag(r-a1*a1');
    % 旋转载荷矩阵,B 为旋转因子载荷矩阵,T 为正交矩阵
    [B,T] = rotatefactors(a1,'method','varimax');
    ​
    % 求因子载荷矩阵a1的共同度
    gtd1 = sum(a1.^2,2);
    ​
    % 求因子载荷矩阵B的共同度
    gtd2 = sum(B.^2,2);
    ​
    % 分别计算两个因子载荷矩阵对应的方差贡献率
    w = [sum(a1.^2),sum(B.^2)];

    对此整理出表格:

     

    从载荷矩阵来看,5个变量的贡献值都比较大,表明了这两个公共因子的确很好的解释了每个变量方差的绝大部分。

    很明显,变量2,4,5在旋转因子 上有大载荷,变量 1 ,3 在旋转因子 上有大载荷,因此我们有理由称 为营养因子, 为滋味因子。旋转效果一目了然。

     

  • 相关阅读:
    ldconfig和ldd用法
    Linux上ld和ld.so命令的区别
    一维二维码的提取、识别和产生
    最大轮廓和投影
    如何做出半透明和闪光效果
    马赫效应和应对方法
    钢管识别项目1
    钢管识别项目2
    选择轮廓(select_shape)
    压板识别项目分析
  • 原文地址:https://www.cnblogs.com/TreeDream/p/8337765.html
Copyright © 2020-2023  润新知