因子模型简介

333 阅读2分钟

1 总体的kk-因子模型

1.1 模型设定

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

x=Af+μ+ϵx=Af+\mu+\epsilon

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

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

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

Σ=AA+Ψ\Sigma=AA'+\Psi

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

如果用一个正交k×kk\times k矩阵EE,做A~=AE\tilde A=AEf~=Ef\tilde f=E'f,那么我们依然有

x=A~f~+μ+ϵx=\tilde A\tilde f+\mu+\epsilon

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

1.2 案例

假设有22维随机向量xxΣ=[1.250.50.50.5]\Sigma=\left[\begin{matrix}1.25 &0.5\\0.5&0.5\end{matrix}\right],假设单因子模型为

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

这里ff为标量。

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

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

2 一些选择AA的准则

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

2.1 最小化Ψ\Psi准则

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

tr(Ψ)=0.25+0.25=0.5\text{tr}(\Psi)=0.25+0.25=0.5tr(Ψ)=1116118=0.7431\text{tr}(\Psi^*)=\dfrac{11}{16}-\dfrac{1}{18}=0.7431,因此,可以选择[a1a2]=[10.5]\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:记ajla_{jl}d×kd\times k矩阵AA的第jj行、ll列元素,他们定义

VC(A)=l=1k[1dj=1dajl4(1dj=1dajl2)2]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]

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

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

Varimax criterion的另一个用途是,寻找旋转后的载荷AEAE,即它要寻找一个正交矩阵EE,使得

E~=argmaxVC(AE)\tilde E=\arg\max VC(AE)

3 样本的kk-因子模型

nn个样本排成d×nd\times n的矩阵X=(x1,,xn)X=(x_1,\ldots,x_n),并将对应的每个ff排成k×nk\times n矩阵F=(f1,,fn)F=(f_1,\ldots,f_n),将对应的每个ϵ\epsilon排成d×nd\times n矩阵N=(ϵ1,,ϵn)\mathfrak{N}=(\epsilon_1,\ldots,\epsilon_n),我们可以得到

X=AF+xˉn+NX=AF+\bar x\ell_n' +\mathfrak{N}

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

S=Var(X)=Var(AF)+Var(N)=AA+Ψ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.