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.
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\) |
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\).
=c(2,3,4) # Kreira se vektor pomoću generičke funkcije c()
bt(b)%*%b # Množi se redak sa stupcem istog vektora
sum(b^2) # Računa se zbroj kvadrata
=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
C t(C)%*%C # Računa se unutarnji umnožak matrice C
=b%*%t(b) # Računa se matrica D kao vanjski umnožak vektora b
D# Ispis matrice D u prozoru konzole
D dim(D) # Provjera dimenzija matrice D
\(~~~\)
Imajte na umu da je R osjetljiv na velika i mala slova, primjerice
c
je vektor, aC
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 naredbelm()
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.
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.
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.
=lm(potrosnja~dohodak) # Procjena prvog modela
model1summary(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
=lm(log(potrosnja)~log(dohodak)) # Procjena drugog modela
model2summary(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 varijablepotrosnja
idohodak
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 naredbamodelsummary()
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)
\(~~~\)