Ishodi učenja:
Konstruirati matricu sličnosti/udaljenosti i primijeniti MDS.
Provesti faktorsku analizu nad mrežnim indikatorima i interpretirati faktore.
Validirati rješenje (stress, opterećenja, rotacije) i argumentirati izbor.
Integrirati rezultate skaliranja u mrežnu interpretaciju (pozicije u prostoru).
U prethodnim lekcijama analizirali smo mreže kroz pojedinačne mjere – stupanj, posredništvo, blizinu, gustoću, zajednice i sl. Takav pristup omogućuje precizno mjerenje određenih aspekata strukture, ali često ostaje otvoreno pitanje: postoje li dublje, latentne dimenzije koje organiziraju mrežu?
Drugim riječima, može li se više različitih mrežnih mjera svesti na manji broj temeljnih obrazaca? I možemo li čvorove smjestiti u prostor tako da njihova međusobna udaljenost odražava strukturnu sličnost?
Odgovor na ta pitanja nude metode skaliranja (MDS) i faktorske analize (FA). One omogućuju redukciju dimenzionalnosti i otkrivanje skrivenih obrazaca u podacima, što je ključno za pozicijsku analizu i interpretaciju mrežnih uloga (usp. Knoke & Yang, 2020).
S obzirom da je u prethodnoj lekciji obrađeno blok-modeliranje, ovdje je korisno jasno pozicionirati skaliranje i faktorsku analizu u odnosu na taj pristup.
Blok-modeliranje polazi od pretpostavke da se čvorovi mogu diskretno grupirati u strukturno ili regularno ekvivalentne pozicije. Drugim riječima, cilj je podijeliti mrežu na blokove (klase) unutar kojih su obrasci veza slični, a između kojih se uočavaju sustavne razlike. Rezultat je tipično matrica reduciranih odnosa i interpretacija uloga (npr. jezgra–periferija, centar–posrednik–margina). Time se naglasak stavlja na kategorizaciju i strukturnu tipologiju (Knoke & Yang, 2020).
Nasuprot tomu, metode skaliranja (MDS) i faktorske analize (FA) ne polaze od unaprijed definirane podjele na skupine, nego od kontinuiranih dimenzija. MDS smješta čvorove u geometrijski prostor tako da njihove međusobne udaljenosti odražavaju strukturnu (ne)sličnost, dok faktorska analiza reducira skup mrežnih indikatora na manji broj latentnih faktora koji objašnjavaju njihovu korelacijsku strukturu. Umjesto diskretnih blokova, dobivamo kontinuirani prostor pozicija ili latentne osi koje organiziraju mrežu.
Može se reći da blok-modeliranje odgovara na pitanje: Koje su strukturne kategorije čvorova? Skaliranje i faktorska analiza odgovaraju na pitanje: Koje dimenzije strukturiraju razlike među čvorovima?
U teorijskom smislu, oba pristupa pripadaju području naprednih metoda pozicijske analize (Knoke & Yang, 2020), ali se razlikuju u ontološkoj pretpostavci o strukturi: blok-modeliranje pretpostavlja segmentaciju u relativno homogene skupine, dok skaliranje i FA pretpostavljaju da se mrežna struktura može opisati pomoću latentnih, često interpretativnih osi (npr. „centralnost“, „posrednička moć“, „perifernost“).
U mrežama nas često zanima koliko su dva čvora „slična“. Sličnost može značiti:
Takvu informaciju formaliziramo u matrici sličnosti ili matrici udaljenosti.
Neka je \(X\) matrica značajki dimenzije \(n \times p\), gdje:
Euklidska udaljenost između čvora \(i\) i čvora \(j\) definira se kao:
\[ d_{ij} = \sqrt{\sum_{k=1}^{p} (x_{ik} - x_{jk})^2} \]
gdje:
Veća vrijednost \(d_{ij}\) znači manju sličnost.
Udaljenost možemo računati iz:
Time mrežu transformiramo u geometrijski problem.
Koristimo poznatu mrežu brakova među firentinskim obiteljima,
dostupnu putem netrankr paketa (Schoch, 2022); a koju su
inicijalno istraživali Padgett i Ansell (1993) (navodi se i u Jackson
(2008) i van Steen (2010)).
library(igraph)
library(netrankr)
florentine <- florentine_m
# mrežne mjere
X <- data.frame(
degree = igraph::degree(florentine, normalized = TRUE),
betweenness = igraph::betweenness(florentine, normalized = TRUE),
harmonic = igraph::harmonic_centrality(florentine, normalized = TRUE) # closeness bi za Pucci javljao NaN
)
X
## degree betweenness harmonic
## Acciaiuol 0.06666667 0.00000000 0.3944444
## Albizzi 0.20000000 0.18412698 0.5222222
## Barbadori 0.13333333 0.08095238 0.4722222
## Bischeri 0.20000000 0.09047619 0.4800000
## Castellan 0.20000000 0.04761905 0.4611111
## Ginori 0.06666667 0.00000000 0.3555556
## Guadagni 0.26666667 0.22063492 0.5388889
## Lambertes 0.06666667 0.00000000 0.3577778
## Medici 0.40000000 0.45238095 0.6333333
## Pazzi 0.06666667 0.00000000 0.3177778
## Peruzzi 0.20000000 0.01904762 0.4522222
## Pucci 0.00000000 0.00000000 0.0000000
## Ridolfi 0.20000000 0.09841270 0.5333333
## Salviati 0.13333333 0.12380952 0.4388889
## Strozzi 0.26666667 0.08888889 0.5222222
## Tornabuon 0.20000000 0.07936508 0.5222222
# matrica udaljenosti
D <- dist(scale(X))
D
## Acciaiuol Albizzi Barbadori Bischeri Castellan Ginori
## Albizzi 2.24526934
## Barbadori 1.10334897 1.15770414
## Bischeri 1.65002984 0.85269934 0.67139597
## Castellan 1.46607616 1.24186199 0.72679784 0.38916983
## Ginori 0.27326090 2.36782696 1.26124405 1.76800019 1.57482300
## Guadagni 2.92367645 0.74297410 1.84549889 1.35899188 1.70911963 3.02939899
## Lambertes 0.25764599 2.36014290 1.25115096 1.76032953 1.56752923 0.01561491
## Medici 5.36275856 3.13427067 4.28871305 3.83081710 4.16809002 5.45447008
## Pazzi 0.53871435 2.50974595 1.44790552 1.91325214 1.71589947 0.26545345
## Peruzzi 1.39855952 1.49252813 0.86032902 0.64020820 0.25176222 1.50084021
## Pucci 2.85012276 4.46163933 3.64039310 3.99286707 3.82544444 2.58517042
## Ridolfi 1.85009918 0.73582793 0.80485014 0.38083219 0.66748502 2.00771176
## Salviati 1.28672662 1.02428473 0.43439324 0.77819579 0.94262894 1.37877289
## Strozzi 2.31354116 1.04980895 1.37576605 0.72758575 0.86583829 2.43266167
## Tornabuon 1.74063994 0.89426844 0.75152954 0.31147528 0.50776841 1.89610060
## Guadagni Lambertes Medici Pazzi Peruzzi Pucci
## Albizzi
## Barbadori
## Bischeri
## Castellan
## Ginori
## Guadagni
## Lambertes 3.02279190
## Medici 2.47356224 5.44890185
## Pazzi 3.15145268 0.28106836 5.55499480
## Peruzzi 1.94245994 1.49383813 4.39008911 1.63817112
## Pucci 4.99443822 2.60026423 7.11330653 2.32962692 3.75424860
## Ridolfi 1.23741779 1.99803360 3.68701220 2.18279111 0.88533057 4.32673643
## Salviati 1.71510611 1.37221413 4.09783356 1.51074736 1.11788650 3.52028099
## Strozzi 1.13069162 2.42518305 3.46437419 2.57100428 1.01908859 4.59345368
## Tornabuon 1.38170345 1.88649609 3.83651980 2.07060806 0.71206673 4.23022677
## Ridolfi Salviati Strozzi
## Albizzi
## Barbadori
## Bischeri
## Castellan
## Ginori
## Guadagni
## Lambertes
## Medici
## Pazzi
## Peruzzi
## Pucci
## Ridolfi
## Salviati 0.96363114
## Strozzi 0.67370715 1.48204003
## Tornabuon 0.18036776 0.96332243 0.66916791
Za ovaj primjer koristimo ranije korišten skup podataka enron iz
igraphdata paketa (Csardi, 2015), koje su inicijalno
predstavili Klimt i Yang (2004).
library(igraphdata)
data("enron")
g_enron <- igraph::upgrade_graph(enron)
# mrežne mjere
Xe <- data.frame(
degree = igraph::degree(g_enron, normalized = TRUE),
betweenness = igraph::betweenness(g_enron, normalized = TRUE),
harmonic = igraph::harmonic_centrality(g_enron, normalized = TRUE)
)
# matrica udaljenosti
De <- dist(scale(Xe))
#De ovdje nećemo ispisivati matricu jer je ogromna i bilo bi nepregledno
Ako imamo matricu udaljenosti, možemo se zapitati:
Možemo li čvorove prikazati u dvodimenzionalnom prostoru tako da međusobne udaljenosti na slici što bolje odgovaraju stvarnim udaljenostima?
Intuitivna ideja
MDS reducira geometrijske udaljenosti između jedinica.
Polazimo od matrice udaljenosti:
\[ d_{ij} \]
gdje je \(d_{ij}\) udaljenost između čvora \(i\) i \(j\).
Pitanje glasi:
Možemo li čvorove smjestiti u 2D prostor tako da njihove udaljenosti na slici što bolje odgovaraju tim vrijednostima?
To je cilj multidimenzionalnog skaliranja (MDS).
MDS traži skup koordinata \(Y\) u prostoru dimenzije \(q\) (najčešće \(q=2\)), tako da minimizira razliku između izvornih udaljenosti \(d_{ij}\) i udaljenosti u prostoru \(\hat{d}_{ij}\).
Jedna od mjera prilagodbe je stress:
\[ \text{Stress} = \sqrt{\frac{\sum_{i<j} (d_{ij} - \hat{d}_{ij})^2}{\sum_{i<j} d_{ij}^2} } \]
U mrežnoj analizi MDS omogućuje vizualnu identifikaciju strukturnih pozicija i potencijalnih blokova (Knoke & Yang, 2020; Torgerson, 1952; Kruskal, 1964).
Pretpostavimo da imamo 4 čvora (A, B, C, D) i da smo iz mreže izračunali neku udaljenost između parova čvorova (npr. geodetska udaljenost, ili udaljenost iz mrežnih mjera nakon skaliranja). Cilj MDS-a je: smjestiti čvorove u 2D tako da udaljenosti na crtežu što bolje reproduciraju te zadane udaljenosti. To je u mrežama posebno korisno jer prostor dobiva interpretaciju „strukturne bliskosti” (Knoke & Yang, 2020).
| A | B | C | D | |
|---|---|---|---|---|
| A | 0 | 1 | 2 | 2 |
| B | 1 | 0 | 2 | 2 |
| C | 2 | 2 | 0 | 1 |
| D | 2 | 2 | 1 | 0 |
Intuicija: A je blizak B (udaljenost 1), C je blizak D (udaljenost 1), a „između parova” su udaljenosti 2.
\(n = 4\).
Prva metodološka odluka je: metric ili non-metric MDS?
Ovdje pretpostavljamo da su udaljenosti metričke (kvantitativne i usporedive po razlici), pa biramo metric MDS. To je tipično kad udaljenosti dolaze iz geodetskih udaljenosti ili euklidskih udaljenosti u prostoru mjera.
Formira se matrica kvadriranih udaljenosti:
\[ D^{(2)} = (d_{ij}^2) \]
To je potrebno jer će se koristiti u algebarskoj rekonstrukciji skalarnih produkata.
\[ D^{(2)} = \begin{pmatrix} 0 & 1 & 4 & 4 \\ 1 & 0 & 4 & 4 \\ 4 & 4 & 0 & 1 \\ 4 & 4 & 1 & 0 \end{pmatrix} \]
Definira se matrica:
\[ B = -\frac{1}{2} J D^{(2)} J \]
gdje je:
\[ J = I - \frac{1}{n}\mathbf{1}\mathbf{1}^T \]
Ovaj korak je ključan: transformiramo udaljenosti u matricu skalarnih produkata.
Drugim riječima: iz udaljenosti rekonstruiramo unutarnje produkte (dot products).
To je linearno-algebarska osnova MDS-a.
Za \(n=4\):
\[ \frac{1}{4}\mathbf{1}\mathbf{1}^T = \frac{1}{4} \begin{pmatrix} 1&1&1&1\\ 1&1&1&1\\ 1&1&1&1\\ 1&1&1&1 \end{pmatrix} \]
Dakle:
\[ J = \begin{pmatrix} 0.75 & -0.25 & -0.25 & -0.25\\ -0.25 & 0.75 & -0.25 & -0.25\\ -0.25 & -0.25 & 0.75 & -0.25\\ -0.25 & -0.25 & -0.25 & 0.75 \end{pmatrix} \]
\[ B = -\frac{1}{2} J D^{(2)} J \]
Umjesto direktnog množenja 4×4 matrica (što je računski naporno), koristimo ekvivalentnu formulu element-po-element (Torgerson-Gower scaling):
\[b_{ij} = -\frac{1}{2}\left(d_{ij}^2- \bar d_{i\cdot}^2- \bar d_{\cdot j}^2+ \bar d_{\cdot\cdot}^2\right)\]
gdje su:
Računamo iz \(D^{(2)}\):
Red A: \((0+1+4+4)/4 = 9/4 = 2.25\)
Red B: također 2.25
Red C: 2.25
Red D: 2.25
Dakle svi redni i stupčani prosjeci su 2.25.
Ukupni prosjek:
Zbroj svih elemenata = 36
\(36 / 16 = 2.25\)
Zanimljivo: svi prosjeci su jednaki (zbog simetrije matrice).
Formula se pojednostavljuje:
\[ b_{ij} = -\frac{1}{2}(d_{ij}^2 - 2.25 - 2.25 + 2.25) \]
\[ b_{ij} = -\frac{1}{2}(d_{ij}^2 - 2.25) \]
Dijagonala (A,A) iz \(D^{(2)}\): \(d_{AA}^2 = 0\)
\[ b_{AA} = -\frac{1}{2}(0 - 2.25) = 1.125 \]
Element A,B, iz \(D^{(2)}\): \(d_{AB}^2 = 1\)
\[ b_{AB} = -\frac{1}{2}(1 - 2.25) = 0.625 \]
Element A,C, iz \(D^{(2)}\): \(d_{AC}^2 = 4\)
\[ b_{AC} = -\frac{1}{2}(4 - 2.25) = -0.875 \]
itd.
Dobivamo:
\[ B = \begin{pmatrix} 1.125 & 0.625 & -0.875 & -0.875 \\ 0.625 & 1.125 & -0.875 & -0.875 \\ -0.875 & -0.875 & 1.125 & 0.625 \\ -0.875 & -0.875 & 0.625 & 1.125 \end{pmatrix} \]
Ovo je matrica skalarnih produkata.
Računamo svojstvene vrijednosti i svojstvene vektore matrice \(B\):
\[ B = V \Lambda V^T \] gdje su:
Kako iz konkretne matrice (B) doista dobijemo svojstvene vrijednosti? Koristeći činjenicu da je (B) simetrična i da zbog svoje blok-strukture ima „prirodne” svojstvene vektore. Ovakav MDS pristup (ugradnja udaljenosti u prostor) tipično se navodi kao jedan od standardnih alata za pozicioniranje čvorova u prostoru u naprednijim metodama mrežne analize.
Nakon dvostrukog centriranja dobili smo:
\[ B = \begin{pmatrix} 1.125 & 0.625 & -0.875 & -0.875 \\ 0.625 & 1.125 & -0.875 & -0.875 \\ -0.875 & -0.875 & 1.125 & 0.625 \\ -0.875 & -0.875 & 0.625 & 1.125 \end{pmatrix}. \]
Svojstveni par \((\lambda, v)\) zadovoljava:
\[ Bv = \lambda v. \]
Umjesto da računamo \(\det(B-\lambda I)=0\) (što je za 4×4 matricu teže), ovdje koristimo simetriju: čvorovi (A,B) čine jedan „par”, a (C,D) drugi. To sugerira da će neki svojstveni vektori prirodno opisivati:
Zato koristimo četiri jednostavna (i međusobno ortogonalna) vektora:
\[ v_1 = (1,1,1,1)^T,\quad v_2 = (1,1,-1,-1)^T,\quad v_3 = (1,-1,0,0)^T,\quad v_4 = (0,0,1,-1)^T. \]
Sada za svaki vektor eksplicitno izračunamo \(Bv\) i vidimo je li rezultat skalarni višekratnik od (v).
Prvi svojstveni vektor \(v_1=(1,1,1,1)^T\)
Izračunamo prvi redak \(Bv_1\):
\[ 1.125\cdot 1 + 0.625\cdot 1 - 0.875\cdot 1 - 0.875\cdot 1 = 1.125 + 0.625 - 1.75 = 0. \]
Zbog simetrije, isto vrijedi i za ostale retke, pa je:
\[ Bv_1 = (0,0,0,0)^T = 0\cdot v_1. \]
Dakle, svojstvena vrijednost je:
\[ \lambda_1 = 0. \]
Interpretacija: ovo je posljedica centriranja (prosjek je „oduzet”).
Drugi svojstveni vektor \(v_2=(1,1,-1,-1)^T\)
Prvi element (\(Bv_2\)):
\[ 1.125\cdot 1 + 0.625\cdot 1 + (-0.875)\cdot(-1) + (-0.875)\cdot(-1) = 1.125 + 0.625 + 0.875 + 0.875 = 3.5. \]
Drugi element je isti (zbog simetrije), dakle (3.5). Treći element:
\[ (-0.875)\cdot 1 + (-0.875)\cdot 1 + 1.125\cdot(-1) + 0.625\cdot(-1) = -0.875 -0.875 -1.125 -0.625 = -3.5. \]
Četvrti je također (-3.5). Dakle:
\[ Bv_2 = (3.5,3.5,-3.5,-3.5)^T = 3.5\cdot (1,1,-1,-1)^T = 3.5v_2. \]
Zato je:
\[ \lambda_2 = 3.5. \]
Treći svojstveni vektor \(v_3=(1,-1,0,0)^T\)
Prvi element:
\[ 1.125\cdot 1 + 0.625\cdot(-1) + (-0.875)\cdot 0 + (-0.875)\cdot 0 = 1.125 - 0.625 = 0.5. \]
Drugi element:
\[ 0.625\cdot 1 + 1.125\cdot(-1) + (-0.875)\cdot 0 + (-0.875)\cdot 0 = 0.625 - 1.125 = -0.5. \]
Treći i četvrti element su 0 (jer se množi s (0,0) i simetrično se poništava). Dakle:
\[ Bv_3 = (0.5,-0.5,0,0)^T = 0.5\cdot (1,-1,0,0)^T = 0.5v_3, \]
pa je:
\[ \lambda_3 = 0.5. \]
Četvrti svojstveni vektor \(v_4=(0,0,1,-1)^T\)
Analogno:
Prvi i drugi element su 0, a treći:
\[ (-0.875)\cdot 0 + (-0.875)\cdot 0 + 1.125\cdot 1 + 0.625\cdot(-1) = 1.125 - 0.625 = 0.5, \]
četvrti:
\[ (-0.875)\cdot 0 + (-0.875)\cdot 0 + 0.625\cdot 1 + 1.125\cdot(-1) = 0.625 - 1.125 = -0.5. \]
Dakle:
\[ Bv_4 = (0,0,0.5,-0.5)^T = 0.5\cdot (0,0,1,-1)^T = 0.5 v_4, \]
pa je:
\[ \lambda_4 = 0.5. \]
Svojstvene vrijednosti matrice (B) su:
Četvrta svojstvena vrijednost \(\lambda_4 = 0\) nije slučajna. Kod MDS-a, nakon dvostrukog centriranja, barem jedna svojstvena vrijednost uvijek mora biti 0 jer su podaci centrirani u ishodištu (matrica B gubi jedan stupanj slobode).
Koordinate u \(k\) dimenzija dobivamo kao:
\[ X_k = V_k \Lambda_k^{1/2} \]
To su koordinate čvorova.
Koristimo izračunatu spektralnu dekompoziciju:
Svojstvene vrijednosti:
Metodološka odluka: mreža je zapravo 3-dimenzionalna, jer imamo 3 pozitivne svojstvene vrijednosti.
Sljedeće, računamo udaljenosti u dobivenom prostoru
Euklidska udaljenost između čvorova \(i\) i \(j\) u prostoru dimenzije \(q=2\) je:
\[ \hat d_{ij} = \sqrt{(x_i-x_j)^2 + (y_i-y_j)^2}, \]
gdje su \((x_i,y_i)\) koordinate čvora \(i\), a \(\hat d_{ij}\) udaljenost na crtežu.
Koordinate su:
\[ X = V_k \Lambda_k^{1/2} \]
Ista ideja generalizira se za q dimenzija:
\[ d_{ij} = \sqrt{\sum_{k=1}^{q}(x_{ik}-x_{jk})^2}. \]
Budući da imamo tri pozitivne svojstvene vrijednosti, udaljenosti se mogu točno ugraditi u 3D (u 2D dobivamo aproksimaciju).
Za ovu matricu (B) (parovi (A,B) i (C,D)) praktično je odabrati sljedeće „prirodne” vektore:
za \(\lambda_1 = 3.5\): vektor koji razdvaja par \((A,B)\) od para \((C,D)\) \[ u_1 = (1,1,-1,-1)^T \]
za \(\lambda_2 = 0.5\): razlika unutar para \((A,B)\) \[ u_2 = (1,-1,0,0)^T \]
za \(\lambda_3 = 0.5\): razlika unutar para \((C,D)\) \[ u_3 = (0,0,1,-1)^T \]
U dekompoziciji (\(B = V\Lambda V^T\)) pretpostavljamo da su stupci (V) normirani na 1. Zato vektore (\(u_1,u_2,u_3\)) normiramo (ortonormiranje).
Norme su:
Ortonormirani svojstveni vektori su:
\[ v_1=\frac{u_1}{|u_1|}=\frac{1}{2}(1,1,-1,-1)^T \]
\[ v_2=\frac{u_2}{|u_2|}=\frac{1}{\sqrt{2}}(1,-1,0,0)^T \]
\[ v_3=\frac{u_3}{|u_3|}=\frac{1}{\sqrt{2}}(0,0,1,-1)^T \]
Sada možemo složiti:
\[ V_3 = [v_1 \text{ } v_2 \text{ } v_3]. \]
Koordinate u \(k\) dimenzija dobivamo:
\[ X_k = V_k \Lambda_k^{1/2}, \]
gdje je \(\Lambda_k^{1/2}\) dijagonalna matrica korijena svojstvenih vrijednosti.
Ovdje uzimamo \(k=3\), pa:
\[ \Lambda_3^{1/2}=\text{diag}\big(\sqrt{3.5},\sqrt{0.5},\sqrt{0.5}\big). \]
Numerički:
Koordinate se dobivaju tako da svaki svojstveni vektor „skalarno rastegnemo” pripadnim korijenom svojstvene vrijednosti:
Konkretno:
Dim1: \(\sqrt{3.5}\cdot \frac{1}{2} = 1.871\cdot 0.5 = 0.9355\) \(⇒ (A,B)\) imaju \(+0.9355\), a \((C,D)\) \(-0.9355\) (ili obrnuto; predznak je proizvoljan).
Dim2: \(\sqrt{0.5}\cdot \frac{1}{\sqrt{2}} = 0.7071\cdot 0.7071 = 0.5\) \(⇒\) unutar \((A,B)\) dobijemo \(\pm 0.5\).
Dim3: analogno daje \(\pm 0.5\) unutar \((C,D)\).
Jedno potpuno korektno 3D rješenje (zaokruženo) je:
| Čvor | Dim1 | Dim2 | Dim3 |
|---|---|---|---|
| A | 0.935 | 0.500 | 0.000 |
| B | 0.935 | -0.500 | 0.000 |
| C | -0.935 | 0.000 | 0.500 |
| D | -0.935 | 0.000 | -0.500 |
Vidimo:
Kad imamo 3D koordinate \((x_i,y_i,z_i)\), udaljenost između čvorova \(i\) i \(j\) je:
\[ \hat d_{ij}=\sqrt{(x_i-x_j)^2+(y_i-y_j)^2+(z_i-z_j)^2}. \]
Na prethodnoj tablici možemo brzo provjeriti:
Dakle, u 3D dobivamo udaljenosti koje se (u okviru zaokruživanja) poklapaju s izvornima, što je u skladu s tvrdnjom da su tri svojstvene vrijednosti pozitivne.
stress je procjena kvalitete 2D projekcije.
stress:
\[ \text{Stress} = \sqrt{\frac{\sum_{i<j} (d_{ij} - \hat d_{ij})^2}{\sum_{i<j} d_{ij}^2}}, \]
gdje:
U našem primjeru imamo tri pozitivne svojstvene vrijednosti
\[ \lambda_1=3.5,\quad \lambda_2=0.5,\quad \lambda_3=0.5. \] To znači:
Ako uzmemo 2D rješenje (npr. prve dvije dimenzije), dobivamo koordinate:
| Čvor | Dim1 | Dim2 |
|---|---|---|
| A | 0.935 | 0.500 |
| B | 0.935 | -0.500 |
| C | -0.935 | 0.000 |
| D | -0.935 | 0.000 |
Sada računamo udaljenosti u 2D.
Formula:
\[ \hat d_{ij} = \sqrt{(x_i-x_j)^2+(y_i-y_j)^2} \]
Par A–B
\[ \sqrt{0^2+(0.5-(-0.5))^2}=1 \]
Par C–D
\[ \sqrt{0^2+0^2}=0 \]
Ovdje vidimo problem: u 2D projekciji C i D se preklapaju jer smo izostavili treću dimenziju (koja ih je razdvajala). Izvorna udaljenost bila je 1.
Par A–C
\[ \sqrt{(0.935+0.935)^2+(0.5-0)^2}=\sqrt{(1.87)^2+0.25} \]
\[ \sqrt{3.4969+0.25}= \sqrt{3.7469} \approx 1.936 \]
Nazivnik:
\[ 1^2+2^2+2^2+2^2+2^2+1^2=18. \]
Odstupanja
Ukupan brojnik \(≈1+4\times 0.0041=1.0164\)
Dakle:
\[\text{Stress}= \sqrt{\frac{1.0164}{18}}=\sqrt{0.0565}\approx 0.238.\]
To znači:
2D projekcija gubi bitnu informaciju (razliku između C i D).
U 3D projekciji stress bi trebao biti \(≈ 0\) ako se udaljenosti točno reproduciraju.
Upravo zato se u ozbiljnoj mrežnoj analizi naglašava da layout ne smije biti samo vizualno atraktivan, nego i numerički opravdan.
Metodološka odluka: 2D ili 3D?
Ako je stress visok, imamo dvije tipične opcije:
U mrežnoj interpretaciji je važno naglasiti da osi u MDS-u nemaju inherentno značenje; značenje se dodjeljuje naknadno (npr. korelacijom koordinata s mrežnim mjerama ili atributima), što je u skladu s općim principima određivanja „layout space” i interpretacije prostora u mrežnim prikazima (Rawlings i sur. 2024).
mds <- cmdscale(D, k = 2)
plot(mds,
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 2")
text(mds, labels = V(florentine)$name, pos = 1)
mds2 <- cmdscale(D, k = 3)
par(mfrow=c(3,1))
plot(mds2[,1:2],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 2")
text(mds2, labels = V(florentine)$name, pos = 1)
plot(mds2[,2:3],
pch = 19,
xlab = "Dimenzija 2",
ylab = "Dimenzija 3")
text(mds2, labels = V(florentine)$name, pos = 1)
plot(mds2[,c(1,3)],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 3")
text(mds2, labels = V(florentine)$name, pos = 1)
D_hat <- dist(mds)
# stress formula
stress <- sqrt(sum((D - D_hat)^2) / sum(D^2))
stress
## [1] 0.05407789
D_hat <- dist(mds2)
# stress formula
stress <- sqrt(sum((D - D_hat)^2) / sum(D^2))
stress
## [1] 6.705194e-16
Dvije dimenzije daju interpretativno upotrebljiv prikaz, iako tri dimenzije znatno vjernije reproduciraju udaljenosti (\(\approx 0\))
Interpretacija dimenzija proizlazi iz korelacije koordinata s izvornim mrežnim mjerama.
coords1 <- as.data.frame(mds)
colnames(coords1) <- c("Dim1", "Dim2")
cor(coords1, X)
## degree betweenness harmonic
## Dim1 -0.970778097 -0.8926316 -0.8956334
## Dim2 -0.006083932 0.4324383 -0.4243946
coords2 <- as.data.frame(mds2)
colnames(coords2) <- c("Dim1", "Dim2", "Dim3")
cor(coords2, X)
## degree betweenness harmonic
## Dim1 -0.970778097 -0.8926316 -0.8956334
## Dim2 -0.006083932 0.4324383 -0.4243946
## Dim3 -0.239901796 0.1273023 0.1331542
Dim1 predstavlja opću strukturalnu centralnost (korelacije su vrlo visoke). Čvorovi na jednom ekstremu Dim1 su visoko povezani (degree), važni posrednici (betweenness) i geodetski bliski ostatku mreže (harmonic).
Dim2 može ilustrirati posredništvo naspram lokalne uključenosti. Naime, degree \(≈ 0\), betweenness \(≈ +0.43\) i harmonic \(≈ -0.42\). Pozitivno korelira s betweenness, što znači da hvata posredničke pozicije; a negativno s harmonic (čvorovi geodetski bliži drugima su na suprotnom kraju). Možemo zaključiti da Dim2 diferencira brokere od čvorova koji su lokalno dobro uklopljeni.
Dim3 ne odgovara jednostavnim centralnostima. Sve korelacije su slabe (\(<0.3\)). Ova dimenzija vjerojatno hvata modularnost / zajednice, organizacijske razlike ili strukturnu diferencijaciju koju centralnosti ne objašnjavaju izravno.
mdse1 <- cmdscale(De, k = 2)
plot(mdse1,
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 2")
text(mdse1, pos = 3)
mdse2 <- cmdscale(De, k = 3)
par(mfrow=c(3,1))
plot(mdse2[,1:2],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 2")
text(mdse2, pos = 3)
plot(mdse2[,2:3],
pch = 19,
xlab = "Dimenzija 2",
ylab = "Dimenzija 3")
text(mdse2, pos = 3)
plot(mdse2[,c(1,3)],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 3")
text(mdse2, pos = 3)
De_hat <- dist(mdse1)
# stress formula
stress <- sqrt(sum((De - De_hat)^2) / sum(De^2))
stress
## [1] 0.1428733
De_hat <- dist(mdse2)
# stress formula
stress <- sqrt(sum((De - De_hat)^2) / sum(De^2))
stress
## [1] 9.388451e-16
Za Enron je primjereno koristiti tri dimenzije.
coords <- as.data.frame(mdse2)
colnames(coords) <- c("Dim1", "Dim2", "Dim3")
cor(coords, Xe)
## degree betweenness harmonic
## Dim1 0.75557075 0.7990671 0.7938947
## Dim2 0.65391832 -0.2757617 -0.3447932
## Dim3 -0.03877724 0.5342726 -0.5008482
Prva dimenzija (Dim1) pokazuje snažne i konzistentne pozitivne korelacije sa sve tri korištene mjere centralnosti: stupnjem (\(r \approx 0.76\)), posredničkom centralnošću (\(r \approx 0.80\)) i harmonic centralnošću (\(r \approx 0.79\)). Takav obrazac upućuje da ova dimenzija predstavlja opću strukturalnu centralnost čvorova u mreži. Čvorovi na jednom ekstremu Dim1 istodobno imaju velik broj veza, često se pojavljuju na najkraćim putovima između drugih čvorova i geodetski su dobro povezani s ostatkom mreže. Drugim riječima, Dim1 razlikuje globalno centralne aktere od onih koji se nalaze na periferiji komunikacijske strukture.
Druga dimenzija (Dim2) pokazuje drugačiji obrazac korelacija. Ona je pozitivno povezana sa stupnjem (\(r \approx 0.65\)), ali negativno s posredničkom (\(r \approx -0.28\)) i harmonic centralnošću (\(r \approx -0.34\)). To znači da Dim2 diferencira čvorove koji imaju velik broj izravnih kontakata od onih koji imaju važnu posredničku ili geodetsku ulogu u mreži. U praksi to znači da se neki akteri mogu nalaziti na položajima s mnogo neposrednih komunikacijskih veza, ali bez značajne uloge u povezivanju različitih dijelova mreže. Nasuprot tome, čvorovi s visokim betweennessom mogu imati manje neposrednih veza, ali biti ključni za protok informacija između skupina.
Treća dimenzija (Dim3) dodatno razdvaja dva koncepta centralnosti koji su u prvoj dimenziji bili snažno povezani: posredničku ulogu i geodetsku dostupnost. Naime, Dim3 pozitivno korelira s betweenness centralnošću (\(r \approx 0.53\)), ali negativno s harmonic centralnošću (\(r \approx -0.50\)), dok je veza sa stupnjem zanemariva. Ova dimenzija stoga razlikuje čvorove koji djeluju kao mostovi ili posrednici između različitih dijelova mreže od onih koji su jednostavno geodetski blizu velikom broju drugih čvorova. Takva situacija nije rijetka u organizacijskim mrežama: pojedinci koji povezuju različite odjele ili komunikacijske skupine mogu imati presudnu brokersku ulogu, iako nisu nužno najbliži ili najpovezaniji s velikim brojem aktera.
Dok MDS mapira čvorove u prostor, faktorska analiza (FA) mapira varijable u latentne dimenzije (Thurstone, 1931).
Ako su degree, betweenness i harmonic centrality visoko korelirani, možda mjere isti temeljni konstrukt – npr. strukturnu centralnost.
Model faktorske analize glasi:
\[ \mathbf{x} = \mathbf{\Lambda} \mathbf{f} + \mathbf{\varepsilon} \]
gdje:
Cilj je objasniti korelacijsku strukturu pomoću manjeg broja faktora.
Rotacija (npr. varimax (Kaiser, 1958)) povećava interpretabilnost.
Za one koji možda nisu imali priliku proći ove teme formalno kroz druge kolegije, u sljedećoj sekciji će se predstaviti teorijski most od tema koje ste učili na kolegiju Vjerojatnost i statistika, pa do faktorske analize.
Polazište: korelacija kao mjera povezanosti
Znate da Pearsonov koeficijent korelacije \(r\) mjeri linearnu povezanost između dviju varijabli:
\[ r = \frac{\text{cov}(X,Y)}{\sigma_X \sigma_Y} \]
gdje je:
Ako je \(r\) blizu 1 ili −1, varijable su snažno povezane; ako je blizu 0, nema linearne povezanosti.
U mrežnom kontekstu možemo zamisliti sljedeće pitanje:
Ako izračunamo više mrežnih mjera (npr. degree, betweenness, closeness), jesu li one međusobno povezane?
Ako jesu, to bi moglo značiti da mjere isti temeljni konstrukt. No, to trebamo provjeriti.
Mini računski primjer: od korelacijske matrice do faktora
Pretpostavimo da smo izračunali korelacijsku matricu triju mrežnih mjera:
\[ \mathbf{R} = \begin{pmatrix} 1 & 0.82 & 0.79 \\ 0.82 & 1 & 0.75 \\ 0.79 & 0.75 & 1 \end{pmatrix} \]
Vidimo da su sve korelacije visoke.
Sljedeći korak u klasičnoj faktorskoj analizi jest dekompozicija korelacijske matrice:
\[ \mathbf{R} = \mathbf{\Lambda} \mathbf{\Lambda}^\top + \mathbf{\Psi} \]
gdje:
Ako najveća vlastita vrijednost (eigenvalue) iznosi, primjerice:
\[ \lambda_1 = 2.40, \]
onda prvi faktor objašnjava:
\[ \frac{2.40}{3} = 0.80 = 80\% \]
ukupne varijance.
To je prvi trenutak metodološke odluke:
Ako je prva eigenvalue znatno veća od ostalih i objašnjava većinu varijance, jednodimenzionalno rješenje je opravdano. U praksi biramo sve faktore koji imaju eigenvalue > 1.
Provjera prikladnosti podataka za faktorsku analizu
Prije nego što provedemo faktorsku analizu, potrebno je provjeriti je li struktura korelacija među varijablama uopće pogodna za faktorizaciju. Ako su varijable međusobno gotovo nepovezane, faktorska analiza nema smisla jer ne postoji zajednička latentna struktura koju bi model mogao objasniti.
U praksi se za tu svrhu najčešće koriste dvije dijagnostičke procedure:
Kaiser–Meyer–Olkin (KMO)
KMO mjera procjenjuje koliko su korelacije između varijabli prikladne za faktorsku analizu. Intuicija je sljedeća: faktorska analiza pretpostavlja da su opažene korelacije rezultat zajedničkih latentnih faktora. Ako su korelacije između varijabli uglavnom „čiste”, odnosno ne proizlaze iz kompleksnih parcijalnih odnosa, tada je faktorizacija smislenija (Kaiser, 1970; Kaiser i Rice, 1974).
Formalno, KMO uspoređuje veličinu stvarnih korelacija s veličinom parcijalnih korelacija:
\[ KMO = \frac{\sum_{i \ne j} r_{ij}^2} {\sum_{i \ne j} r_{ij}^2 + \sum_{i \ne j} p_{ij}^2} \]
gdje su:
Ako su parcijalne korelacije male, znači da varijable dijele zajedničku strukturu i KMO će biti visok.
Uobičajena interpretacija (Kaiser):
| KMO | Interpretacija |
|---|---|
| > 0.90 | izvrsno |
| 0.80–0.90 | vrlo dobro |
| 0.70–0.80 | dobro |
| 0.60–0.70 | prihvatljivo |
| 0.50–0.60 | slabo |
| < 0.50 | neprikladno za FA |
KMO se može izračunati:
Bartlettov test sferičnosti
Bartlettov test provjerava hipotezu da je korelacijska matrica jednaka jediničnoj matrici (Bartlett, 1951):
\[ H_0 : R = I \]
gdje je:
Ako ova hipoteza vrijedi, varijable nisu međusobno povezane i faktorska analiza nije opravdana.
Test statistika približno slijedi \(\chi^2\) (Hi-kvadrat) distribuciju:
\[ \chi^2 = -\left(n - 1 - \frac{2p+5}{6}\right) \ln |R| \]
gdje su:
Ako je p-vrijednost mala, odbacujemo hipotezu o sferičnosti i zaključujemo da postoji dovoljno korelacija za faktorsku analizu. (Knoke & Yang, 2020; Jackson, 2008)
Od regresije do ideje latentne varijable
U jednostavnoj linearnoj regresiji model je:
\[ Y = \beta_0 + \beta_1 X + \varepsilon \]
gdje:
Regresija pretpostavlja da jedna opažena varijabla objašnjava drugu opaženu varijablu.
Faktorska analiza ide korak dalje i postavlja drukčije pitanje:
Što ako više opaženih varijabli zapravo proizlazi iz jedne zajedničke, ali neizravno mjerene varijable?
Ta neizravno mjerena varijabla naziva se latentni faktor.
Intuitivna ideja faktorske analize
Zamislimo da imamo tri mrežne mjere za svaki čvor:
Ako su sve tri međusobno visoko korelirane, moguće je da zapravo mjere istu temeljnu dimenziju – primjerice strukturnu centralnost.
Faktorska analiza formalizira upravo tu ideju.
Formalni model faktorske analize
Model glasi:
\[ x_i = \lambda_i f + \varepsilon_i \]
gdje:
Ako imamo više varijabli, model u vektorskom obliku glasi:
\[ \mathbf{x} = \mathbf{\Lambda} \mathbf{f} + \mathbf{\varepsilon} \]
Interpretacija:
Kako to povezati s korelacijom?
Faktorska analiza zapravo pokušava objasniti korelacijsku matricu pomoću manjeg broja faktora.
Ako tri varijable snažno koreliraju, FA će identificirati jedan faktor koji objašnjava tu zajedničku varijancu.
Dakle:
Kako se izračunavaju faktorska opterećenja? (pojednostavljeno)
U jednofaktorskom modelu vrijedi aproksimacija:
\[ r_{ij} \approx \lambda_i \lambda_j \]
Ako znamo da je korelacija između degree i betweenness:
\[ r = 0.82, \]
i procijenimo:
\[ \lambda_{degree} = 0.90, \]
tada slijedi:
\[ \lambda_{betweenness} \approx \frac{0.82}{0.90} = 0.91. \]
Ovo ilustrira osnovnu ideju: faktorska opterećenja proizlaze iz strukture korelacija.
Što znače faktorska opterećenja?
Ako je, npr.:
\[ \lambda = 0.85 \]
to znači da je varijabla vrlo snažno povezana s latentnim faktorom.
Ako je:
\[ \lambda = 0.20 \]
povezanost je slaba.
Opterećenja se mogu interpretirati slično regresijskim koeficijentima, ali ovdje faktor nije opažena varijabla nego latentna dimenzija.
Komunalitet (Communality, \(h_i^2\))
Komunalitet govori:
koliki dio varijance pojedine varijable objašnjavaju zajednički faktori.
U mrežnom kontekstu:
degree, betweenness,
harmonic, eigen…\[ h_i^2 = \sum_{j=1}^{m} \lambda_{ij}^2 \]
gdje je:
Ako neka centralnost ima nizak komunalitet, ona ne pripada istoj latentnoj strukturi važnosti.
Ponekad se u faktorskoj analizi može dogoditi da procijenjeni komunalitet bude veći od 1:
\[ h_i^2 > 1 \]
Budući da komunalitet predstavlja udio varijance objašnjen zajedničkim faktorima, njegova vrijednost bi teoretski trebala biti u intervalu:
\[ 0 \le h_i^2 \le 1. \]
Ako dobijemo vrijednost veću od 1 (ili negativnu specifičnu varijancu \(u_i^2 < 0\)), govorimo o Heywoodovom slučaju.
Heywoodov slučaj obično upućuje na jedan od sljedećih problema:
To ne znači nužno da je analiza “pogrešna”, ali signalizira da je model potrebno preispitati.
Tipične reakcije su:
U mrežnoj analizi Heywoodov slučaj se može pojaviti kad su različite centralnosti gotovo savršeno korelirane, što znači da latentna struktura postaje numerički nestabilna.
FA vs PCA
PCA (Principal Component Analysis)
\[ Z_1 = a_1 X_1 + a_2 X_2 + \dots \]
PCA = kompresija informacija.
FA (Factor Analysis)
\[ X_i = \lambda_i F + \varepsilon_i \]
FA = model uzročnosti.
Ako radimo FA nad centralnostima:
U mrežnoj analizi je FA često konceptualno smislenija.
Rotacija faktora
U regresiji postoji jedinstveno rješenje. U faktorskoj analizi rješenja nisu jedinstvena.
Rotacija (npr. varimax) je linearna transformacija faktora koja:
Cilj je da svaka varijabla bude snažno povezana s jednim faktorom, a slabo s ostalima.
Rotacija kao geometrijska intuicija:
Geometrijski: Kao da okrećemo koordinatni sustav dok svaka varijabla ne “legne” uz jednu os.
Razlika između MDS i faktorske analize
Faktorska analiza:
MDS:
Do sada smo koristili jednu konkretnu kombinaciju postupaka. Međutim, faktorska analiza nije jedinstvena metoda, nego skup povezanih pristupa. Rezultat analize ovisi o nizu metodoloških odluka, koje treba donositi svjesno i u skladu s ciljem istraživanja.
Studenti često miješaju analizu glavnih komponenti (PCA) i faktorsku analizu (FA). Iako su matematički povezane, razlikuju se u interpretaciji.
PCA (Principal Component Analysis): - cilj je sažeti varijable u manji broj komponenti, - komponente su linearne kombinacije izvornih varijabli, - nema pretpostavke latentne uzročnosti.
FA (Factor Analysis): - pretpostavlja postojanje latentnog faktora koji uzrokuje opažene varijable, - varijable su manifestacije zajedničkog konstrukta, - model uključuje zajedničku i specifičnu varijancu.
U mrežnom kontekstu FA je često konceptualno prikladnija, jer pretpostavljamo da postoji latentna „strukturalna važnost” čvora koja generira visoke vrijednosti različitih centralnosti.
Metoda ekstrakcije određuje kako se procjenjuju faktorski loadings i komunaliteti.
Najčešće metode:
psych.Kod mrežnih mjera (npr. centralnosti), koje često nisu normalno distribuirane, minres ili PAF su obično sigurniji izbor od ML.
Broj faktora ne određuje se proizvoljno, nego kombinacijom statističkih i teorijskih kriterija (Cattell, 1966; Horn, 1965).
Najčešći kriteriji:
U praksi se preporučuje kombinirati paralelnu analizu i teorijsku interpretaciju.
Nakon ekstrakcije faktora često se provodi rotacija kako bi se dobila jasnija struktura loadingsa.
Važno: rotacija ne mijenja ukupno objašnjenu varijancu ni komunalitete, ali mijenja raspodjelu faktorskih opterećenja (loadings) među faktorima.
Postoje dvije glavne skupine rotacija:
Koriste se kada pretpostavljamo da su faktori međusobno neovisni.
Koriste se kada očekujemo da latentne dimenzije nisu potpuno neovisne.
U mrežnoj analizi je često razumno dopustiti korelaciju faktora, jer su različiti tipovi centralnosti rijetko potpuno odvojeni konstrukti.
Eksploratorna FA (EFA)
Konfirmatorna FA (CFA)
U ovom kolegiju koristimo eksploratornu faktorsku analizu.
U praksi se može slijediti sljedeća logika:
Korak 1 – Cilj analize
Korak 2 – Distribucija podataka
Korak 3 – Odnos među faktorima
Korak 4 – Broj faktora
Faktorska analiza nije mehanički postupak. Izbor metode ekstrakcije, broja faktora i rotacije ovisi o vrsti podataka i cilju istraživanja. Najvažnije je odabrati najjednostavniji model koji daje stabilnu i teorijski smisleno interpretabilnu strukturu.
Želimo provesti faktorsku analizu. Prvo provjeravamo jesu li podaci prikladni za ovu analizu.
psych::KMO(cor(X))
## Kaiser-Meyer-Olkin factor adequacy
## Call: psych::KMO(r = cor(X))
## Overall MSA = 0.62
## MSA for each item =
## degree betweenness harmonic
## 0.57 0.66 0.65
psych::cortest.bartlett(cor(X), n = nrow(X))
## $chisq
## [1] 32.40083
##
## $p.value
## [1] 4.308244e-07
##
## $df
## [1] 3
KMO ukazuje na prihvatljivu razinu, dok Bartlettov test sferičnosti ukazuje na odbacivanje hipoteze o sferičnosti. Dakle, podaci su prihvatljivi (iako ne izvrsni, jer faktorska struktura nije osobito jaka) za nastavak analize.
Možemo provjeriti ili testirati normalnost podataka. Iako bi za primjenu nekih metoda trebala vrijediti multivarijantna normalnost, provjera iziskuje zahtjevan postupak. U praksi se često koristi aproksimacija putem provjere normalnosti svake varijable pojedinačno. To možemo napraviti putem Shapiro-Wilk testa. Pretpostavke Shapiro - Wilk testa:
\[ H_0...\text{Ne postoji razlika između rasporeda promatrane distribucije i normalne distribucije definirane istim prosjekom i standardnom devijacijom} \\ H_1...\text{Postoji razlika između rasporeda promatrane distribucije i normalne distribucije definirane istim prosjekom i standardnom devijacijom}\]
Ako ne uspijemo odbaciti nul hipotezu (\(p>0.05\) ili \(p>0.01\), ovisno što odaberemo kao prag), tvrdimo da je distribucija promatrane varijable približno normalna.
Također, ovdje ne govorimo o provjeri pretpostavki za FA, ovo je aproksimacija provjere multivarijantne normalnosti podataka, koja će usmjeravati odabir metode ekstrakcije faktora.
shapiro.test(X$degree)
##
## Shapiro-Wilk normality test
##
## data: X$degree
## W = 0.92688, p-value = 0.2175
shapiro.test(X$betweenness)
##
## Shapiro-Wilk normality test
##
## data: X$betweenness
## W = 0.76038, p-value = 0.0008496
shapiro.test(X$harmonic)
##
## Shapiro-Wilk normality test
##
## data: X$harmonic
## W = 0.81765, p-value = 0.004718
Jedino za degree ne možemo odbaciti pretpostavku da su
podaci normalno distribuirani, dok za betweenness i
harmonic odbacujemo tu pretpostavku. Jedna od pretpostavki
multivarijantne normalnosti jest da su sve varijable normalno
distribuirane. Ovo znači da moramo koristiti metodu ekstrakcije faktora
koja ne iziskuje zadovoljenu pretpostavku o normalnosti, kao npr.
minres.
Sljedeći korak je odabir broja faktora. Broj faktora ne biramo proizvoljno, nego kombinacijom:
statističkih kriterija
empirijskih pokazatelja
teorijskog smisla
Idemo sustavno, u kontekstu mrežnih mjera - 3 kriterija.
Kaiserovo pravilo (Eigenvalue > 1)
Ako radimo FA na korelacijskoj matrici:
svaki faktor ima svoj eigenvalue
zadržavamo faktore čiji je eigenvalue > 1
Intuicija: Faktor mora objašnjavati barem koliko i jedna originalna varijabla.
Možemo i ručno:
eigen(cor(X))$values
## [1] 2.54136052 0.36715069 0.09148879
Scree plot (Cattell)
Ovo je drugi pristup - gledamo gdje nastaje “koljeno” ili “lakat”.
psych::scree(X)
Paralelna analiza
Najpouzdaniji kriterij.
Ideja:
generira se nasumična matrica istih dimenzija
uspoređuju se eigenvalues stvarnih i slučajnih podataka
zadržavaju se faktori koji su veći od slučajnih
psych::fa.parallel(X, fa = "fa")
## Parallel analysis suggests that the number of factors = 1 and the number of components = NA
Sva tri kriterija potvrđuju da je dovoljan 1 faktor.
fa_model <- psych::fa(X, nfactors = 1, fm = "minres", rotate = "varimax")
fa_model
## Factor Analysis using method = minres
## Call: psych::fa(r = X, nfactors = 1, rotate = "varimax", fm = "minres")
## Standardized loadings (pattern matrix) based upon correlation matrix
## MR1 h2 u2 com
## degree 1.01 1.03 -0.027 1
## betweenness 0.80 0.64 0.356 1
## harmonic 0.81 0.65 0.346 1
##
## MR1
## SS loadings 2.33
## Proportion Var 0.78
##
## Mean item complexity = 1
## Test of the hypothesis that 1 factor is sufficient.
##
## df null model = 3 with the objective function = 2.46 with Chi Square = 32.4
## df of the model are 0 and the objective function was 0.05
##
## The root mean square of the residuals (RMSR) is 0.02
## The df corrected root mean square of the residuals is NA
##
## The harmonic n.obs is 16 with the empirical chi square 0.02 with prob < NA
## The total n.obs was 16 with Likelihood Chi Square = 0.57 with prob < NA
##
## Tucker Lewis Index of factoring reliability = -Inf
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## MR1
## Correlation of (regression) scores with factors 1
## Multiple R square of scores with factors 1
## Minimum correlation of possible factor scores 1
fa_model$communalities
## degree betweenness harmonic
## 0.9950000 0.6340983 0.6450157
Vidimo da je \(h^2\) za
degree veći od 1. To upućuje na Heywoodov slučaj i problem u
modelu. No, kad ispišemo communalities, vidimo da je \(h^2\) za degree zapravo 0.995 (i manji od
1). Ovdje zapravo nemamo pravi Heywoodov slučaj, nego numeričku
aproksimaciju u ispisu loadings tablice. To se često događa u
psych::fa().
U tabličnom ispisu faktorske analize ponekad se može pojaviti
komunalitet veći od 1 ili negativna specifična varijanca. Kao što smo
naveli ranije u tekstu, to je poznato kao Heywoodov slučaj i obično
signalizira problem u modelu. Međutim, treba provjeriti radi li se o
stvarnom ili samo numeričkom artefaktu. U ovom primjeru tablica
prikazuje faktorsko opterećenje (fa_model$loadings)
zaokruženo na dvije decimale (1.01), pa kvadriranjem dobivamo
komunalitet veći od 1. Kada se koriste stvarne vrijednosti iz modela
(fa_model$communalities), komunalitet iznosi 0.995, što je
matematički valjano. Stoga ovdje ne govorimo o stvarnom Heywoodovu
slučaju nego o posljedici zaokruživanja u ispisu rezultata.
fa_model$loadings
##
## Loadings:
## MR1
## degree 1.014
## betweenness 0.802
## harmonic 0.809
##
## MR1
## SS loadings 2.325
## Proportion Var 0.775
Sve tri mjere imaju visoka opterećenja na jednom faktoru, pa možemo zaključiti da uistinu predstavljaju zajedničku latentnu dimenziju.
Analiza faktora provedena metodom minres uz pretpostavku
jednog faktora pokazuje da je jednodimenzionalno rješenje u ovom slučaju
u potpunosti opravdano. Vrijednost SS loadings iznosi 2.33, što znači da
latentni faktor objašnjava 77,5% ukupne varijance triju promatranih
mrežnih mjera (degree, betweenness i harmonic centrality). S obzirom na
to da je maksimalna ukupna varijanca tri (jer analiziramo tri
standardizirane varijable), ovaj rezultat ukazuje na vrlo snažnu
zajedničku strukturu među njima.
Standardizirani faktorski koeficijenti (loadings) dodatno potvrđuju tu interpretaciju. Sve tri mjere snažno saturiraju isti faktor: degree ima loading približno 1.01, betweenness oko 0.80, a harmonic oko 0.81. To znači da su sve tri mjere snažno povezane s istom latentnom dimenzijom. Vrijednost loadingsa nešto veća od 1 kod degreea rezultat je numeričke procjene u minres postupku i ne predstavlja metodološki problem, nego odražava iznimno jaku povezanost te mjere s latentnim faktorom.
Komunaliteti (h²) pokazuju koliki dio varijance svake pojedine mjere objašnjava zajednički faktor. Kod degreea je praktički cjelokupna varijanca objašnjena faktorom, dok je kod betweennessa i harmonic centralnosti objašnjeno približno 64–65% varijance. Nijedna mjera ne pokazuje nizak komunalitet, što znači da nijedna “ne strši” iz zajedničke strukture. Sve tri mjere dijele snažnu latentnu osnovu.
Indeksi prilagodbe dodatno podupiru ovakvo rješenje. RMSR iznosi 0.02, što upućuje na vrlo dobro slaganje modela s empirijskom korelacijskom matricom. Budući da model s jednom latentnom dimenzijom i tri varijable nema stupnjeva slobode (df = 0), formalni hi-kvadrat test i TLI indeks nisu informativni, što je očekivano u ovakvoj maloj strukturi.
Dakle, rezultati jasno upućuju na to da degree, betweenness i harmonic centralnost u ovoj mreži ne predstavljaju tri zasebne dimenzije, već manifestacije jedinstvene latentne konstrukcije koju možemo interpretirati kao opću strukturalnu centralnost. Drugim riječima, čvorovi koji imaju mnogo veza, koji su važni posrednici i koji su geodetski bliski ostatku mreže, zapravo dijele istu temeljnu karakteristiku – visoku strukturnu važnost unutar mreže.
Ovaj model možemo vizualizirati na sljedeći način:
psych::fa.diagram(fa_model)
Usporedbe radi - da ilustriramo učinke rotacije:
Bez rotacije:
psych::fa(X, nfactors = 1, rotate = "none")
## Factor Analysis using method = minres
## Call: psych::fa(r = X, nfactors = 1, rotate = "none")
## Standardized loadings (pattern matrix) based upon correlation matrix
## MR1 h2 u2 com
## degree 1.01 1.03 -0.027 1
## betweenness 0.80 0.64 0.356 1
## harmonic 0.81 0.65 0.346 1
##
## MR1
## SS loadings 2.33
## Proportion Var 0.78
##
## Mean item complexity = 1
## Test of the hypothesis that 1 factor is sufficient.
##
## df null model = 3 with the objective function = 2.46 with Chi Square = 32.4
## df of the model are 0 and the objective function was 0.05
##
## The root mean square of the residuals (RMSR) is 0.02
## The df corrected root mean square of the residuals is NA
##
## The harmonic n.obs is 16 with the empirical chi square 0.02 with prob < NA
## The total n.obs was 16 with Likelihood Chi Square = 0.57 with prob < NA
##
## Tucker Lewis Index of factoring reliability = -Inf
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## MR1
## Correlation of (regression) scores with factors 1
## Multiple R square of scores with factors 1
## Minimum correlation of possible factor scores 1
Usporeba, uz korištenje “minrank” - neparametrijske metode s rangovima opažanja:
psych::fa(X, fm = "minrank", rotate = "varimax")
## Factor Analysis using method = minrank
## Call: psych::fa(r = X, rotate = "varimax", fm = "minrank")
## Standardized loadings (pattern matrix) based upon correlation matrix
## MRFA1 h2 u2 com
## degree 1.00 1.00 5.9e-07 1
## betweenness 0.83 0.69 3.1e-01 1
## harmonic 0.84 0.71 2.9e-01 1
##
## MRFA1
## SS loadings 2.4
## Proportion Var 0.8
##
## Mean item complexity = 1
## Test of the hypothesis that 1 factor is sufficient.
##
## df null model = 3 with the objective function = 2.46 with Chi Square = 32.4
## df of the model are 0 and the objective function was 0.05
##
## The root mean square of the residuals (RMSR) is 0.04
## The df corrected root mean square of the residuals is NA
##
## The harmonic n.obs is 16 with the empirical chi square 0.07 with prob < NA
## The total n.obs was 16 with Likelihood Chi Square = 0.64 with prob < NA
##
## Tucker Lewis Index of factoring reliability = -Inf
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## MRFA1
## Correlation of (regression) scores with factors 1
## Multiple R square of scores with factors 1
## Minimum correlation of possible factor scores 1
Pogledajte help(fa) za dodatne opcije i upute.
Faktorskoj analizi Enronovih pokazatelja pristupamo na isti način kao i za firentinske obitelji.
psych::KMO(cor(Xe))
## Kaiser-Meyer-Olkin factor adequacy
## Call: psych::KMO(r = cor(Xe))
## Overall MSA = 0.66
## MSA for each item =
## degree betweenness harmonic
## 0.70 0.65 0.65
psych::cortest.bartlett(cor(Xe), n = nrow(Xe))
## $chisq
## [1] 87.80055
##
## $p.value
## [1] 6.499883e-19
##
## $df
## [1] 3
KMO ukazuje na prihvatljivu razinu, dok Bartlettov test sferičnosti ukazuje na odbacivanje hipoteze o sferičnosti. Dakle, podaci su prihvatljivi (iako ne izvrsni) za nastavak analize. Sljedeće, provjeravamo normalnost varijabli.
shapiro.test(Xe$degree)
##
## Shapiro-Wilk normality test
##
## data: Xe$degree
## W = 0.50523, p-value < 2.2e-16
shapiro.test(Xe$betweenness)
##
## Shapiro-Wilk normality test
##
## data: Xe$betweenness
## W = 0.45547, p-value < 2.2e-16
shapiro.test(Xe$harmonic)
##
## Shapiro-Wilk normality test
##
## data: Xe$harmonic
## W = 0.8364, p-value = 4.216e-13
Rezultati Shapiro–Wilk testa pokazuju da nijedna od promatranih varijabli nije normalno distribuirana. U svim slučajevima p-vrijednost je znatno manja od 0.05, pa odbacujemo hipotezu o normalnoj distribuciji.
To je očekivano jer mrežne centralnosti gotovo uvijek imaju izrazito asimetričnu distribuciju, većina čvorova ima vrlo niske vrijednosti, dok mali broj čvorova ima izrazito visoke vrijednosti. Takav raspored često podsjeća na power-law ili heavy-tailed distribuciju, što je tipično za mnoge realne mreže.
Zbog toga koristimo minres metodu procjene, koja ne zahtijeva strogu pretpostavku normalnosti. Sljedeće, provjeravamo koji je broj faktora potreban/ prikladan.
library(psych)
psych::fa.parallel(Xe, fa = "fa")
## Parallel analysis suggests that the number of factors = 1 and the number of components = NA
Možemo i ručno:
eigen(cor(Xe))$values
## [1] 1.8396642 0.6225360 0.5377998
Scree plot (Cattell)
Ovo je drugi pristup - gledamo gdje nastaje “koljeno” ili “lakat”.
psych::scree(Xe)
fa_modele <- psych::fa(Xe, nfactors = 1, fm = "minres", rotate = "varimax")
fa_modele
## Factor Analysis using method = minres
## Call: psych::fa(r = Xe, nfactors = 1, rotate = "varimax", fm = "minres")
## Standardized loadings (pattern matrix) based upon correlation matrix
## MR1 h2 u2 com
## degree 0.59 0.34 0.66 1
## betweenness 0.69 0.47 0.53 1
## harmonic 0.67 0.45 0.55 1
##
## MR1
## SS loadings 1.27
## Proportion Var 0.42
##
## Mean item complexity = 1
## Test of the hypothesis that 1 factor is sufficient.
##
## df null model = 3 with the objective function = 0.48 with Chi Square = 87.8
## df of the model are 0 and the objective function was 0
##
## The root mean square of the residuals (RMSR) is 0
## The df corrected root mean square of the residuals is NA
##
## The harmonic n.obs is 184 with the empirical chi square 0 with prob < NA
## The total n.obs was 184 with Likelihood Chi Square = 0 with prob < NA
##
## Tucker Lewis Index of factoring reliability = NaN
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## MR1
## Correlation of (regression) scores with factors 0.83
## Multiple R square of scores with factors 0.69
## Minimum correlation of possible factor scores 0.38
fa_modele$communalities
## degree betweenness harmonic
## 0.3433591 0.4723165 0.4516475
fa_modele$loadings
##
## Loadings:
## MR1
## degree 0.586
## betweenness 0.687
## harmonic 0.672
##
## MR1
## SS loadings 1.267
## Proportion Var 0.422
Primjenom minres metode dobivamo sljedeća faktorska
opterećenja:
| Varijabla | Opterećenje |
|---|---|
| degree | 0.586 |
| betweenness | 0.687 |
| harmonic | 0.672 |
Sva opterećenja su pozitivna i umjereno visoka, što znači da sve tri mjere odražavaju istu latentnu dimenziju mrežne pozicije.
Najveće opterećenje ima betweenness, što sugerira da faktor posebno dobro hvata posredničku ili brokersku poziciju u mreži.
Komunalitet \(h^2\) pokazuje koliki dio varijance pojedine varijable objašnjava faktor.
| Varijabla | (h^2) |
|---|---|
| degree | 0.34 |
| betweenness | 0.47 |
| harmonic | 0.45 |
Interpretacija:
To znači da faktor najbolje objašnjava globalne i posredničke mjere centralnosti, dok je stupanj nešto slabije povezan s tom latentnom dimenzijom.
Ukupna varijanca koju objašnjava faktor iznosi:
\(\text{Proportion Var} = 0.422\)
odnosno oko 42% ukupne varijance mrežnih indikatora.
To je razumna vrijednost jer mrežne centralnosti često hvataju različite aspekte strukture.
S obzirom na opterećenja varijabli, latentni faktor možemo interpretirati kao opću strukturnu centralnost u mreži. Čvorovi s visokim vrijednostima ovog faktora:
Drugim riječima, faktor opisuje globalno centralne aktere u komunikacijskoj mreži Enrona.
Takvi čvorovi često predstavljaju:
U ovom primjeru model ima 0 stupnjeva slobode, jer s tri varijable i jednim faktorom model točno reproducira korelacijske odnose. Zbog toga neke standardne mjere prilagodbe (npr. \(TLI\) ili \(χ²\) test modela) nisu informativne.
To nije problem u ovom kontekstu jer je cilj analize identificirati latentnu dimenziju mrežnih indikatora, a ne testirati složen teorijski model.
U mnogim empirijskim mrežama različite mjere centralnosti visoko koreliraju, jer čvorovi koji su:
često predstavljaju iste organizacijske aktere.
Faktorska analiza ovdje pokazuje da se različiti indikatori centralnosti mogu svesti na jednu temeljnu dimenziju mrežne važnosti.
Vizualizacija:
psych::fa.diagram(fa_modele)
U ovom primjeru faktorska analiza i višedimenzionalno skaliranje provode se nad proširenim skupom mrežnih indikatora koji opisuju različite aspekte položaja čvora u mreži komunikacije unutar Enrona. U analizu su uključene mjere stupnja (in-degree i out-degree), posredničke centralnosti (betweenness), dostupnosti (harmonic), spektralne centralnosti (eigenvector, PageRank, authority, hub), te strukturnih svojstava položaja čvora (eccentricity, constraint i coreness). Ovakav skup varijabli obuhvaća nekoliko različitih dimenzija mrežne strukture: lokalnu povezanost, globalni utjecaj, posredničku ulogu i položaj u jezgrenoj strukturi mreže. Cilj analize jest utvrditi mogu li se ovi indikatori svesti na manji broj latentnih dimenzija koje opisuju tipične strukturne uloge aktera u mreži.
Prvi korak sastoji se u konstrukciji matrice udaljenosti između čvorova na temelju standardiziranih vrijednosti mrežnih indikatora. Standardizacija je važna jer su indikatori različitih skala (npr. stupanj, PageRank ili constraint), pa bi bez skaliranja varijable s većom varijancom dominirale udaljenostima. Nakon toga primjenjuje se klasični MDS kako bi se čvorovi smjestili u prostor niže dimenzionalnosti tako da se očuvaju njihove međusobne udaljenosti u prostoru indikatora.
Xe <- data.frame(
indegree = igraph::degree(g_enron, mode = "in", normalized = TRUE),
outegree = igraph::degree(g_enron, mode = "out", normalized = TRUE),
betweenness = igraph::betweenness(g_enron, normalized = TRUE),
harmonic = igraph::harmonic_centrality(g_enron, normalized = TRUE),
eigen = igraph::eigen_centrality(g_enron)$vector,
pagerank = igraph::page_rank(g_enron)$vector,
authority = igraph::authority_score(g_enron)$vector,
hub = igraph::hub_score(g_enron)$vector,
eccentricity = igraph::eccentricity(g_enron),
constraint = igraph::constraint(g_enron),
coreness = igraph::coreness(g_enron)
)
head(Xe)
## indegree outegree betweenness harmonic eigen pagerank
## 1 0.4262295 0.19672131 6.633048e-05 0.3163934 2.249302e-06 0.002114497
## 2 1.8306011 0.50819672 4.476963e-03 0.4772313 4.552449e-05 0.004617592
## 3 1.2240437 0.91256831 2.187517e-03 0.4312386 8.985326e-06 0.001968255
## 4 0.4808743 0.08743169 7.599201e-06 0.3829690 5.862558e-06 0.001717016
## 5 3.4043716 1.82513661 2.839501e-03 0.5482696 4.047499e-04 0.005686692
## 6 1.1530055 0.92896175 1.361812e-04 0.4890710 4.344969e-05 0.002023998
## authority hub eccentricity constraint coreness
## 1 5.464108e-06 1.099565e-08 4 0.6148808 114
## 2 5.172548e-05 2.333378e-05 3 0.2009167 366
## 3 1.163075e-05 9.870057e-08 3 0.2722275 259
## 4 2.990662e-06 1.358324e-06 3 0.3362225 104
## 5 6.897353e-04 8.877795e-05 3 0.1769359 762
## 6 2.334311e-05 9.705703e-05 3 0.2210365 378
# matrica udaljenosti
De <- dist(scale(Xe))
mdse <- cmdscale(De, k = 2)
plot(mdse,
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 2")
text(mdse, pos = 3)
De_hat <- dist(mdse)
# stress formula
stress <- sqrt(sum((De - De_hat)^2) / sum(De^2))
stress
## [1] 0.3110986
Rezultati pokazuju da dvodimenzionalni prikaz relativno slabo reproducira izvorne udaljenosti među čvorovima. Vrijednost stressa iznosi približno 0.31, što se u pravilu smatra relativno visokom pogreškom aproksimacije.
mdse3 <- cmdscale(De, k = 3)
De_hat <- dist(mdse3)
# stress formula
stress <- sqrt(sum((De - De_hat)^2) / sum(De^2))
stress
## [1] 0.1777921
mdse4 <- cmdscale(De, k = 4)
De_hat <- dist(mdse4)
# stress formula
stress <- sqrt(sum((De - De_hat)^2) / sum(De^2))
stress
## [1] 0.1109455
mdse5 <- cmdscale(De, k = 5)
De_hat <- dist(mdse5)
# stress formula
stress <- sqrt(sum((De - De_hat)^2) / sum(De^2))
stress
## [1] 0.07304439
mdse6 <- cmdscale(De, k = 6)
De_hat <- dist(mdse6)
# stress formula
stress <- sqrt(sum((De - De_hat)^2) / sum(De^2))
stress
## [1] 0.04500986
Dodavanjem dodatnih dimenzija stress se postupno smanjuje: za tri dimenzije iznosi oko 0.18, za četiri oko 0.11, dok tek pri pet ili šest dimenzija pada ispod 0.10. Ovakav obrazac sugerira da struktura mrežnih indikatora u ovom slučaju nije jednostavna i da položaj čvorova nije moguće adekvatno opisati samo u dvije dimenzije. Drugim riječima, mrežne uloge u ovoj organizacijskoj komunikacijskoj mreži imaju višedimenzionalnu strukturu.
par(mfrow=c(5,3))
plot(mdse6[,1:2],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 2")
text(mdse6, pos = 1)
plot(mdse6[,c(1,3)],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 3")
text(mdse6, pos = 1)
plot(mdse6[,c(1,4)],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 4")
text(mdse6, pos = 1)
plot(mdse6[,c(1,5)],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 5")
text(mdse6, pos = 1)
plot(mdse6[,c(1,6)],
pch = 19,
xlab = "Dimenzija 1",
ylab = "Dimenzija 6")
text(mdse6, pos = 1)
plot(mdse6[,2:3],
pch = 19,
xlab = "Dimenzija 2",
ylab = "Dimenzija 3")
text(mdse6, pos = 1)
plot(mdse6[,c(2,4)],
pch = 19,
xlab = "Dimenzija 2",
ylab = "Dimenzija 4")
text(mdse6, pos = 1)
plot(mdse6[,c(2,5)],
pch = 19,
xlab = "Dimenzija 2",
ylab = "Dimenzija 5")
text(mdse6, pos = 1)
plot(mdse6[,c(2,6)],
pch = 19,
xlab = "Dimenzija 2",
ylab = "Dimenzija 6")
text(mdse6, pos = 1)
plot(mdse6[,c(3,4)],
pch = 19,
xlab = "Dimenzija 3",
ylab = "Dimenzija 4")
text(mdse6, pos = 1)
plot(mdse6[,c(3,5)],
pch = 19,
xlab = "Dimenzija 3",
ylab = "Dimenzija 5")
text(mdse6, pos = 1)
plot(mdse6[,c(3,6)],
pch = 19,
xlab = "Dimenzija 3",
ylab = "Dimenzija 6")
text(mdse6, pos = 1)
plot(mdse6[,c(4,5)],
pch = 19,
xlab = "Dimenzija 4",
ylab = "Dimenzija 5")
text(mdse6, pos = 1)
plot(mdse6[,c(4,6)],
pch = 19,
xlab = "Dimenzija 4",
ylab = "Dimenzija 6")
text(mdse6, pos = 1)
plot(mdse6[,c(5,6)],
pch = 19,
xlab = "Dimenzija 5",
ylab = "Dimenzija 6")
text(mdse6, pos = 1)
coords <- as.data.frame(mdse6)
colnames(coords) <- c("Dim1", "Dim2", "Dim3", "Dim4", "Dim5", "Dim6")
cor(coords, Xe)
## indegree outegree betweenness harmonic eigen pagerank
## Dim1 0.88607823 0.80145236 0.34884412 0.36385054 0.87167799 0.5630531
## Dim2 -0.07136884 -0.21177685 -0.71049559 -0.66455407 0.39993483 -0.5134390
## Dim3 0.22738435 0.23158899 0.28168491 -0.09459407 -0.21400019 0.4204484
## Dim4 0.12309917 0.02643752 -0.02690178 -0.51485000 -0.06097567 0.2741453
## Dim5 -0.24547941 -0.19701098 0.45676066 -0.29242062 0.16067978 0.1563873
## Dim6 0.16037115 -0.43735548 -0.14401747 0.14413764 0.03009237 0.2730855
## authority hub eccentricity constraint coreness
## Dim1 0.87291545 0.87074327 -0.13595856 -0.15812427 0.96320900
## Dim2 0.39658298 0.40277666 0.42688867 0.58082784 0.12051455
## Dim3 -0.21331751 -0.21419957 0.62385235 0.68932722 0.06790741
## Dim4 -0.06114499 -0.06066352 -0.59645843 0.20442569 0.02353553
## Dim5 0.16208567 0.15862113 0.14136512 -0.13445236 -0.19444705
## Dim6 0.03331662 0.02642320 0.01804986 0.01970317 -0.02107543
Napomena: predznak MDS dimenzije koristi se samo kao orijentir. To znači da pozitivna i negativna korelacija s osi nisu same po sebi sadržajno važne; važan je obrazac odnosa i položaj ekstrema.
Da bismo bolje razumjeli značenje pojedinih dimenzija MDS prostora, korelirali smo dobivene koordinate s izvornim mrežnim indikatorima. Rezultati pokazuju da prva dimenzija vrlo snažno korelira s mjerama globalne centralnosti: posebno s coreness (0.96), eigenvector centralnošću (0.87), authority i hub vrijednostima (oko 0.87), te s in-degree i out-degree centralnošću. To sugerira da prva dimenzija predstavlja opću strukturnu centralnost, odnosno razlikuje čvorove koji se nalaze u jezgri komunikacijske mreže od onih koji su smješteni na njezinoj periferiji.
Druga dimenzija pokazuje drugačiji obrazac korelacija. Ona je snažno negativno povezana s betweenness centralnošću (−0.71) i harmonic centralnošću (−0.66), a pozitivno s constraintom (0.58) i ekscentricitetom (0.43). Ovaj skup odnosa sugerira da druga dimenzija opisuje posredničku ili brokersku poziciju u mreži. Čvorovi s visokom betweenness centralnošću nalaze se na komunikacijskim putovima između drugih aktera i imaju veću slobodu povezivanja različitih dijelova mreže, dok visoki constraint označava ograničenije strukturne mogućnosti i veću ovisnost o postojećim vezama. Dimenzija stoga razdvaja aktere koji posreduju između dijelova mreže od onih čija je komunikacija više lokalno ograničena.
Treća dimenzija (Dim3) najviše je povezana s ekscentricitetom (\(r \approx -0.62\)) i constraintom (\(r \approx -0.69\)), dok su korelacije s većinom drugih mjera relativno slabe. Budući da ekscentricitet mjeri najveću geodetsku udaljenost čvora do ostalih čvorova u mreži, visoke vrijednosti označavaju aktere koji su udaljeniji od središta mrežne strukture. Istodobno, negativna povezanost s constraintom sugerira da se na jednom ekstremu dimenzije nalaze čvorovi čije su veze manje redundantne i koji imaju nešto veću slobodu u povezivanju različitih dijelova mreže. U cjelini, ova dimenzija razlikuje perifernije aktere od onih koji su geodetski bliži ostatku mreže, odnosno odražava stupanj udaljenosti od središta komunikacijske strukture.
Četvrta dimenzija (Dim4) najizraženije je povezana s harmonic centralnošću (\(r \approx -0.51\)) i ekscentricitetom (\(r \approx -0.6\)). Obje mjere odnose se na geodetske udaljenosti u mreži, ali iz različitih perspektiva: harmonic centralnost naglašava ukupnu dostupnost čvora drugim akterima, dok ekscentricitet bilježi njegovu maksimalnu udaljenost u mreži. Zajedno, te korelacije sugeriraju da Dim4 predstavlja dimenziju geodetske dostupnosti, koja razlikuje čvorove koji su relativno blizu velikom broju aktera od onih čija je komunikacijska dostupnost ograničenija. Budući da su korelacije s ostalim mjerama male, ova dimenzija prvenstveno odražava prostornu poziciju čvora u smislu udaljenosti u mrežnoj topologiji, a ne njegovu razinu centralnosti u užem smislu.
Peta dimenzija (Dim5) pokazuje umjerenu negativnu povezanost s betweenness centralnošću (\(r \approx -0.46\)) te pozitivnu s harmonic centralnošću (\(r \approx 0.29\)). Ovaj obrazac upućuje na razliku između posredničke uloge i opće dostupnosti u mreži. Čvorovi s visokim harmonic vrijednostima mogu biti geodetski relativno blizu mnogim drugim akterima, ali pritom ne moraju imati značajnu ulogu u povezivanju različitih dijelova mreže. Suprotno tome, akteri s visokim betweennessom često djeluju kao mostovi između skupina, iako sami nisu nužno geodetski najbliži većini čvorova. Dim5 stoga diferencira aktere prema tome jesu li važni kao posrednici u tokovima komunikacije ili kao čvorovi koji su jednostavno dostupni velikom broju drugih aktera.
Šesta dimenzija (Dim6) pokazuje relativno slabe korelacije sa svim promatranim indikatorima, pri čemu je najizraženija negativna povezanost s out-degree centralnošću (\(r \approx -0.44\)). Takav obrazac sugerira da ova dimenzija zahvaća rezidualni aspekt komunikacijske aktivnosti, koji nije u potpunosti objašnjen ostalim dimenzijama. Drugim riječima, Dim6 razlikuje aktere prema njihovoj razini izlazne komunikacije u mreži, ali taj obrazac nije snažno povezan s drugim mjerama centralnosti ili strukturalne pozicije. U praksi, takve dimenzije često predstavljaju finije strukturne varijacije koje imaju ograničen interpretativni značaj i rijetko se koriste u konačnoj interpretaciji mrežne strukture.
Promatrajući sve dimenzije zajedno, može se zaključiti da prve dvije dimenzije objašnjavaju glavne obrasce mrežne centralnosti i komunikacijske strukture, dok treća i četvrta dimenzija uvode dodatne razlike povezane s geodetskom pozicijom i perifernošću čvorova. Peta i šesta dimenzija hvataju suptilnije razlike između posredničkih i dostupnih pozicija u mreži te specifične varijacije komunikacijske aktivnosti koje nisu dominantne u ukupnoj strukturi mreže.
Nakon MDS analize provodi se faktorska analiza nad istim skupom indikatora kako bi se formalno identificirale latentne dimenzije koje stoje iza njihove korelacijske strukture. Kao i u prethodnom primjeru, prvo provjeravamo prikladnost primjene FA na ovim podacima, a onda normalnost za usmjeravanje pri odabiru metode.
psych::KMO(cor(Xe))
## Kaiser-Meyer-Olkin factor adequacy
## Call: psych::KMO(r = cor(Xe))
## Overall MSA = 0.62
## MSA for each item =
## indegree outegree betweenness harmonic eigen pagerank
## 0.68 0.65 0.63 0.60 0.60 0.61
## authority hub eccentricity constraint coreness
## 0.60 0.60 0.48 0.47 0.71
psych::cortest.bartlett(cor(Xe), n = nrow(Xe))
## $chisq
## [1] 5506.846
##
## $p.value
## [1] 0
##
## $df
## [1] 55
Globalni KMO, odnosno Overall MSA = 0.62, upućuje na to da je korelacijska struktura među varijablama prihvatljiva za faktorsku analizu, ali nije osobito jaka. Prema uobičajenoj interpretaciji, vrijednosti između 0.60 i 0.70 smatraju se donjom prihvatljivom razinom. To znači da faktorska analiza nad ovim skupom indikatora ima smisla, ali se ne radi o “čistom” i vrlo kompaktnom faktorskom prostoru. Drugim riječima, među indikatorima postoji dovoljno zajedničke varijance da se latentne dimenzije mogu tražiti, ali ne treba očekivati savršeno stabilnu i vrlo jednostavnu strukturu.
Kad pogledamo MSA po pojedinim varijablama, vidimo da su
indegree, outdegree, betweenness,
harmonic, eigen, pagerank,
authority, hub i coreness
uglavnom u rasponu od 0.60 do 0.71. To je metodološki korektno i
sugerira da te varijable relativno dobro sudjeluju u zajedničkoj
latentnoj strukturi. Posebno je coreness s vrijednošću 0.71
najstabilniji kandidat unutar ovog skupa, što je u skladu s činjenicom
da je riječ o mjeri duboke ukorijenjenosti čvora u jezgru mreže.
S druge strane, eccentricity = 0.48 i
constraint = 0.47 padaju ispod praga 0.50, što je važan
signal. To ne znači automatski da ih treba izbaciti, ali znači da su te
varijable slabije uklopljene u zajedničku faktorsku strukturu.
Intuitivno, njihove korelacije s ostalim varijablama nisu dovoljno
“čiste”, odnosno veći dio njihovih odnosa s drugim indikatorima
proizlazi iz parcijalnih i specifičnih povezanosti, a ne iz zajedničkog
latentnog konstrukta. U praktičnom smislu to znači da
eccentricity i constraint mogu unositi dodatnu
heterogenost u model i otežavati interpretaciju faktora. S obzirom da
eccentricity i constraint pokazuju slabiju
prikladnost, njihove rezultate treba tumačiti s oprezom ili, po potrebi,
provjeriti alternativno rješenje bez tih indikatora.
shapiro.test(Xe$indegree)
##
## Shapiro-Wilk normality test
##
## data: Xe$indegree
## W = 0.50901, p-value < 2.2e-16
shapiro.test(Xe$outegree)
##
## Shapiro-Wilk normality test
##
## data: Xe$outegree
## W = 0.45597, p-value < 2.2e-16
shapiro.test(Xe$betweenness)
##
## Shapiro-Wilk normality test
##
## data: Xe$betweenness
## W = 0.45547, p-value < 2.2e-16
shapiro.test(Xe$harmonic)
##
## Shapiro-Wilk normality test
##
## data: Xe$harmonic
## W = 0.8364, p-value = 4.216e-13
shapiro.test(Xe$eigen)
##
## Shapiro-Wilk normality test
##
## data: Xe$eigen
## W = 0.051711, p-value < 2.2e-16
shapiro.test(Xe$pagerank)
##
## Shapiro-Wilk normality test
##
## data: Xe$pagerank
## W = 0.83879, p-value = 5.392e-13
shapiro.test(Xe$authority)
##
## Shapiro-Wilk normality test
##
## data: Xe$authority
## W = 0.05425, p-value < 2.2e-16
shapiro.test(Xe$hub)
##
## Shapiro-Wilk normality test
##
## data: Xe$hub
## W = 0.049712, p-value < 2.2e-16
shapiro.test(Xe$eccentricity)
##
## Shapiro-Wilk normality test
##
## data: Xe$eccentricity
## W = 0.54521, p-value < 2.2e-16
shapiro.test(Xe$constraint)
##
## Shapiro-Wilk normality test
##
## data: Xe$constraint
## W = 0.89545, p-value = 4.451e-10
shapiro.test(Xe$coreness)
##
## Shapiro-Wilk normality test
##
## data: Xe$coreness
## W = 0.36683, p-value < 2.2e-16
Rezultati Shapiro–Wilk testova pokazuju da nijedna varijabla nije normalno distribuirana. To je očekivano, jer centralnosti u realnim mrežama često imaju izrazito asimetrične ili „heavy-tailed” distribucije. Zbog toga se koristi metoda minres (minimum residual), koja ne pretpostavlja multivarijatnu normalnost. Sljedeće, provjeravamo koji je broj faktora potreban/ prikladan.
psych::fa.parallel(Xe, fa = "fa")
## Parallel analysis suggests that the number of factors = 3 and the number of components = NA
Paralelna analiza sugerira dva do tri faktora. Provjeravamo dalje.
Scree plot (Cattell)
Ovo je drugi pristup - gledamo gdje nastaje “koljeno” ili “lakat”.
psych::scree(Xe)
Paralelna analiza sugerira da je prikladno zadržati tri faktora. Ovaj zaključak potvrđuje i scree dijagram, u kojem se nakon treće svojstvene vrijednosti pojavljuje jasno „koljeno”, što upućuje na to da dodatni faktori objašnjavaju relativno malo dodatne varijance.
fa_modele <- psych::fa(Xe, nfactors = 3, fm = "minres", rotate = "varimax")
fa_modele
## Factor Analysis using method = minres
## Call: psych::fa(r = Xe, nfactors = 3, rotate = "varimax", fm = "minres")
## Standardized loadings (pattern matrix) based upon correlation matrix
## MR1 MR2 MR3 h2 u2 com
## indegree 0.63 0.66 0.05 0.84 0.160 2.0
## outegree 0.49 0.66 -0.05 0.68 0.320 1.9
## betweenness -0.06 0.67 -0.26 0.51 0.486 1.3
## harmonic 0.04 0.48 -0.44 0.43 0.574 2.0
## eigen 0.99 0.06 -0.05 0.98 0.019 1.0
## pagerank 0.14 0.79 -0.07 0.66 0.344 1.1
## authority 0.99 0.07 -0.05 0.98 0.021 1.0
## hub 0.99 0.06 -0.05 0.98 0.018 1.0
## eccentricity -0.02 -0.09 0.44 0.20 0.796 1.1
## constraint -0.02 -0.05 1.01 1.03 -0.028 1.0
## coreness 0.84 0.50 0.03 0.95 0.046 1.6
##
## MR1 MR2 MR3
## SS loadings 4.29 2.46 1.50
## Proportion Var 0.39 0.22 0.14
## Cumulative Var 0.39 0.61 0.75
## Proportion Explained 0.52 0.30 0.18
## Cumulative Proportion 0.52 0.82 1.00
##
## Mean item complexity = 1.4
## Test of the hypothesis that 3 factors are sufficient.
##
## df null model = 55 with the objective function = 30.85 with Chi Square = 5506.85
## df of the model are 25 and the objective function was 16.21
##
## The root mean square of the residuals (RMSR) is 0.04
## The df corrected root mean square of the residuals is 0.05
##
## The harmonic n.obs is 184 with the empirical chi square 13.34 with prob < 0.97
## The total n.obs was 184 with Likelihood Chi Square = 2861.75 with prob < 0
##
## Tucker Lewis Index of factoring reliability = -0.158
## RMSEA index = 0.785 and the 90 % confidence intervals are 0.763 0.812
## BIC = 2731.38
## Fit based upon off diagonal values = 0.99
## Measures of factor score adequacy
## MR1 MR2 MR3
## Correlation of (regression) scores with factors 1.00 0.95 1
## Multiple R square of scores with factors 0.99 0.91 1
## Minimum correlation of possible factor scores 0.99 0.82 1
Uočavamo \(h^2\) of 1.027 za constraint, pa ćemo, kao i ranije provjeriti radi li se o numeričkom artefaktu ili problemu u modelu.
fa_modele$communalities
## indegree outegree betweenness harmonic eigen pagerank
## 0.8404151 0.6803242 0.5138308 0.4258132 0.9806845 0.6559402
## authority hub eccentricity constraint coreness
## 0.9788148 0.9822320 0.2038880 0.9950000 0.9544451
Vidimo da je \(h^2\) za constraint u stvarnim vrijednostima modela 0.995, pa ovdje nije riječ o stvarnom Heywoodovu slučaju, nego o numeričkom artefaktu zaokruživanja u ispisu.
fa_modele$loadings
##
## Loadings:
## MR1 MR2 MR3
## indegree 0.630 0.664
## outegree 0.493 0.659
## betweenness 0.666 -0.259
## harmonic 0.482 -0.438
## eigen 0.987
## pagerank 0.141 0.795
## authority 0.986
## hub 0.988
## eccentricity 0.441
## constraint 1.012
## coreness 0.838 0.501
##
## MR1 MR2 MR3
## SS loadings 4.291 2.458 1.495
## Proportion Var 0.390 0.223 0.136
## Cumulative Var 0.390 0.614 0.749
Vizualizacija:
psych::fa.diagram(fa_modele)
Rezultati faktorske analize pokazuju relativno jasnu strukturu opterećenja. Prvi faktor (MR1) snažno je povezan sa spektralnim mjerama centralnosti: eigenvector centralnošću, authority i hub vrijednostima (sva opterećenja oko 0.99), kao i s coreness vrijednošću (0.84). Ovaj faktor stoga možemo interpretirati kao dimenziju globalne mrežne moći ili utjecaja, koja odražava povezanost s drugim važnim akterima u mreži.
Drugi faktor (MR2) povezan je prvenstveno s mjerama komunikacijske aktivnosti i dostupnosti: in-degree i out-degree centralnošću, PageRankom, betweenness centralnošću i harmonic centralnošću. Ovaj faktor možemo interpretirati kao operativnu komunikacijsku centralnost, odnosno intenzitet i rasprostranjenost komunikacijskih interakcija aktera.
Treći faktor (MR3) snažno je povezan s constraintom (opterećenje ≈1.01) i u manjoj mjeri s ekscentricitetom. Ovaj faktor odražava strukturnu ograničenost ili perifernost u mreži, odnosno mjeru u kojoj je čvor ograničen lokalnim vezama i udaljen od središta mrežne strukture.
Tri faktora zajedno objašnjavaju približno 75% ukupne varijance mrežnih indikatora, što ukazuje da većina informacija sadržanih u izvornim mjerama može biti sažeta u relativno mali broj latentnih dimenzija. Prvi faktor objašnjava oko 39% varijance, drugi oko 22%, a treći oko 14%.
Zanimljivo je primijetiti da rezultati faktorske analize u velikoj mjeri odgovaraju interpretaciji dobivenoj iz MDS-a. U oba pristupa pojavljuju se tri ključne dimenzije mrežne strukture: globalna centralnost ili utjecaj, operativna komunikacijska aktivnost te periferni ili strukturno ograničeni položaji u mreži. To pokazuje kako različite metode redukcije dimenzionalnosti mogu konvergirati prema sličnom tumačenju strukture mrežnih uloga.
Općenito, ovaj primjer pokazuje da različite mjere centralnosti i strukturne pozicije u mreži često nisu potpuno nezavisne. Umjesto toga, one se grupiraju u nekoliko temeljnih dimenzija koje opisuju tipične obrasce mrežne pozicije aktera. Redukcija dimenzionalnosti stoga omogućuje jednostavniju interpretaciju složenih mrežnih struktura i pomaže u identifikaciji ključnih uloga unutar organizacijskih ili komunikacijskih mreža.
Sličnost čvorova: Mjera koliko su čvorovi “slični” po vezama/atributima.
Matrica sličnosti: Tablica parnih sličnosti između čvorova.
Matrica udaljenosti: Tablica parnih udaljenosti (veća = manje slično).
MDS: Metoda koja mapira udaljenosti u nisko-dimenzionalni prostor.
Metric MDS: Čuva metriku udaljenosti (kvantitativno).
Non-metric MDS: Čuva rang poretka udaljenosti (ordinalno).
Stress: Mjera koliko dobro 2D/3D prikaz reproducira udaljenosti.
Interpretacija dimenzija: Davanje značenja osi u MDS prostoru.
Faktorska analiza: Modeliranje latentnih faktora koji objašnjavaju korelacije.
EFA: Istraživačka FA bez unaprijed zadane strukture.
CFA: Potvrdna FA s unaprijed definiranom strukturom faktora.
Faktorska opterećenja: Veza varijable s faktorom (snaga i smjer).
Latentne dimenzije: Neizravne “skrivene” varijable koje objašnjavaju podatke.
Kaiser–Meyer–Olkin (KMO): Mjera prikladnosti skupa varijabli za faktorsku analizu temeljena na odnosu korelacija i parcijalnih korelacija.
MSA (Measure of Sampling Adequacy): KMO vrijednost za pojedinu varijablu; pokazuje koliko se dobro uklapa u zajedničku faktorsku strukturu.
Bartlettov test sferičnosti: Test hipoteze da je korelacijska matrica jednaka jediničnoj matrici; značajan rezultat znači da varijable imaju dovoljno korelacija za faktorsku analizu.
Komunalitet (\(h^2\)): Udio varijance varijable koji objašnjavaju zajednički faktori.
Specifična varijanca (\(u^2\)): Dio varijance varijable koji nije objašnjen zajedničkim faktorima.
Svojstvena vrijednost (Eigenvalue): Količina varijance koju objašnjava pojedina komponenta ili faktor.
Scree plot: Grafički prikaz svojstvenih vrijednosti po redoslijedu veličine; broj faktora određuje se prema „laktu” (nagloj promjeni nagiba).
Paralelna analiza: Metoda određivanja broja faktora usporedbom svojstvenih vrijednosti stvarnih podataka s onima dobivenima iz slučajnih matrica.
Heywoodov slučaj: Situacija u faktorskoj analizi kada komunalitet prelazi vrijednost 1 ili specifična varijanca postaje negativna, što ukazuje na problem u modelu.
Spektralna dekompozicija: Rastavljanje matrice na svojstvene vektore i svojstvene vrijednosti; temeljni matematički postupak u MDS-u i mnogim metodama redukcije dimenzionalnosti.
Redukcija dimenzionalnosti: Sažimanje mnogih varijabli u manje komponenti.
Grupiranje čvorova: Formiranje skupina prema sličnosti/pozicijama.
Pozicijska analiza: Analiza položaja čvorova u prostoru/strukturama.
Korelacijska struktura: Uzorak međusobnih povezanosti varijabli.
Vizualna interpretacija faktora: Mapiranje faktora u grafove/prostore.
Validacija rješenja: Provjera stabilnosti i smislenosti dobivenog modela.
Rotacija faktora: Transformacija faktora radi interpretabilnosti (npr. varimax).
Skaliranje mrežnih mjera: Uvođenje mrežnih indikatora u analizu dimenzija.
Usporedba dvaju pristupa redukciji dimenzionalnosti:
| Element | MDS (Multidimensional Scaling) | Faktorska analiza (FA) |
|---|---|---|
| Polazni podaci | Matrica udaljenosti ili sličnosti između čvorova | Matrica korelacija između varijabli |
| Cilj metode | Smjestiti objekte u geometrijski prostor | Identificirati latentne faktore koji objašnjavaju varijance |
| Rezultat | Koordinate čvorova u prostoru dimenzija | Faktorska opterećenja i faktorski skorovi |
| Interpretacija dimenzija | Dimenzije se interpretiraju naknadno (korelacijom s varijablama) | Dimenzije su latentni faktori definirani opterećenjima |
| Matematička osnova | Spektralna dekompozicija matrice skalarnih produkata | Faktorizacija korelacijske matrice |
| Tip redukcije dimenzionalnosti | Prostorna reprezentacija | Latentna struktura varijabli |
| Tip pitanja | „Koji su čvorovi slični i gdje se nalaze u prostoru?” | „Koje temeljne dimenzije objašnjavaju mrežne mjere?” |
| Tip rezultata | Grafička mapa mreže | Model latentnih faktora |
MDS i faktorska analiza predstavljaju dvije komplementarne strategije redukcije dimenzionalnosti. MDS rekonstruira prostorne odnose među objektima na temelju njihovih udaljenosti, dok faktorska analiza identificira latentne dimenzije koje objašnjavaju korelacijsku strukturu varijabli.
Antonov, M., Csárdi, G., Horvát, S., Müller, K., Nepusz, T., Noom, D., Salmon, M., Traag, V., Welles, B. F., & Zanini, F. (2023). igraph enables fast and robust network analysis across programming languages. arXiv preprint arXiv:2311.10260.
Bartlett, M. S. (1951). The effect of standardization on a \(χ2\) approximation in factor analysis. Biometrika, 38(3/4), 337-344.
Cattell, R. B. (1966). The scree test for the number of factors. Multivariate Behavioral Research, 1(2), 245-276.
Csardi, G., & Nepusz, T. (2006). The igraph software. Complex Systems, 1695, 1-9.
Csardi, G. (2015). igraphdata: A Collection of Network Data Sets for the ’igraph’Package. R package version, 1(1).
Gower, J. C. (1966). Some distance properties of latent root and vector methods used in multivariate analysis. Biometrika, 53(3-4), 325-338.
Horn, J. L. (1965). A rationale and test for the number of factors in factor analysis. Psychometrika, 30(2), 179-185.
Jackson, M. O. (2008). The economics of social networks. Econometric Society Monographs, 41, 1.
Kaiser, H. F. (1958). The varimax criterion for analytic rotation in factor analysis. Psychometrika, 23(3), 187-200.
Kaiser, H. F. (1970). A second generation little jiffy. Psychometrika, 35(4), 401-415.
Kaiser, H. F., & Rice, J. (1974). Little jiffy, mark IV. Educational and Psychological Measurement, 34(1), 111-117.
Klimt, B., & Yang, Y. (2004, September). The enron corpus: A new dataset for email classification research. In European Conference on Machine Learning (pp. 217-226). Berlin, Heidelberg: Springer Berlin Heidelberg.
Knoke, D., & Yang, S. (2020). Social network analysis. SAGE publications.
Kruskal, J. B. (1964). Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis. Psychometrika, 29(1), 1-27.
Padgett, J. F., & Ansell, C. K. (1993). Robust Action and the Rise of the Medici, 1400-1434. American Journal of Sociology, 98(6), 1259-1319.
R Core Team. (2025). R: A language and environment for statistical computing. R Foundation for Statistical Computing.
Rawlings, C. M., Smith, J. A., Moody, J., & McFarland, D. A. (2023). Network analysis: integrating social network theory, method, and application with R. Cambridge University Press.
Revelle, W., & Revelle, M. W. (2015). Package ‘psych’. The comprehensive R archive network, 337(338), 161-165.
Schoch, D. (2022). netrankr: An R package for total, partial, and probabilistic rankings in networks. Journal of Open Source Software, 7(77), 4563.
Thurstone, L. L. (1931). Multiple factor analysis. Psychological Review, 38(5), 406.
Torgerson, W. S. (1952). Multidimensional scaling: I. Theory and method. Psychometrika, 17(4), 401-419.
van Steen, M. (2010). Graph theory and complex networks. An introduction, 144(1), 7.