Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Distributional command after BC92 model using sfpanel

    Dear Stata users,

    I am doing stochastic cost frontier analysis on a panel data set (using sfpanel) and specifically am trying to estimate the BC92 model. I would like to specify the distributional assumption as half-normal as per the original paper by Battese and Coelli (Battese, G.E. and Coelli, T.J. (1992): “Frontier Production Functions, Technical Efficiency and Panel Data: With Application to Paddy Farmers in India”, Journal of Productivity Analysis, vol. 3, pp. 153-169.

    After running my code for sfpanel as follows:
    sfpanel variables x1, x2 etc, cost model(bc92) distribution(hnormal)

    I get the following error message:
    Battese & Coelli (92) model requires distribution(tnormal)
    r(198);

    It seems that the default option for bc92 is a truncated normal distribution and that you cannot specify half-normal even though the original paper by Battese and Coelli does specify half normal.

    I wonder if there is some way to code around this problem? If anyone has any advice I would very much appreciate it.

    Also thank you to the user Nick Cox who pointed out that I should also use my full name as per FAQ section 6- so while I await the "contact us" people to update this on my profile, my name is Cheryl.

  • #2
    Actually, Battese and Coelli estimate four different models:

    "Model 1.0 involves all parameters being estimated;
    Model 1.1 assumes that mu = 0;
    Model 1.2 assumes that eta = 0;
    Model 1.3 assumes that mu = eta = 0; and
    Model 1.4 assumes that gamma = mu = eta = 0.

    Model 1.0 is the stochastic frontier production function (7) in which the farm effects, Uit, have the time-varying structure defined in Section 2 (i.e.,eta is an unknown parameter and the Ui’s of equation (2) are non-negative truncations of the N(mu, sigma^2) distribution). Model 1.1 is the special case of Model 1.0 in which the Ui’s have half-normal distribution (i.e., mu is assumed to be zero). Model 1.2 is the time-invariant model considered by Battese, Coelli, and Colby [1989]. Model 1.3 is the time-invariant model in which the farm effects, Ui, have half-normal distribution. Finally, Model 1.4 is the traditional average response function in which farms are assumed to be fully technically efficient (i.e. the farm effects, Uit, are absent from the model)." Page 158
    For model 1.1:

    Code:
    webuse xtfrontier1, clear
    constraint 1 [Mu]_cons = 0
    // note the capitalization
    sfpanel lnwidgets lnmachines lnworkers, constraint(1) nolog
    //This can also be estimated using xtfrontier
    constraint 2 [mu]_cons = 0
    xtfrontier lnwidgets lnmachines lnworkers, constraint(2) tvd nolog

    Comment


    • #3
      Dear Scott,

      Thank you for your response, it is very helpful. Am I right in understanding that the command "constraint 1 [Mu]_cons = 0" parameterises the Ui's distribution as half normal by setting Mu = 0? I was wondering why the model still says "Time-varying decay model (truncated-normal) " at the top of the Stata output and not " half-normal"? Also apologies but what is the meaning behind the "nolog"? Thank you again,

      Cheryl

      Comment


      • #4
        To peel off the last, nolog means "no log", i.e. reduced output with less detail on the estimation process. As is often done, it is documented separately. You need to click your way to documentation, starting at the maximize_options. (That example is not itself clickable.) I'd demur from the statement that options such as nolog are seldom used; at least, I use them frequently.

        Comment


        • #5
          Ok thank you Scott, I see what you mean. Very much appreciated!

          Comment


          • #6
            That was Nick that replied to the nolog question. The truncated normal is a generalization of the half-normal distribution. When mu = 0 the truncated normal and half-normal are equivalent.

            As to why Stata reports
            "Time-varying decay model (truncated-normal) " is because it does not know that it is estimating a half-normal distribution.

            We can compare the results from frontier which allows both half-normal and a constrained truncated normal:

            Code:
            webuse frontier1,clear
            qui frontier lnoutput lnlabor lncapital, dist(hnormal)
            est store HalfNormal
            constraint 1 [mu]_cons = 0
            qui frontier lnoutput lnlabor lncapital, dist(tnormal) constraint(1)
            est store TruncatedNormal
            est table HalfNormal TruncatedNormal,keep(lnlabor lncapital _cons) modelwidth(15)
            
            --------------------------------------------------
                Variable |   HalfNormal      TruncatedNormal  
            -------------+------------------------------------
                 lnlabor |       .67416549         .67416549  
               lncapital |        .6279162          .6279162  
                   _cons |        .0952752          .0952752  
            --------------------------------------------------

            Comment


            • #7
              Thank you Scott, and thank you Nick (I am still learning to use the Stata forum)

              Comment


              • #8
                Can you please tell me where you found the data used in Battese and Coeeli model?

                Comment


                • #9
                  Dear scholars
                  I am doing work on technical efficiency of thermal power plants over the period of 2000-15. For that purpose i applied the bc92 model and get the efficiency scores. Now i want to estimate the total factor productivity. kindly guide me about the commands that are required for the TFP.

                  Comment

                  Working...
                  X