因子模型简介

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.
上一篇:元组关系演算(从集合的角度深入浅出)


下一篇:面试题07-I. 根据中序和后序重建二叉树