2.10 PRIMJER 7

  • U demografskim se analizama želi istražiti što utječe na fertilitet, tj. u kojim se uvjetima žena odlučuje imati više djece

  • Na uzorku od \(n=50\) žena zavisna je varijabla broj djece \(y_i=\{0,~1,~2,~3\}\)

  • Dvije su numeričke nezavisne varijable:

    diskretna varijabla \(x_i=\{\text{navršene godine starosti}\}\) i

    kontinuirana varijabla \(z_i=\{\text{godišnja neto plaća (u 000 kn)}\}\)

  • Jedna je dihotomna nezavisna varijabla:

    obrazovanje \(d_i=\{1-fakultet,~0-inače\}\)

  • Model koji se procjenjuje glasi:

\[\begin{equation} log(\lambda_i)=\beta_0+\beta_1 x_i+\beta_2 z_i+\beta_3 d_i+\varepsilon_i \end{equation}\]

  • Prvo preuzmite Excel datoteku \(\verb|Fertilitet.xls|\) pomoću naredbe read.xls() koristeći URL adresu veze. Navedenu datoteku spremite kao objekt istog naziva fertilitet. Prethodno instalirajte i učitajte paket gdata koji podržava naredbu read.xls()
install.packages("gdata")
library(gdata)
fertilitet=read.xls("http://www.efzg.hr/UserDocsImages/sta/jarneric/Fertilitet.xls")
  • Prikažite prvih 6 redaka objekta fertilitet pomoću naredbe head()
head(fertilitet)
##   djeca starost placa obrazovanje
## 1     1      41    83           1
## 2     1      54    49           0
## 3     0      52    47           0
## 4     0      42    56           1
## 5     0      23    56           0
## 6     1      46    88           1
  • Koje je klase objekt fertilitet, kojih dimenzija i koje strukture?
str(fertilitet)
## 'data.frame':    50 obs. of  4 variables:
##  $ djeca      : int  1 1 0 0 0 1 1 1 1 1 ...
##  $ starost    : int  41 54 52 42 23 46 45 42 38 56 ...
##  $ placa      : int  83 49 47 56 56 88 76 44 52 66 ...
##  $ obrazovanje: int  1 0 0 1 0 1 1 0 0 1 ...
  • Pomoću naredbe glm() procijenite Poissonovu regresiju očekivanog broja djece (varijabla djeca) s obzirom na navršene godine starosti (varijabla starost), mjesečna primanja (varijabla placa) te obrazovanje (varijabla obrazovanje). Model Poissonove regresije nazovite poissonova. Jesu li sve varijable statistički signifakantne na razini značajnosti \(\alpha=0.05\)?
poissonova=glm(djeca~starost+placa+factor(obrazovanje),family=poisson(link="log"),data=fertilitet)
summary(poissonova)
## 
## Call:
## glm(formula = djeca ~ starost + placa + factor(obrazovanje), 
##     family = poisson(link = "log"), data = fertilitet)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.0453  -0.6170  -0.2152   0.3485   1.9163  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          -4.81673    1.09929  -4.382 1.18e-05 ***
## starost               0.04153    0.01448   2.869 0.004121 ** 
## placa                 0.04368    0.01212   3.604 0.000314 ***
## factor(obrazovanje)1 -0.43472    0.34395  -1.264 0.206262    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 42.736  on 49  degrees of freedom
## Residual deviance: 20.684  on 46  degrees of freedom
## AIC: 92.744
## 
## Number of Fisher Scoring iterations: 5
  • Za svaku žensku osobu procijenite očekivani broj djece pomoću naredbe predict(). Očekivani broj djece pridružite postojećem spremniku podataka fertilitet kao novi stupac pod nazivom ocekivanje. Ponovno provjerite sadržaj prvih 6 redaka objekta fertilitet.
fertilitet$ocekivanje=predict(poissonova,type="response")
head(fertilitet)
##   djeca starost placa obrazovanje ocekivanje
## 1     1      41    83           1  1.0793148
## 2     1      54    49           0  0.6478614
## 3     0      52    47           0  0.5463546
## 4     0      42    56           1  0.3459700
## 5     0      23    56           0  0.2427522
## 6     1      46    88           1  1.6525964
  • Prema procijenjenom modelu izračunajte očekivani broj djece za žensku osobu koja zarađuje 60 tisuća kuna godišnje s 30 navršenih godina starosti i ima završen fakultet.
novevrijednosti=c(30,60,1)
novevrijednosti=as.data.frame(t(novevrijednosti))
colnames(novevrijednosti)=c("starost","placa","obrazovanje")
predict(poissonova,novevrijednosti)
##         1 
## -1.385035
  • Dobivena se vrijednost antilogaritmira po bazi prirodnog logaritma:
exp(-1.385035)
## [1] 0.250315
  • Sada kad znamo parametar \(\lambda=0.25\) možemo dodatno izračunati vjerojatnosti prema Poissonovoj formuli da će se žena odlučiti za dvoje djece u zadanim uvjetima

\[\begin{equation} P(X=x)=\dfrac{\lambda^{x}e^{-x}}{x!} \end{equation}\]

\[\begin{equation} P(X=2)=\dfrac{0.25^{2}e^{-2}}{2!}=0.0243375 \end{equation}\]

dpois(2,0.25)
## [1] 0.02433752