Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: how to manually calculate eigenvalue of principal components in STATA
From
Nick Cox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: how to manually calculate eigenvalue of principal components in STATA
Date
Sun, 26 May 2013 10:04:25 +0100
For the correct spelling "Stata", please see
http://www.stata.com/support/faqs/resources/statalist-faq/#spell
Here is an example for you:
. sysuse auto
(1978 Automobile Data)
. corr headroom trunk weight weight length displacement
(obs=74)
| headroom trunk weight weight length displa~t
-------------+------------------------------------------------------
headroom | 1.0000
trunk | 0.6620 1.0000
weight | 0.4835 0.6722 1.0000
weight | 0.4835 0.6722 1.0000 1.0000
length | 0.5163 0.7266 0.9460 0.9460 1.0000
displacement | 0.4745 0.6086 0.8949 0.8949 0.8351 1.0000
. ret li
scalars:
r(N) = 74
r(rho) = .6620111289412028
matrices:
r(C) : 6 x 6
. mat li r(C)
symmetric r(C)[6,6]
headroom trunk weight weight
length
headroom 1
trunk .66201113 1
weight .48345581 .67220573 1
weight .48345581 .67220573 1 1
length .51629547 .72659561 .94600864 .94600864
1
displacement .47449149 .60863505 .89489577 .89489577
.83514003
displacement
displacement 1
. mat corr = r(C)
. mat symeigen X lambda = corr
. mat li lambda
lambda[1,6]
e1 e2 e3 e4 e5 e6
r1 4.670069 .80145975 .30939082 .16168343 .05739702 -2.776e-17
. pca headroom trunk weight weight length displacement
Principal components/correlation Number of obs = 74
Number of comp. = 5
Trace = 6
Rotation: (unrotated = principal) Rho = 1.0000
--------------------------------------------------------------------------
Component | Eigenvalue Difference Proportion Cumulative
-------------+------------------------------------------------------------
Comp1 | 4.67007 3.86861 0.7783 0.7783
Comp2 | .80146 .492069 0.1336 0.9119
Comp3 | .309391 .147707 0.0516 0.9635
Comp4 | .161683 .104286 0.0269 0.9904
Comp5 | .057397 .057397 0.0096 1.0000
Comp6 | 0 . 0.0000 1.0000
--------------------------------------------------------------------------
Principal components (eigenvectors)
------------------------------------------------------------------------------
Variable | Comp1 Comp2 Comp3 Comp4 Comp5 |
Unexplained
-------------+--------------------------------------------------+-------------
headroom | 0.3014 0.7768 0.5371 -0.1309 -0.0111 |
0
trunk | 0.3747 0.4306 -0.7705 0.2655 -0.1005 |
0
weight | 0.4460 -0.2548 0.0571 -0.2144 -0.4324 |
0
weight | 0.4460 -0.2548 0.0571 -0.2144 -0.4324 |
0
length | 0.4419 -0.1516 -0.1227 -0.4492 0.7516 |
0
displacement | 0.4192 -0.2415 0.3105 0.7866 0.2256 |
0
------------------------------------------------------------------------------
Here is the code in one:
sysuse auto
corr headroom trunk weight weight length displacement
ret li
mat li r(C)
mat corr = r(C)
mat symeigen X lambda = corr
mat li lambda
pca headroom trunk weight weight length displacement
Nick
[email protected]
On 26 May 2013 09:55, Mash Hamid <[email protected]> wrote:
> Hi,
>
> I'm having difficulty computing eigenvalue of principal components (not principal component factors) by hand. I know how to calculate the eigenvalues of each principal component factors. Suppose I have 6 variables in component 1 and the out put looks like:
>
>
> Component | Eigenvalue Difference Proportion Cumulative
> -------------+------------------------------------------------------------
> Comp1 | 1.70622 .303339 0.2844 0.2844
> Comp2 | 1.40288 .494225 0.2338 0.5182
> Comp3 | .908652 .185673 0.1514 0.6696
> Comp4 | .722979 .0560588 0.1205 0.7901
> Comp5 | .66692 .074563 0.1112 0.9013
> Comp6 | .592357 . 0.0987 1.0000
> --------------------------------------------------------------------------
>
> Principal components (eigenvectors)
>
> ---------------------------------------------------------------------------
> Variable | Comp1 Comp2 Comp3 Comp4 Comp5 Comp6 |
> ---------+------------------------------------------------------------+
> bt1 | 0.2741 0.5302 -0.2712 -0.7468 -0.0104 -0.1111 |
> bt2 | -0.3713 0.4428 -0.4974 0.2800 0.2996 0.5005 |
> bt3 | -0.4077 0.4834 0.0656 0.2466 -0.5649 -0.4646 |
> bt4 | -0.3766 0.2748 0.7266 -0.2213 0.4504 0.0538 |
> bt5 | 0.4776 0.3345 0.3829 0.1950 -0.3942 0.5657 |
> bt6 | 0.5009 0.3192 0.0144 0.4647 0.4824 -0.4453 |
>
> ---------------------------------------------------------------------------
>
>
>
> how do I calculate the eigenvalue using the info above in STATA by using display?
>
>
> Many thanks
>
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/statalist-faq/
> * http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/