• 因子模型简介


    1 总体的\(k\)-因子模型

    1.1 模型设定

    \(x\sim(\mu,\Sigma)\)\(\text{rank}(\Sigma)=r\),固定\(k\lt r\),则\(k\)因子模型的设定为

    \[x=Af+\mu+\epsilon \]

    其中\(f\)\(k\)维随机向量,称为共同因子(common factor),\(A\)\(d\times k\)的线性变换,称为因子载荷(factor loading)。

    一般会做出这些假设:\(f\sim(0,I_k)\)\(\epsilon\sim(0,\Psi)\)(其中\(\Psi\)为对角矩阵),\(\text{Cov}(f,\epsilon)=0_{k\times d}\)

    有的文献中会假设\(\text{Var}(f)=\Phi\)\(\Phi\)为对角矩阵,在这里我们假设它是球形的。在我们的假设下,我们有

    \[\Sigma=AA'+\Psi \]

    我们可以看\(\Sigma\)\(AA'\)的各元素的接近程度,定义\(AA'\)的对角线元素\(\tau_{jj}=\sum_{l=1}^{k} a_{jl} a_{jl}\)为第\(j\)个communality(共同性),它满足\(\sigma^2_j=\sigma_{jj}=\tau_{jj}+\psi_j\),而对于\(\Sigma\)的非对角线元素有\(\sigma_{jm}=\tau_{jm}\)

    如果用一个正交\(k\times k\)矩阵\(E\),做\(\tilde A=AE\)\(\tilde f=E'f\),那么我们依然有

    \[x=\tilde A\tilde f+\mu+\epsilon \]

    它也是\(x\)的一个\(k\)-因子模型,也同样满足上文的那些假设,这说明因子模型不是唯一的。并且,如果没有额外的信息,我们想只利用\(\Sigma\)就求解出因子和载荷是不可能的,下面的例子就说明了这个问题。

    1.2 案例

    假设有\(2\)维随机向量\(x\)\(\Sigma=\left[\begin{matrix}1.25 &0.5\\0.5&0.5\end{matrix}\right]\),假设单因子模型为

    \[x = \left[\begin{matrix}a_1\\a_2\end{matrix}\right] f+ \left[\begin{matrix}\epsilon_1\\\epsilon_2\end{matrix}\right] \]

    这里\(f\)为标量。

    根据上文的推导,我们可以得出一些结论。如\(AA'\)的非对角线元素就是\(\Sigma\)的非对角线元素,即\(a_1 a_2=0.5\),而\(AA'\)的对角线元素必定小于\(\Sigma\)的对角线元素,即\(a_1^2\lt \sigma_{11}=1.25\)\(a_2^2\lt \sigma_{22}=0.5\)

    但是,我们无法得出具体的\(A\),比如我们可以取\(\left[\begin{matrix}a_1\\a_2\end{matrix}\right]=\left[\begin{matrix}1\\0.5\end{matrix}\right]\),也可以取\(\left[\begin{matrix}a^*_1\\a^*_2\end{matrix}\right]=\left[\begin{matrix}3/4 \\2/3\end{matrix}\right]\),这些\(A\)都是可行的。也就是说,在没有额外信息或使用某些准则时,我们无法只利用\(\Sigma\)解出\(A\)

    2 一些选择\(A\)的准则

    \(1.2\)中,我们给出了一个案例,说明想要选择\(A\)的解,必须要借助一些准则。这里介绍两种准则。

    2.1 最小化\(\Psi\)准则

    我们可以选择使\(\Psi\)更小的\(A\)。由于\(\Psi\)是对角矩阵,可以直接用它的迹来表示大小。

    \(\text{tr}(\Psi)=0.25+0.25=0.5\)\(\text{tr}(\Psi^*)=\dfrac{11}{16}-\dfrac{1}{18}=0.7431\),因此,可以选择\(\left[\begin{matrix}a_1\\a_2\end{matrix}\right]=\left[\begin{matrix}1\\0.5\end{matrix}\right]\)

    2.2 Varimax准则

    Kaiser(1958)提出了另一个准则varimax criterion:记\(a_{jl}\)\(d\times k\)矩阵\(A\)的第\(j\)行、\(l\)列元素,他们定义

    \[VC(A) = \sum_{l=1}^{k}\left[\dfrac{1}{d}\sum_{j=1}^{d} a_{jl}^4-\left(\dfrac{1}{d}\sum_{j=1}^{d}a_{jl}^2\right)^2\right] \]

    式子看起来很复杂,但我们可以理解成,先将\(A\)的所有元素做平方,然后计算某一列上的元素的方差,最后再对所有列加总。

    \(1.2\)的案例进行计算,可以得到\(VC(A)=0.1406\)\(VC(A^*)=0.0035\),如果我们需要VC越大越好的载荷矩阵,就选择\(\left[\begin{matrix}a_1\\a_2\end{matrix}\right]=\left[\begin{matrix}1\\0.5\end{matrix}\right]\)。尽管在这里两种方法选出的矩阵是一样的,但它们不等价。

    Varimax criterion的另一个用途是,寻找旋转后的载荷\(AE\),即它要寻找一个正交矩阵\(E\),使得

    \[\tilde E=\arg\max VC(AE) \]

    3 样本的\(k\)-因子模型

    \(n\)个样本排成\(d\times n\)的矩阵\(X=(x_1,\ldots,x_n)\),并将对应的每个\(f\)排成\(k\times n\)矩阵\(F=(f_1,\ldots,f_n)\),将对应的每个\(\epsilon\)排成\(d\times n\)矩阵\(\mathfrak{N}=(\epsilon_1,\ldots,\epsilon_n)\),我们可以得到

    \[X=AF+\bar x\ell_n' +\mathfrak{N} \]

    还是和总体情况下一样,这些变量满足\(F\sim(0,I_k)\)\(\mathfrak{N}\sim(0,\Psi)\),这里\(\Psi\)为对角矩阵,\(\text{Cov}(F,\mathfrak{N})=0_{k\times d}\)。样本的协方差矩阵可写为

    \[S=\text{Var}(X)=\text{Var}(AF)+\text{Var}(\mathfrak{N})=AA'+\Psi \]

    参考文献

    • Kaiser, H. F. (1958). The varimax criterion for analytic rotation in factor analysis. Psychometrika 23, 187–200.
  • 相关阅读:
    关于ASPack 2.12加壳软件的脱壳方法[图文]
    OllyDbg快捷键记录帖
    C console编程
    用着VC++ Debug 理解汇编与C语言的对应关系
    赵青-《剑侠情缘网络版》开发回顾
    VC++ 预定义常量
    oracle分区自动创建
    清理oracle lobsegment
    libXext.so.6: cannot open shared object file: No such file or directory
    Oracle 杀死锁进程
  • 原文地址:https://www.cnblogs.com/analysis101/p/14782779.html
Copyright © 2020-2023  润新知