<table width = 900 border = 0><tr><td>
# <b>NMST539 | Cvičenie 8</b>

## <b>Faktorová analýza</b>
### <font color = "#880000"><b>LS 2020/2021 |  20/04/21 | (online výuka)</b></font>
###### <a href = "cvicenie2021_8.Rmd">zdrojový Rmd súbor (kódovanie UTF8)</a>

**************


<b>Outline ôsmeho cvičenia:</b> 

<ul>
<li>teoretické základy faktorovej analýzy (FA);</li>
<li>aplikácia FA na reálne data pomocou programu R;</li>
<li>komplexné štatistické modely (tzv. SEM) s využitím FA;</li>
</ul><br>


<b>Štatisticky program R</b> je k dispozícii (GNU public licence) na adrese <a href = "https://www.r-project.org">https://www.r-project.org</a><br><br>

<b>RStudio</b> -- "user-friendly" interface (jeden z mnohých, ktoré na internete nájdete): <a href = "https://www.rstudio.com">RStudio</a>.<br><br>

<b>Užitočné návody a manuály pre prácu s programom R:</b><br>

<ul>
<li>Bína, V., Komárek, A. a Komárková, L.: <i>Jak na jazyk R.</i>  (<a href = "NMFM301/Rmanual2.pdf">PDF súbor</a>)</li>
<li>Komárek, A.: <i>Základy práce s R.</i>  (<a href = "http://msekce.karlin.mff.cuni.cz/~komarek/vyuka/dataRko/Rmanual1.pdf">PDF súbor</a>)</li>
<li>Kulich, M.: <i>Velmi stručný úvod do R.</i> (<a href = "NMFM301/uvodr.pdf" >PDF súbor</a>)</li>
<li>De Vries, A. a Meys, J.: <i>R for Dummies.</i> (ISBN-13: 978-1119055808) </li>		
</ul><br>



<b>Odborná literatúra:</b><br>
<ul>
<li>Hardle, W. and Simar.L.: Applied Multivariate Statistical Analysis. Springer, 2015</li>
<li>Mardia, K., Kent, J., and Bibby, J.:Multivariate Analysis, Academic Press, 1979.</li>
</ul>

<br><br>

**************

  


### <font color = "#880000"><b>1. Úvod do faktorovej analýzy</b></font>

Faktorovú analýzu je možné považovať za ďalšiu štatistickú metódu určenú jednak pre exploratívne účely a
tiež redukciu dimenzionality pôvodných dat. Na rozdiel od metódy hlavných komponent sa ale nezameriava 
a exploráciu celkovej variability a jej jednotlivých zdrojov (vrámci pôvodných premenných), ale zkúma 
závislostnú štruktúru medzi jednotlivými premennými (v pôvodných datach) v zmysle kovariancie/korelácia. 
Princíp podobných, resp. blízkych korelácii je následne využitý aj pre problem redukcie dimenzionality. 
 
Faktorová analýza je efektívna  metóda redukcie dimenzionality hlavne v prípadoch, keď sa vyžaduje následná 
štatistická analýza v zmysle budovania nejakého regresného modelu, ktorý je citlivý na problém multikolinearity, 
prípadne umožňuje využiť len obmedzené množstvo premenných. Z pohľadu explorácie dat faktorová analýza popisuje 
celkovú korelačnú štruktúru medzi pôvodnými premennými pomocou (väčšinou výrazne) menšieho počtu nových premenných -- tzv. 
faktorov -- ktoré sú latentné (nepozorované), ale každý z faktorov dostatočne dobre koreluje s určitou podmnožinou pôvodných premenných. 

Faktorová analýza teda umožňuje grupovanie (resp. roztriedenie) pôvodných premenných podľa podobnej (vysokej) vzájomnej korelácie. 
Skupina pôvodných premenných s vysokou koreláciou je následne reprezentovaná jedným konkrétnym latentným faktorom. 

Z určitého hľadiska je možné faktorovú analýzu považovať za zovšeobecnenie štandardnej metódy hlavných komponent (PCA)
avšak ponúka jednú zásadnú a praktickú výhodu -- väčšinou výrazne intuitivnejšiu a jednoduchšiu interpretáciu latentných faktorov, než je tomu v prípade hlavných kompenent. 

V štatistickom programe R je pre faktorovú analýzu v deafultnej inštalácii k dispozícii funkcia `factanal()`.
Okrem tejto funkcie sú k dispozícii ďalšie balíčky a knižnice s alternativnými funkciami a ďalšími rozšíreniami (napr. funkcia `Factanal()` z knižnice 'FAiR', alebo funkcia `fa.promax()` z knižnice 'psych'). 

Pre účely tohto inštrukážneho materiálu budeme využívať hlavne štandardnú R funkciu  `factanal()`. 
Faktorovú analýzu aplikujeme na data s biologickými metrikami pre rôzne lokality v blízkosti vodných tokov v Českej republike. 
Datový súbor obsahuje 65 rôzných lokalít a pre každú lokalitu je zaznamenané jej ekologické a biologická kvalita pomocou 
17 rôznych metrík a indexov (definovaných rôznymi certifikovanými metodikami napr. prostredníctvom MŽP ČR).

```{r}
rm(list = ls())
bioData <- read.csv("http://msekce.karlin.mff.cuni.cz/~maciak/NMST539/bioData.csv", header = T)

dim(bioData)
head(bioData)
```
<br><br>

Zaujíma nás celková kovariančná/korelačná štruktúra medzi jednotlivými premennými, ktorú budeme postupne analyzovať pomocou faktorovej analýzy. Prvotný prehľad o odhadovanej kovariancii/korelácii môžeme získať napr. pomocou výberovej variančnej-kovariančnej matice `var(bioData[,2:18])` prípadne korelačnej matice `cor(bioData[,2:18])`.  

Korelačnú maticu môžeme zároveň vizualizovať pomocou príkazu `corrplot()` z knižnice 'corrplot':  

```{r, message=F, fig.width=10, fig.height=8}
library(corrplot)
corrplot(cor(bioData[,2:18]), method="ellipse")
```

Pripomeňme, že na rozdiel od (výberovej) kovariančnej matice, ktorá nie je invariantná voči měřítku, tak (výberova) korelačná matica 
invariantná vočí měřítku už je.  Porovnajte nasledujúce výstupy: 

```{r, eval = F}
cov(bioData[,2:18])
cov(scale(bioData[,2:18]))
cor(bioData[,2:18])
cor(scale(bioData[,2:18]))
```

Pripomeňte si tiež teoretické odvodenie, z ktorého vyplýva, že posledné tri príkazy dávajú stejný výstup. 

<br><br>


Základná ídea faktorovej analýzy je vyjadriť  $p$-rozmerná (náhodný) vektor $\boldsymbol{X}$  pomocou lineárnej kombinácie $k$ latentných faktorov, pričom výžadujeme, aby $k \ll p$ (redukcia dimenzionality). 


Formálne možeme model faktorovej analýzy zapísať  takto: 

$$
\boldsymbol{X} = \Lambda \boldsymbol{F} + \boldsymbol{e}, 
$$


kde $\Lambda$ je nejaká $p\times k$ rozmerná (nenáhodná) matica, ktorú nazývame matica loadingov <b>(<i>factor loadings</i>)</b>, $\boldsymbol{F}$ je $k$-rozmerná (náhodný) vektor, ktorý reprezentuje $k$ latentných faktorov (tzv. <i>common factors</i> alebo <i>scores</i>) a $\boldsymbol{e}$ je príslušná chyba aproximácie pôvodného vektoru $\boldsymbol{X}$ pomocou latentných faktorov -- $k$-rozmerného vektoru $\boldsymbol{F}$.  

Uvedený zápis výrazne pripomína zápis jednoduchého lineárneho regresného modelu

$$
\boldsymbol{Y} = \mathbb{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon},
$$
kde $\boldsymbol{Y}$ je vektor závislých premenných, $\mathbb{X}$ je matica typu $n \times p$, ktorá obsahuje <b>sledované</b> nezávislé premenné a  $\boldsymbol{\varepsilon}$ je náhodný vektor chýb.  

Základný principialný rozdiel medzi lineárnym regresným modelom a faktorovou dekompozíciou  $\boldsymbol{X} = \Lambda \boldsymbol{F} + \boldsymbol{e}$ je v tom, že okrem pôvodného vektoru $\boldsymbol{X}$ nepozorujeme žiadnu ďalšiu kvantitu uvedenú v zápise (na rozdiel o lineárneho regresného modelu, kde sledujeme/poznáme aj regresnú maticu $\mathbb{X}$). 
Samotný problém faktorovej dekompozície preto nie je možné riešiť jednoznačne. Alternatívne, je možné uvažovať dodatočné 
obmedzenia, ktoré celý problem regularizuju -- umožnia jednoznačné riešenie. 

V prípade faktorovej analýzy sa používajú konkrétne obmedzenia, ktoré bližšie špecifikujú variančnú-kovariančnú štruktúru 
medzi jednotlivými veličinami vo faktorovej dekompozícii. Konkrétne sa predpokladá následujúce:  <br><br>

<ul>
<li> Náhodné (spoločné) faktory $\boldsymbol{F}$ sú vzájomne nekorelované, s jednotkovým rozptylom, teda platí, že 
$Var (\boldsymbol{F}) = \mathbb{I}_{k};$</li>
<li>Náhodné chyby (resp. tzv. špecifické faktory)$\boldsymbol{e}$ sú nezávislé a pre variančnú-kovariačnú maticu platí, že 
$Var (\boldsymbol{e}) = \boldsymbol{\Psi}$, kde $Var (e_{i}) = \psi_{ii}$;</li>
<li>Korelačná matica náhodného vektoru $\boldsymbol{X}$ je teda rozločená na súčet dvoch členov $\Sigma = \Lambda \Lambda^{T} + \boldsymbol{\Psi}$.</li>

<li>Vzájomná kovariancia medzi spoločnými faktormi (common fakctor) $\boldsymbol{F}$ a špecifickými faktormi (specific faktors) $\boldsymbol{e}$ je nulová, teda platí $Cov(\boldsymbol{F}, \boldsymbol{e}) = \boldsymbol{0}$;</li>
</ul>

<br><br>

Štandardne sa vo faktorovej analýze používa aj predpoklad, že matica $\Lambda^\top \boldsymbol{\Psi}^{-1} \Lambda$ je diagonálna. 
To umožňuje už definovať sústavu rovníc, ktorá problem rieši (v určitom zmysle) jednoznačne.

<ul>
<li>zo zápisu faktorovej dekompozície $\Sigma  = \Lambda \Lambda^\top + \boldsymbol{\Psi}$, získame $p (p + 1)/2$ rovníc;</li>

<li>celkový počet neznámych parametrov je $p \times k$ z matice $\Lambda$ a $p$ parametrov z diagonálnej matice $\boldsymbol{\Psi}$;</li>

<li>diagonalita matice $\Lambda^\top \boldsymbol{\Psi}^{-1} \Lambda$ umožňuje definovať dodatočných $k(k + 1)/2$ rovníc;</li>

<li>celkový počet stupňov voľnosti teda je
$$
\frac{(p - k)^2}{2} - \frac{k + p}{2};
$$</li>
</ul>


Počet stupňov voľnosti zároveň poskytuje maximum pre počet faktorov, ktoré je možné uvažovať, aby bol problem 
efektívne riešiteľný. <br><br>





#### <font color = "#880000">Poznámka</font>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
<ul>
<li>Faktorová analýza nie je jednoznačná v zmysle ľubovolnej rotácie vektoru $X$;</li>
<li>Faktorová analýza je invariantná voči měřítku;</li>
</ul>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />

<br><br>


Vzhľadom k tomu, že faktorová analýza nie je jednoznačne určená vzhľadom k možným rotáciam, tak je užitočné použiť/nájsť rotáciu, 
ktorá je z určitého hľadiska najužitočnejšia -- v praxi sa tym myslí rotácia, ktorá ponúka zmysluplnú interpretáciu, resp. umožňuje 
rozdelenie pôvodných premenných do disjunktných množín, kde každej množine je priradený jeden reprezentant -- jeden latentný faktor. 
Procedúra, ktorá hľadá takúto rotáciu sa nazýva <b>varimax</b> procedúra. <br><br>

Túto rotáciu/procedúru využujeme aj pri aplikácii faktorovej analýzy na biologické metriky kvality vodných tokov v Českej republike. 
V R funkcii  `factanal()` je nutné použiť dodatočný parameter 'rotation="varimax"': 


```{r}
fa1 <- factanal(bioData[,2:18], factors = 3, rotation="varimax")
print(fa1, digits=2, cutoff=.6, sort=TRUE)
```

Reportované prázdne miesta vo výstupe nie su v skutočnosti chýbajúce hodnoty, 
ale skôr sa jedná o hodnoty korelácie, ktoré su pod uvedeným thresholdom (t.j. príliš malé hodnoty 
odhadovanej korelácie medzi pôvodnou premennou a latentným faktorom). 

V prípade nereportovanej hodnoty korelácie je možné buď uvažovať nad väčším počtom latentných faktorov (keďže momentálny počet 
faktorov neumožňuje roztriediť premenné tak, aby každá z nich korelovala alespoň na požadovanej úrovni s alespoň jedným latentným faktorom), 
zvoliť nižšiu hodnotu thresholdu.  <br><br>

Je počet faktorov dostačujúci? Porovnajte následujúce výstupy: 

```{r}
fa2 <- factanal(bioData[,2:18], factors = 4, rotation="varimax")
fa3 <- factanal(bioData[,2:18], factors = 5, rotation="varimax")
fa4 <- factanal(bioData[,2:18], factors = 9, rotation="varimax")
```

V praxi sa používajú hlavne dva prístupy, ako definovať počet faktorov. 
Je zrejmé, že pre každý element $X_{j}$  z náhodného vektoru $\boldsymbol{X} = (X_{1}, \dots, X_{p})^\top$
platí, že

$$
var(X_{j}) =h_{j}^2 + \psi_{j}, \qquad \textrm{pre} \qquad h_{j}^2 = \sum_{\ell = 1}^{k} q_{j \ell}^2,
 $$
 
 a $\boldsymbol{\psi} = Diag\{\psi_{1}, \dots, \psi_{p}\}$, a $\Lambda = \{q_{i j}\}_{i, j = 1}^{p,k}$. Hodnota $h_{j}^2$ predstavuje 
  variabilitu náhodnej veličiny  $X_{j}$, ktorá je vysvetlená pomocou spoločných faktorov (common faktors) $F$ (taktiež nazývané ako <i>communality</i>) a druhá hodnota, t.j. $\psi_{j}$ predstavuje zbytkovú variabilitu (tzv. špecifická variabilita).<br><br>
 
Je tiež zrejmé, že pre $p$ latentných faktorov dostaneme $var(X_{j}) = \sum_{\ell = 1}^{p} q_{j \ell}^2$ a zbytovoká, t.j. špecifická variabilia bude nulová, teda $\psi_j  = 0$, pre každé $j = 1, \dots, p$.<br><br>

Rozhodnutie o celkovom počte latentných faktorov preto môže byť učinené na základe vzájomného porovnania vysvetlenej a zbytkovej variability --  communality vs. specific variability. <br><br>

<b>Altenarnatívne postupy pre určenie počtu faktorov:  </b>
<ul>
<li><b>Štatistická  pre-analýza</b><br>
Napr. rôzne exploratívne nástroje, alebo aj PCA za účelom dosiahnutia určitej proporcie vysvetlenej variability;<br><br></li>

<li><b>Expert judgement</b><br>
Daný počet faktorov často v praxi koreluje s určitou skupinou premenných, rozdelenie premenných umožňuje intuitívnu a jednoduchú 
interpretáciu z pohľadu experta. <br><br></li>

<li><b>Maximum Likelihood</b><br>
Využitie štatistického testu na testovanie nulovej hypotézy, že $\Sigma = \Lambda\Lambda^\top + \boldsymbol{\psi}$ oproti alternatíve,  že $H_{1}$ nekladie žiadne reštrikcie na maticu $\Sigma$. Test pomerom vierohodnosti je možne uskutočniť pomocou testovej štatistiky

$$
T = - 2 log \Bigg[\frac{\textrm{maximum likelihood under $H_{0}$}}{\textrm{maximum likelihood under $H_{1}$}}\Bigg],
$$

avšak tento postup predpokladá, že pôvodné data pochádzajú z normálneho rozdelenia. 
<br><br></li>
</ul>

<br><br>


#### <font color = "#880000">Poznámka</font>
<ul>
<li>Ďalšou možnosťou, jak určiť vhodný počet faktorov je využiť vizuálne nástroje v knižnici 'nFactors' (nutná inštalácia pomocou príkazu `install.packages("nFactors")`). Štyri kvalitatívne kritéria sú pred-definované k určeniu správneho počtu latentných faktorov (podrobnejšie
o jednotlivých kritériach v helpe funkcie -- `?plotnScree`). 


```{r, warning = F, message = F, fig.width=10, fig.height=6}
library(nFactors)
ev <- eigen(cor(bioData[,2:18])) 
ap <- parallel(subject=nrow(bioData[,2:18]),var=ncol(bioData[,2:18]), rep=100, cent=.05)
nS <- nScree(x=ev$values, aparallel=ap$eigen$qevpea)

plotnScree(nS)
```
</li>
</ul>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />

<br><br>

Grafický výstup a vizuálnu reprezentáciu faktorovej analýzy je možné získať (štandardne) pomocou príkazu `plot()`. 
Ďalšie možnosti sú samozrejme k dispozícii v rozširujúcich balíčkoch a R knižniciach. 

```{r, fig.width=10, fig.height=6}
### colors
COLS <- c("red", "green", "blue")
M <- apply(abs(fa1$loadings[,1:3]), 1, max)
cols <- COLS[matrix(rep(c(1,2,3), 17), nrow = 17, byrow = T)[match(M, abs(fa1$loadings[,1:3]))]]

load <- fa1$loadings[,1:2] 
plot(load,type="n") 
text(load,labels=names(bioData[,2:18]),cex=.7, col = cols)
```

Dokážete vysvetliť, prečo sa jedná premenná  (<i>Saprind</i>) náchádza zjavne mimo akýkoľvek zhluk ostatných premenných? 
Pre faktorovú analýzu boli použité tri  latentné faktory, ale scatterplot na obrázku vizualizuje pouze prvé dva faktory. 

Ako by ste interpretovali fakt, že premenná <i>MDS_2</i> je kdesi uprostred (medzi premennými vyznačenými červenou barvou)? 

A čo vizualizácia s využitím iných dvoch latentných faktorov (pôvodný rozmer uvažovaných dat je $p = 17$).  <br><br>

```{r, fig.width=10, fig.height=6}
### colors
par(mfrow = c(1,2))

load1 <- fa1$loadings[,c(1,3)] 
plot(load1,type="n") 
text(load1,labels=names(bioData[,2:18]),cex=.7, col = cols)


load2 <- fa1$loadings[,2:3] 
plot(load2,type="n") 
text(load2,labels=names(bioData[,2:18]),cex=.7, col = cols)
```


<br><br>

Ako alternatívnu možnosť múžeme využiť R knižnicu 'FactoMineR' a funkciu `PCA()` a vykresliť kompletnú faktorovú mapu jednotlivých premenných, z ktorej získame intuitívnu predstavu o vzájomných koreláciach.  

```{r, fig.width = 10}
library(FactoMineR)
par(mfrow = c(1,2))
result <- PCA(bioData[,2:18])
```

<br><br>

#### <font color = "#880000">Poznámka</font>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
<ul>
<li>R funkcia `factanal()` využíva pre faktorovú analýzu škálované pôvodné premenné -- variančná-kovariančná matica $\boldsymbol{X}$ je nahradená príslušnou korelačnou maticou s jednotkami na diagonále (resp. výberovou verziou matice). Pre pripomenutie, faktorová analýza je 
ale na rozdiel od metódy hlavných komponent invariantná voči měřítku, keďže nás primárne zaujíma kovariačná štruktúra -- teda mimodiagonálne prvky variančnej-kovariančnej matice. PCA sa zameriavala na variančnú štruktúru, teda na diagonálne prvky variačnej-kovariančnej matice. 
 </li>
</ul>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
<br>

<br><br>

Budeme uvažovať tri latentné faktory za dostačujúce. Pre získanie príslušných skórov (hodnoty v matici $\boldsymbol{F}$) pre všetky uvažované pozorovania pre $n = 65$, použijeme dodatočný parameter `scores = "regression"`. 

```{r}
fa1 <- factanal(bioData[,2:18], factors = 3, scores = "regression")
fa1$scores[1:10, ] ### first 10 observations only
```

Príslušné loadingy (hodnoty v matici $\Lambda$) získame pomocou príkazu

```{r}
fa1$loadings[1:10,] ### first ten only
```

<br><br>

<hr size="3" width="100%" noshade style="color:#440000" align="left" />
#### <font color = "#880000">Samostatne</font>
<ul>
<li>Aplikujte faktorovú analýzu na vhodné data a uvažujte rôzný počet latentných faktorov. </li>

<li>Použijte nejaké vhodné miery na kvantitatívne zistenie chyby aproximácie pôvodného vektoru 
pomocou daného počtu latentných faktorov.</li>
</ul>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />

<br><br>

### <font color = "#880000"><b>2. Využitie faktorovej analýzy v regresii a SEM modeloch</b></font>
Už bolo v úvode uvedené, že faktorová analýza je hodne efektívny nástroj hlavne v prípadoch, že je na data nutné aplikovať 
nejaký regresný model, ale celkový počet premenných, prípadne vzájomná korelácia medzi premennými neumožňuje aplikovať metodológiu 
regresného modelu priamočiaro. Faktorová analýza poskytuje ďalší nástroj, ako si s problémom poradiť: vzájomne korelované premenné je 
možné efektívne (z pohľadu regresného modelu) a zmysluplne (z pohľadu experta a následnej interpretácie) náhradiť latentnými faktormi. 
Tým získame jednak redukciu dimenzionality a zároveň sa vyrieši problém multikolinearity. 

Flexibilný nástroj regresného modelovania, ktorý často využíva práve faktorovú analýzu a princíp latentných premenných 
je tzv. model štrukturálnych rovníc -- Structural Equation Model (SEM). Jedna sa o komplexný model (v určitom zmysle zovšeobecnenie 
štandardného modelu lineárnej regresie), ktorý ma obrovský potenciál pri modelovani kauzálnych závislosti medzi endogennými a exogennými 
premennými.  <br><br>

Pre SEM model sa často využíva schématicky diagram, na základe ktorého je následne vybudovaný štatistický model. 
Schématický diagram vzniká na základe určitých apriórnych znalosti, exploratívnej analýzy a expertného pohľadu. <br><br>

Ilustračný príklad schématického diagramu pre SEM model: 

<center>
<img src = "sem.jpg" width = 900>
</center>

<br><br>


V programe R je k dispozícii knižnica  'sem' prípadne knižnica 'lavaan'. 
Pre jednoduchú ilustráciu SEM modelu využijeme data 'PoliticalDemocracy' z knižnice `library("lavaan")`. 

```{r, warning=F,message=F}
library("sem")
library("lavaan")
data(PoliticalDemocracy)
PoliticalDemocracy[1:10,]
```

Príslušný schématický diagram, na základe ktorého zostavíme SEM model, vyzerá takto: 

<center>
<img src = "lavaan.png" width = 900>
</center>

Samotný model je v programe R implementovaný následovne: 

```{r}
model <- '
  # measurement model
    ind60 =~ x1 + x2 + x3
    dem60 =~ y1 + y2 + y3 + y4
    dem65 =~ y5 + y6 + y7 + y8
  # regressions
    dem60 ~ ind60
    dem65 ~ ind60 + dem60
  # residual correlations
    y1 ~~ y5
    y2 ~~ y4 + y6
    y3 ~~ y7
    y4 ~~ y8
    y6 ~~ y8
'
```


Odhad získame pomocou:  

```{r}
fit <- sem(model, data=PoliticalDemocracy)
summary(fit, standardized=TRUE)
```

<br><br>

<hr size="3" width="100%" noshade style="color:#440000" align="left" />
#### <font color = "#880000">Samostatne</font>
<ul>
<li>Uvažujte napríklad dataset  `HolzingerSwineford1939` z R knižnice `library("lavaan")`:  
```{r}
data(HolzingerSwineford1939)

dim(HolzingerSwineford1939)
head(HolzingerSwineford1939)
```
</li>

<li>Aplikujte faktorovú analýzu na premenné $X_{1}, \dots, X_9$ a uvažujte tri latentné faktory: 

```{r, eval = F}
fa_Hol <- factanal(HolzingerSwineford1939[,7:15], factors = 3, rotation="varimax")
print(fa_Hol, digits=2, cutoff=.45, sort=TRUE)
```
</li>

<li>Ako by ste interpretovali výsledky faktorovej analýzy? Ako by ste navrhli lineárny regresný model (prípadne SEM), aby ste dostali 
nejaké kvantitatívne výsledky?</li>

<li>Vhodná by bola napríklad tzv. konfirmačná faktorová analýza... V programe R funkcia  `cfa()` z knižnice 'lavaan', 
ktorá je vpodstate hodne analogická s funkciou  `sem()`. Takto by vyzeral model: 

```{r, eval = F}
HS.model <- ' visual  =~ x1 + x2 + x3
              textual =~ x4 + x5 + x6
              speed   =~ x7 + x8 + x9 '

fit <- cfa(HS.model, data=HolzingerSwineford1939)
summary(fit, fit.measures=TRUE)
``` 

</li>

<li>Ako by vyzeral príslušný schématický diagram?</li>

</ul>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />


<br><br>

<br><br>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
<hr size="3" width="100%" noshade style="color:#440000" align="left" /><br><br> 

## <font color = "#880000"><b>Domáca (samostatná) úloha </b></font>
### (Deadline: Cvičenie č.9 / 27.04.2021)

<hr size="3" width="100%" noshade style="color:#440000" align="left" />

<ul>
<li>Vyberte si vhodný datový súbor (napr. data, ktoré ste uvažovali v prvej, štvrtej, alebo predchádzajúcej domácej úlohe); </li>

<li>Z podkladového datového súboru uvažujte vhodné (numerické) premenné a aplikujte faktorovú analýzu.</li>

<li>Výsledky faktorovej analýzy sa pokúste pomocou rôznych rozširujúcich knižníc v programe R vhodne vizualizovať. </li>

<li> Riešenie umiestnite na svoju webovú stránku, <font color = "red">najneskôr v utorok, 27.04.2021, do 14:00</font>.</li>
</ul>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
<br><br>
</td></tr></table>
<br><br><br>