1.3 RStudio - treći dio

  • Uz spremnike podataka, vektore i matrice, možete raditi i s drugim vrstama objekata u R-u, kao što su nizovi, liste ili objekti vremenskih nizova (xts ili zoo objekti). Iako je matrica slična spremniku podataka, ona ne sadrži imena stupaca i redaka.

  • Svaki stupac u spremniku podataka je vektor iste dužine, ali za razliku od matrice, stupci spremnika podataka mogu sadržavati različite tipove podataka. Nasuprot tome, svi stupci u matrici isključivo su numerički.

  • Poznavanje određenih naredbi za rad s vektorima i matricama iznimno je važno za manipulaciju podacima, uključujući njihovu transformaciju, preoblikovanje ili agregiranje.

TABLICA 1.3: Rad s nizovima i vektorima u R-u
naredba opis
v=c(a,b,c,d,...) vektor \(v\) s elementima \(a\), \(b\), \(c\), \(d\), …
v=seq(n) niz \(v\) prirodnih brojeva od \(1\) do \(n\)
v=seq(a:n) niz \(v\) prirodnih brojeva od \(a\) do \(n\)
v=seq(a,n,c) niz \(v\) brojeva od \(a\) do \(n\) s korakom \(c\)
v=rep(a,n) vektor \(v\) jednakih \(n\) elemenata \(a\)
length(v) broj elemenata vektora \(v\)
sum(v) zbroj elemenata vektora \(v\)
prod(v) umnožak elemenata vektora \(v\)
TABLICA 1.4: Rad s matricama u R-u
naredba opis
A=matrix(v, nrow=n) matrica \(A\) s elementima niza \(v\) i \(n\) redaka
A=cbind(c1, c2, ...) združeni stupci matrice \(A\)
A=rbind(r1, r2, ...) združeni retci matrice \(A\)
diag(A) dijagonalni elementi matrice \(A\)
diag(n) jedinična matrica dimenzija \(n \times n\)
t(A) transponiranje matrice \(A\)
solve(A) invertiranje matrice \(A\)
A %*% B množenje dviju matrica \(A\) i \(B\)
dim(A) dimenzije matrice \(A\)

Zadatak 10. Kreirajte vektor \(b=\begin{bmatrix} 2 \\ 3\\ 4 \end{bmatrix}\), izračunajte unutarnji umnožak (engl. inner product) vektora \(b^{T}b\) te pokažite da je rezultat jednak \(\displaystyle\sum_{i=1}^3 b^2_i\).

Dodatno, kreirajte jedinični vektor \(c\) dužine \(3\) i združite ga s vektorom \(b\) u jednu matricu \(C\). Koji su elementi unutarnjeg umnoška matrice \(C\)? Izračunajte matricu \(D\) kao vanjski umnožak (engl. outer product) vektora \(bb^{T}\). Provjerite dimenzije matrice \(D\).

b=c(2,3,4) # Kreira se vektor pomoću generičke funkcije c()
t(b)%*%b # Množi se redak sa stupcem istog vektora
sum(b^2) # Računa se zbroj kvadrata
c=rep(1,3) # Kreira se jedinični vektor dužine 3
C=cbind(c,b) # Dva se vektora združuju u jednu matricu C
C # Ispis matrice C u prozoru konzole
t(C)%*%C # Računa se unutarnji umnožak matrice C
D=b%*%t(b)  # Računa se matrica D kao vanjski umnožak vektora b
D # Ispis matrice D u prozoru konzole
dim(D) # Provjera dimenzija matrice D

\(~~~\)

  • Imajte na umu da je R osjetljiv na velika i mala slova, primjerice c je vektor, a C je matrica (nisu isti objekti).

  • Regresijska analiza financijskih vremenskih nizova je jedan od pristupa u financijskoj ekonometriji. Bilo da je riječ o bivarijatnoj ili multivarijatnoj regresiji (s varijablama koje nisu nužno sve numeričke i koje mogu imati različite uloge, primjerice varijable s desne strane jednadžbe mogu biti kontrolne ili moderatorske), procjena parametara OLS metodom (engl. Ordinary Least Squares) vrši se pomoću naredbe lm().

  • Kratica naredbe lm() potječe od naziva linearni model. Prvi argument naredbe lm() je formula, a drugi argument je objekt koji predstavlja spremnik podataka.

  • Formula se odnosi na funkcionalni oblik modela te se može zapisati na različite načine.

TABLICA 1.5: Regresijske formule u R-u
formula opis
y~x \(y\) se regresira na \(x\)
y~x+z \(y\) se regresira na \(x\) i \(z\)
y~x+z+x:z \(y\) se regresira na \(x\), \(z\) i član interakcije (\(x*z\))
y~0+z \(y\) se regresira na \(z\) bez konstante
y~1 y se regresira samo na konstantu
y~log(x) \(y\) se regresira na \(log(x)\)
  • Na temelju procijenjenog linearnog modela mogu se izdvojiti određeni rezultati, tj. primijeniti nove naredbe nad postojećim objektom.
TABLICA 1.6: Rezultati procijenjenog modela u R-u
naredba opis
coef(model) regresijski koeficijenti modela
confint(model,level=0.95) interavli pouzdanosti koeficijenata
fitted(model) procijenjene vrijednosti modela
resid(model) reziduali modela
vcov(model) kovarijančna matrica koeficijenata
summary(model) sažeti rezultati modela
anova(model) tablica ANOVA
AIC(model) Akaike informacijski kriterij
BIC(model) Bayesov informacijski kriterij
abline(model) regresijski pravac na dijagramu rasipanja

Zadatak 11. Regresirajte potrošnju na dohodak iz Zadatka 8. Procijenjen model spremite kao objekt model1. Upotrijebite naredbu summary() za ispis rezultata objekta model1. Regresijsku jednadžbu prikažite na dijagramu rasipanja. Potom procijenite drugi model u kojem su obje varijable logaritmirane (objekt model2). Ispišite rezultate objekta model2 te ga prikažite na drugom dijagramu rasipanja.

model1=lm(potrosnja~dohodak) # Procjena prvog modela
summary(model1) # Sažeti prikaz rezultata prvog modela
plot(dohodak,potrosnja,pch=19,col="blue",main="Dijagram rasipanja (1)")
abline(model1) # Dodavanja regresijskog pravca prvom dijagramu rasipanja
model2=lm(log(potrosnja)~log(dohodak)) # Procjena drugog modela
summary(model2) # Sažeti prikaz rezultata drugog modela
plot(log(dohodak),log(potrosnja),pch=19,col="blue",main="Dijagram rasipanja (2)")
abline(model2) # Dodavanja regresijskog pravca drugom dijagramu rasipanja

\(~~~\)

  • U prethodnom zadatku naredba lm() ima samo jedan argument, a to je formula, budući da varijable potrosnja i dohodak nisu dio spremnika podataka.

  • Općeprihvaćeno je da se u ispisima rezultata označe koeficijenti s jednom zvjezdicom (\(*\)) ako su statistički značajni na razini signifikantnosti \(10\%\) (\(p<0.1\)), s dvije zvjezdice (\(**\)) ako su statistički značajni na razini signifikantnosti \(5\%\) (\(p<0.05\)) ili pak s tri zvjezdice (\(***\)) ako su statistički značajni na razini signifikantnosti \(1\%\) (\(p<0.01\)).

  • Koeficijenti koji nisu označeni zvjezdicama nisu statistički značajni u kontekstu dvosmjernog testiranja (\(H_1:~\beta_j\ne0\)). Zato se \(p-\)vrijednost jednosmjernog testa (engl. one-sided test) izračunava kao polovica \(p-\)vrijednosti dvosmjernog testa (engl. two-sided test).

  • Također je uobičajeno da se ispod koeficijenata zapišu njihove standardne pogreške u zagradama te ostali pokazatelji prikladnosti (engl. goodness-of-fit) procijenjenog modela.

  • Postoji više paketa koji podržavaju tablični prikaz rezultata procijenjenog modela, a najzastupljeniji je modelsummary. Istoimena naredba modelsummary() može poslužiti i za prikaz te usporedbu više procijenjenih modela simultano.

Zadatak 12. Rezultate procijenjenih modela (model1 i model2) prikažite i usporedite tablično pomoću naredbe modelsummary().

modelsummary(list(model1,model2),stars=TRUE,fmt=3)

\(~~~\)