Panelbeta

Load package and data

library(saeHB.panel.beta)
data("dataPanelbeta")

Fitting Model

dataPanelbeta = dataPanelbeta[1:25,] #for the example only use part of the dataset
area = max(dataPanelbeta[,2])
period = max(dataPanelbeta[,3])
result=Panel.beta(ydi~xdi1+xdi2,area=area, period=period ,iter.mcmc = 10000,thin=5,burn.in = 1000,data=dataPanelbeta)
#> Compiling model graph
#>    Resolving undeclared variables
#>    Allocating nodes
#> Graph information:
#>    Observed stochastic nodes: 25
#>    Unobserved stochastic nodes: 62
#>    Total graph size: 359
#> 
#> Initializing model
#> 
#> Compiling model graph
#>    Resolving undeclared variables
#>    Allocating nodes
#> Graph information:
#>    Observed stochastic nodes: 25
#>    Unobserved stochastic nodes: 62
#>    Total graph size: 359
#> 
#> Initializing model
#> 
#> Compiling model graph
#>    Resolving undeclared variables
#>    Allocating nodes
#> Graph information:
#>    Observed stochastic nodes: 25
#>    Unobserved stochastic nodes: 62
#>    Total graph size: 359
#> 
#> Initializing model

Extract mean estimation

Estimation

result$Est
#>              MEAN         SD      2.5%       25%       50%       75%     97.5%
#> mu[1,1] 0.9717868 0.02166834 0.9163305 0.9636520 0.9774306 0.9861077 0.9955293
#> mu[2,1] 0.9497076 0.03825216 0.8536345 0.9356588 0.9588993 0.9746808 0.9900262
#> mu[3,1] 0.9395185 0.04571793 0.8222603 0.9237337 0.9508716 0.9687601 0.9876457
#> mu[4,1] 0.9688369 0.02326084 0.9086208 0.9607591 0.9749918 0.9839374 0.9942502
#> mu[5,1] 0.9369311 0.05241000 0.7945587 0.9184087 0.9524498 0.9712865 0.9891216
#> mu[1,2] 0.9710793 0.02325841 0.9129087 0.9632657 0.9772449 0.9862232 0.9950239
#> mu[2,2] 0.9615987 0.03051914 0.8768642 0.9514659 0.9700624 0.9816602 0.9929245
#> mu[3,2] 0.9175645 0.05730775 0.7698046 0.8939881 0.9327286 0.9561572 0.9835752
#> mu[4,2] 0.9786390 0.01818533 0.9274789 0.9736815 0.9837815 0.9902405 0.9967317
#> mu[5,2] 0.9392692 0.04453009 0.8285987 0.9232718 0.9507793 0.9681041 0.9881005
#> mu[1,3] 0.9702790 0.02557212 0.9047946 0.9623729 0.9775517 0.9862264 0.9954261
#> mu[2,3] 0.8624418 0.08147673 0.6468922 0.8269684 0.8809683 0.9178925 0.9684545
#> mu[3,3] 0.9509067 0.03737865 0.8509822 0.9379815 0.9597157 0.9758957 0.9917299
#> mu[4,3] 0.9579821 0.02909784 0.8828611 0.9464781 0.9648266 0.9782642 0.9930768
#> mu[5,3] 0.9161761 0.05641491 0.7633184 0.8943362 0.9289932 0.9554739 0.9831923
#> mu[1,4] 0.9545855 0.03442849 0.8646446 0.9430101 0.9640125 0.9775779 0.9918786
#> mu[2,4] 0.9333247 0.04488135 0.8131917 0.9152130 0.9441284 0.9650843 0.9857877
#> mu[3,4] 0.9313828 0.04641625 0.8149136 0.9124006 0.9433332 0.9633585 0.9863704
#> mu[4,4] 0.9758941 0.01966421 0.9247607 0.9693366 0.9811738 0.9887672 0.9960340
#> mu[5,4] 0.8497621 0.10418054 0.5726912 0.8063672 0.8782832 0.9211987 0.9708030
#> mu[1,5] 0.9678595 0.02347780 0.9066433 0.9588404 0.9732171 0.9836458 0.9944209
#> mu[2,5] 0.8850157 0.06901022 0.7014823 0.8520287 0.9003495 0.9344393 0.9729929
#> mu[3,5] 0.9565511 0.03232211 0.8694577 0.9448877 0.9647003 0.9786368 0.9922271
#> mu[4,5] 0.9316519 0.04545470 0.8105039 0.9117281 0.9423803 0.9636610 0.9872636
#> mu[5,5] 0.8589801 0.08503609 0.6364219 0.8181927 0.8763354 0.9211899 0.9675039

Coefficient Estimation

result$coefficient
#>          Mean        SD      2.5%       25%      50%      75%    97.5%
#> b[0] 1.933826 0.4095724 1.0694727 1.6600987 1.948024 2.211537 2.729253
#> b[1] 1.158625 0.5398109 0.1197686 0.7872867 1.161296 1.525795 2.203943
#> b[2] 1.157464 0.4879584 0.2346095 0.8292806 1.154370 1.476986 2.111763

Random effect variance estimation

result$refvar
#> NULL

Extract MSE

MSE_HB=result$Est$SD^2
summary(MSE_HB)
#>      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
#> 0.0003307 0.0006539 0.0014632 0.0023740 0.0027468 0.0108536

Extract RSE

RSE_HB=sqrt(MSE_HB)/result$Est$MEAN*100
summary(RSE_HB)
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#>   1.858   2.636   4.028   4.752   5.594  12.260

You can compare with direct estimator

y_dir=dataPanelbeta[,1]
y_HB=result$Est$MEAN
y=as.data.frame(cbind(y_dir,y_HB))
summary(y)
#>      y_dir             y_HB       
#>  Min.   :0.3836   Min.   :0.8498  
#>  1st Qu.:0.9702   1st Qu.:0.9314  
#>  Median :1.0000   Median :0.9497  
#>  Mean   :0.9423   Mean   :0.9375  
#>  3rd Qu.:1.0000   3rd Qu.:0.9679  
#>  Max.   :1.0000   Max.   :0.9786
MSE_dir=dataPanelbeta[,4]
MSE=as.data.frame(cbind(MSE_dir, MSE_HB))
summary(MSE)
#>     MSE_dir              MSE_HB         
#>  Min.   :0.0004401   Min.   :0.0003307  
#>  1st Qu.:0.0036464   1st Qu.:0.0006539  
#>  Median :0.0228563   Median :0.0014632  
#>  Mean   :0.0256965   Mean   :0.0023740  
#>  3rd Qu.:0.0428368   3rd Qu.:0.0027468  
#>  Max.   :0.0887137   Max.   :0.0108536
RSE_dir=sqrt(MSE_dir)/y_dir*100
RSE=as.data.frame(cbind(RSE_dir, RSE_HB))
summary(RSE)
#>     RSE_dir           RSE_HB      
#>  Min.   : 2.098   Min.   : 1.858  
#>  1st Qu.: 6.039   1st Qu.: 2.636  
#>  Median :15.118   Median : 4.028  
#>  Mean   :16.266   Mean   : 4.752  
#>  3rd Qu.:21.629   3rd Qu.: 5.594  
#>  Max.   :59.741   Max.   :12.260