Title | Nauka R - ekonometria wraz z przylkadami |
---|---|
Course | Metody Ekonometryczne |
Institution | Szkola Glówna Handlowa w Warszawie |
Pages | 40 |
File Size | 165 KB |
File Type | |
Total Downloads | 78 |
Total Views | 179 |
#===============================================================================================#Metody EkonometryczneCwiczenia 2Estymator MNK#================================================================================= ==============##===========================================================...
#================================================================================= ==============# # Metody Ekonometryczne # Cwiczenia 2 # Estymator MNK #================================================================================= ==============#
#================================================================================= ==============# # Wczytanie danych rm(list=ls()) DATA
=read.csv("http://web.sgh.waw.pl/~jmuck/ME/consumption.csv",sep=";")
summary(DATA)
#================================================================================= ==============# #
Wyznaczenie macierzy X, y oraz informacji o zbiorze danych
#
Dla modelu expenditure=beta_0 +beta_1*income +epsilon
N
= nrow(DATA)
# liczba obserwacji
y
= matrix(DATA$expenditure,ncol=1)
# wektor zmiennej objasnianej
X = cbind(rep(1,N),DATA$income, DATA$war) objasniajacych
# macierz zmiennysch
K
= ncol(X)-1
# liczba zmiennych objasniajacych
df
= N-(K+1)
# liczba stopni swobody
colnames(X)
=c("const","income","war")
# nazwy zmiennych objasniajacych
#================================================================================= ==============# #
Estymator MNK z wykorzystaniem operacji macierzowych
beta_OLS punktowe
= solve(t(X)%*%X)%*%t(X)%*%y
# estymator MNK - oszacowania
###intepretacja dla zmiennej income: # - wzrost income o 1 j. powoduje wzrsot expenditure o 0.86 j. C.P # wariancja ( wzory 51-52, prezentacja nr.1) y_hat
= X%*%beta_OLS
# wartosci teoretyczne
e_hat
= y-y_hat
# reszty
SSE
= sum(e_hat^2)
# suma kwadartow reszt
SE = SSE/df losowego, SE - błąd szacunku
# szacunek wariancji skladnika
Var_beta_OLS= SE*solve(t(X)%*%X) parametrow SE_beta_OLS
# estymator wariancji-kowariancji
= diag(Var_beta_OLS)^.5
# bledy szacunku (bledy standardowe)
RESULTS
=
cbind(beta_OLS,SE_beta_OLS, abs(SE_beta_OLS/beta_OLS*100))
colnames(RESULTS)
=
c("coef (mean)", "standard errors","relative standard errors")
print(RESULTS,digits=3)
# realtywny bład szaucnku - jesli jest nizszy od 50% to znaczy ze dobre oszacowania ## Interpretacja parametrow # jezeli jest wojna to wydatki konsumcyjne sa o 50 j. srednio nisze niz w czcasach pokoju
#================================================================================= ==============# #
Wizualizacja uzyskanych oszacowan
#
Teoretyczna zaleznosc
plot(DATA$income,DATA$expenditure,ylab="expenditure",xlab="income",lwd=4,col="blue") abline(a=beta_OLS[1],b=beta_OLS[2],col="red",lwd=3)
# x
Oszacowany rozklad parametru przy zmiennej income =seq(0,1,length.out=1000)
rozklad =dnorm(x,mean=beta_OLS[2],sd=SE_beta_OLS[2])
plot(x,rozklad, type="l",col="red",lwd=2, xlab=expression(beta[2]), ylab=expression(paste(f(beta[2])))) #================================================================================= ==============# #
Estymator MNK z wykorzystaniem wbudowanej funkcji lm()
model1
=lm(expenditure~income,data=DATA)
summary(model1)
# Analiza danych jakosciowych aggregate(expenditure~war, data=DATA, mean)
model2
=lm(expenditure~income+war,data=DATA)
summary(model2)
#
Uzyskiwanie informacji o oszacowaniach na podstawie obiektow lm() i summary.lm()
coef(model1) model1$coef summary(model1)$coefficients
#================================================================================= ==============# #
Porownanie oszacowan modeli
#
Wartosci teoretyczne
plot(DATA$income,DATA$expenditure,ylab="expenditure",xlab="income",lwd=4,col="blue") abline(a=model1$coef[1],b=model1$coef[2],col="red",lwd=3) abline(a=model2$coef[1],b=model2$coef[2],col="green",lwd=3)
#
Oszacowany parametr przy zmiennej income
x
=seq(0,1,length.out=1000)
rozklad1
=dnorm(x,
mean=summary(model1)$coefficients[2,1],
sd=summary(model1)$coefficients[2,2]) rozklad2
=dnorm(x,
mean=summary(model2)$coefficients[2,1],
sd=summary(model2)$coefficients[2,2])
plot(x,rozklad2, type="l",col="green",lwd=2, xlab=expression(beta[2]), ylab=expression(paste(f(beta[2])))) lines(x,rozklad1, lwd=2,col="red")
## model2 charaktetryzuje sie mniejsza wariancja ## jest przesuniecie ale nie wiemy czy jest statystycznie istotne ## w modelu2 ograniczylismy role nieobserwowalnych czynnikow dlatego tez wariancja sie zmniejszyla ## w modelu1 nie doszacowalismy efektu zmiany dochodu na konsumpcji
#================================================================================= ==============# # Metody Ekonometryczne # Cwiczenia 3 # Testowanie prostych hipotez #================================================================================= ==============#
### Bedziemy badali model Solowa, dlugookresowy wzrost gospodarczy, kapital i zasoby ludzkie
rm(list=ls())
#install.packages("AER") library("AER") data("GrowthDJ") DATA...