主要内容

运用因素分析分析股票价格

这个例子展示了如何分析同一行业内的公司是否经历了类似的每周股票价格变化。

因子载荷

加载示例数据。

负载stockreturns

假设在100周的时间里,记录了10家公司的股票价格变化百分比。在这10家公司中,前四家主要归为科技公司,之后三家归为金融公司,最后三家归为零售公司。随着经济状况的变化,同一领域的公司股价也会发生变化,这似乎是合理的。因子分析可以提供定量证据。

首先指定一个符合三个公共因素的模型。默认情况下,factoran计算载荷的旋转估计,试图使其解释更简单。但在这个例子中,指定一个未旋转的溶液。

(载荷、specificVar T统计)= factoran(股票、3、“旋转”“没有”);

前两个factoran输出参数是估计的装载量和估计的特定方差。加载矩阵的每一行代表10个股票中的一个,每一列对应一个公共因子。使用非旋转估计,很难解释这种拟合的因素,因为大多数库存包含两个或更多因素的相当大的系数。

载荷
载荷=10×30.8885 0.2367 0.2354 0.7126 0.3862 0.0034 0.3351 0.2784 -0.0211 0.3088 0.1113 0.1905 0.6277 0.6643 0.1478 0.4726 -0.6383 0.0133 0.1133 0.5416 0.0322 0.6403 0.1669 0.4960 0.2363 0.5293 0.5770 0.1105 0.1680 0.5524

因子旋转有助于简化结构载荷矩阵,使其更容易分配有意义的解释的因素。

从估计的特定方差可以看出,该模型表明,某一特定股票价格的变化很大,超出了由于公共因素的变化。显示估计的特定方差。

specificVar
specificVar =10×10.0991 0.3431 0.8097 0.8559 0.1429 0.3691 0.6928 0.3162 0.3311 0.6544

具体的方差为1表示该变量中不存在公因子成分,而具体的方差为0表示该变量完全由公因子决定。这些数据似乎介于两者之间。

显示p价值。

stats.p
ans = 0.8144

p-value在统计数据结构未能拒绝三个公共因素的原假设,表明该模型提供了一个令人满意的解释,在这些数据的共变。

用两个公共因素拟合一个模型,以确定是否少于三个因素可以提供可接受的拟合。

[Loadings2,specificVar2,T2,stats2] = factor(股票,2,“旋转”“没有”);

显示p价值。

stats2.p
ans = 3.5610 e-06

p-value对于第二次拟合是非常显著的,并且拒绝了两个因素的假设,这表明更简单的模型不足以解释这些数据中的模式。

因子旋转

结果表明,从非旋转因子分析拟合估计的载荷可以具有复杂的结构。因子旋转的目标是找到一个参数化,其中每个变量只有少量的大负荷。也就是说,每个变量都受到少数因素的影响,最好只有一个因素。这通常可以更容易地解释这些因素所代表的含义。

如果你把载荷矩阵的每一行看作是m维空间中一个点的坐标,那么每个因子对应于一个坐标轴。因子旋转相当于旋转这些轴并在旋转的坐标系中计算新的载荷。有很多方法可以做到这一点。一些方法使坐标轴正交,而另一些方法是倾斜的,改变了它们之间的角度。对于本例,您可以使用promax准则(一种常见的斜向方法)来旋转估计的负载。

[LoadingsPM, specVarPM] = factoran(股票,3,“旋转”的电子产品品牌);LoadingsPM
LoadingsPM =10×30.9452 0.1214 -0.0617 0.7064 -0.0178 0.2058 0.3885 -0.0994 0.0975 0.4162 -0.0148 0.1298 0.1021 0.9019 0.0768 0.0873 0.709 -0.0821 -0.1616 0.5320 -0.0888 0.2169 0.2844 0.6635 0.0016 -0.1881 0.7849 -0.2289 0.0636 0.6475

Promax旋转在负载中创建了一个更简单的结构,其中大多数库存只有一个因素具有较大的负载。为了更清楚地看到这个结构,可以使用双标图函数以其因子装载作为坐标绘制每个股票。

biplot (LoadingsPM“varlabels”num2str ((1:10) '));轴广场视图(155年,27);

图中包含一个坐标轴。轴包含31个类型为line, text的对象。

这个图显示promax将因子加载旋转到一个更简单的结构。每只股票主要取决于一个因素,而且可以用它所影响的股票来描述每一个因素。根据哪个公司靠近哪个轴,您可以合理地得出结论,第一个因素轴代表金融部门,第二个是零售业,第三个是技术。数据显然支持了最初的猜测,即股票主要在不同行业之间存在差异。金宝app

因子得分

有时,能够根据其因子得分对观察结果进行分类是有用的。例如,如果你接受了三因素模型和旋转因素的解释,你可能想要根据10只观察到的股票的数据,按照对三个股票行业的有利程度对每周进行分类。因为这个例子中的数据是原始股票价格变化,而不仅仅是它们的相关矩阵,你可以得到factoran返回每星期三个旋转公因数的估计值。然后,你可以绘制估计分数,以了解不同的股票板块在每周受到的影响。

[LoadingsPM,specVarPM,TPM,stats,F] =因子(股票,3,“旋转”的电子产品品牌);plot3 (F (: 1) F (:, 2), F (:, 3),“b”。) line([-4 4 NaN 0 0 NaN 0 0],[0 0 NaN 0 0 4 NaN 0 0],[0 0 NaN 0 0 NaN 0 0],“颜色”“黑”)包含(金融行业的) ylabel (“零售业”) zlabel (技术部门的网格)广场视图(-22.5,8)

图中包含一个坐标轴。轴线包含2个线型对象。

倾斜旋转通常会产生相关的因素。这张图显示了第一个和第三个因素之间的相关性,您可以通过计算估计的因素相关性矩阵进一步研究。

发票(TPM的* TPM);

可视化的结果

您可以使用双图函数来帮助可视化每个变量的因子负载和单个图中每个观察的因子得分。例如,下面的命令绘制出对股票数据进行因子分析的结果,并为每10只股票贴上标签。

biplot (LoadingsPM“分数”F“varlabels”num2str((1:10)))包含(金融行业的) ylabel (“零售业”) zlabel (技术部门的)轴广场视图(155年,27)

图中包含一个坐标轴。轴包含131个类型为line, text的对象。

在这种情况下,因素分析包括三个因素,因此双图是三维的。在这个图中,10只股票中的每一只都用一个矢量表示,矢量的方向和长度表明了每只股票对潜在因素的依赖程度。例如,您已经看到,在promax旋转后,前四种股票在第一个因素上有积极的载荷,而在其他两个因素上有不重要的载荷。第一个因素,被解释为金融部门的影响,在这个双图中表示为一个水平轴。这四支股票对这个因子的依赖关系对应着沿着这个轴方向的四个向量。类似地,股票5、6和7主要依赖于第二个因素,被解释为零售部门效应,用近似沿该轴方向的向量表示。

在这张图中,100个观察值中的每一个都用一个点表示,它们的位置表示每个观察值在这三个因素中的得分。例如,靠近图顶端的点在技术领域得分最高。这些点被缩放到单位正方形内,因此只能从图中确定它们的相对位置。

你可以使用数据指针工具的工具菜单,以标识该图中的项目。通过单击股票(矢量),您可以读取该股票的每个因素的负载。通过点击一个观察点(点),您可以读出该观察点对每个因素的得分。