Dokončenie zadania z minulého týždňa - vlastné čísla, vlastné vektory

Author

Yevheniia Khomenko

Published

October 1, 2026

Vlastné čísla a vlastné vektory matíc

V jazyku R sa na výpočet vlastných čísel (eigenvalues) a vlastných vektorov (eigenvectors) používa zabudovaná funkcia eigen(). Táto funkcia vracia zoznam (list), ktorý obsahuje dve zložky: values (vlastné čísla) a vectors (vlastné vektory).

Code
# Príklad s jednoduchou štvorcovou maticou
A <- matrix(c(4, 1, 1, 3), nrow = 2)

A
     [,1] [,2]
[1,]    4    1
[2,]    1    3
Code
# Výpočet vlastných čísel a vektorov
vysledok_eigen <- eigen(A)

# Výpis vlastných čísel
vysledok_eigen$values
[1] 4.618034 2.381966
Code
# Výpis vlastných vektorov
vysledok_eigen$vectors
           [,1]       [,2]
[1,] -0.8506508  0.5257311
[2,] -0.5257311 -0.8506508

Malé cvičenie

Zadanie: Demonštrujte prácu s variančno-kovariančnou maticou.

1. Vygenerujte simulované dáta pre 3 premenné (napr. denné výnosy troch fiktívnych aktív za 100 dní).

2. Vypočítajte ich variančno-kovariančnú maticu.

3. Nájdite vlastné čísla a vlastné vektory tejto matice.

Code
# Nastavenie seedu pre reprodukovateľnosť výsledkov
set.seed(123)

# 1. Generovanie náhodných dát
data_aktiva <- data.frame(
  Aktivum_1 = rnorm(100, mean = 0.001, sd = 0.02),
  Aktivum_2 = rnorm(100, mean = 0.002, sd = 0.03),
  Aktivum_3 = rnorm(100, mean = 0.0015, sd = 0.025)
)

# 2. Výpočet variančno-kovariančnej matice
cov_matica <- cov(data_aktiva)

# Vypísanie vygenerovanej matice na obrazovku!
print("Variančno-kovariančná matica:")
[1] "Variančno-kovariančná matica:"
Code
cov_matica
              Aktivum_1     Aktivum_2     Aktivum_3
Aktivum_1  3.332931e-04 -2.623264e-05 -5.600197e-05
Aktivum_2 -2.623264e-05  8.415568e-04  2.106559e-05
Aktivum_3 -5.600197e-05  2.106559e-05  5.639188e-04
Code
# 3. Výpočet vlastných čísel a vektorov
eig_vypocet <- eigen(cov_matica, symmetric = TRUE)

print("Vlastné čísla:")
[1] "Vlastné čísla:"
Code
eig_vypocet$values
[1] 0.0008449856 0.0005742061 0.0003195770
Code
print("Vlastné vektory:")
[1] "Vlastné vektory:"
Code
eig_vypocet$vectors
            [,1]        [,2]       [,3]
[1,]  0.06045500  0.21523432 0.97468938
[2,] -0.99440933  0.09768019 0.04010805
[3,] -0.08657522 -0.97166495 0.21993627