Model Tobit
Langkah Langkah Penyelesaian Model Tobit
Langkah 1: Menginstal dan Membaca Packages ggplot2, GGally, dan VGAM
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.0.5
library(GGally)
## Warning: package 'GGally' was built under R version 4.0.5
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(VGAM)
## Warning: package 'VGAM' was built under R version 4.0.5
## Loading required package: stats4
## Loading required package: splines
Langkah 2: Mengimpor data yang telah ditabulasi di Microsoft Excel, setelah itu membaca data yang tersimpan di rektori kerja kita
library(readxl)
Profesi <- read_excel("EKONOMETRIKA/Profesi.xlsx")
View(Profesi)
Langkah 3: Menghitung Statistik Deskriptif dengan menggunakan fungsi summary ()
summary(Profesi)
## Edu Gender Kat_Prof1 Kat_Prof2
## Min. : 8.00 Min. :0.0000 Min. :0.0000 Min. :0.00
## 1st Qu.:12.00 1st Qu.:0.0000 1st Qu.:1.0000 1st Qu.:0.00
## Median :13.00 Median :0.0000 Median :1.0000 Median :0.00
## Mean :13.98 Mean :0.2267 Mean :0.7689 Mean :0.06
## 3rd Qu.:16.00 3rd Qu.:0.0000 3rd Qu.:1.0000 3rd Qu.:0.00
## Max. :22.00 Max. :1.0000 Max. :1.0000 Max. :1.00
## Kat_Prof3 Profesi
## Min. :0.0000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:1.000
## Median :0.0000 Median :1.000
## Mean :0.1711 Mean :1.402
## 3rd Qu.:0.0000 3rd Qu.:1.000
## Max. :1.0000 Max. :3.000
Langkah 4: Membuat Model Tobit
summary(m<-vglm(Profesi~Edu+Gender,tobit(Upper = 450), data = Profesi))
##
## Call:
## vglm(formula = Profesi ~ Edu + Gender, family = tobit(Upper = 450),
## data = Profesi)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept):1 -0.354786 0.145510 -2.438 0.0148 *
## (Intercept):2 -0.437861 0.034173 -12.813 <2e-16 ***
## Edu 0.128138 0.009966 12.858 <2e-16 ***
## Gender -0.151611 0.073365 -2.067 0.0388 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Names of linear predictors: mu, loglink(sd)
##
## Log-likelihood: -441.4852 on 896 degrees of freedom
##
## Number of Fisher scoring iterations: 5
##
## No Hauck-Donner effect found in any of the estimates
Langkah 5: Menghitung nilai p untuk msing-masing koefisien model tobit
ctable<-coef(summary(m))
pvals<-2*pt(abs(ctable[,"z value"]),df.residual(m), lower.tail = FALSE)
cbind(ctable,pvals)
## Estimate Std. Error z value Pr(>|z|) pvals
## (Intercept):1 -0.3547857 0.145509853 -2.438225 1.475959e-02 1.495296e-02
## (Intercept):2 -0.4378606 0.034172756 -12.813148 1.384027e-37 1.237696e-34
## Edu 0.1281383 0.009965851 12.857736 7.782273e-38 7.610497e-35
## Gender -0.1516111 0.073364540 -2.066544 3.877712e-02 3.906396e-02
Langkah 6: Menguji Signifikansi secara keseluruhan
m2<-vglm(Profesi~Edu+Gender,tobit(Upper = 450),data = Profesi)
(p<-pchisq(2*logLik(m)-logLik(m2), df=2, lower.tail = FALSE))
## [1] 1
Langkah 7: Menghitung tingkat Kepercayaan
b<-coef(m)
se<-sqrt(diag(vcov(m)))
cbind(LL=b-qnorm(0.975)*se,UL=b+qnorm(0.975)*se)
## LL UL
## (Intercept):1 -0.6399798 -0.069591676
## (Intercept):2 -0.5048380 -0.370883221
## Edu 0.1086056 0.147670988
## Gender -0.2954029 -0.007819207
Langkah 8: Menguji Kelayakan Model
Profesi$yhat<-fitted(m)[,1]
Profesi$rr<-resid(m, type = "response")
Profesi$rp<-resid(m, type = "pearson")[,1]
par(mfcol = c(2,3))
with(Profesi, {plot(yhat, rr, main = "Fitted vs Residual")
qqnorm(rr)
plot(yhat, rp, main = "Fitted vs Person Residuals")
qqnorm(rp)
plot(Profesi, rp, main = "Actual vs Person residuals")
plot(Profesi, yhat, main = "Actual vs Fitted")})