14.0 MPROBIT Command The MPROBIT command supports multinomial PROBIT analysis with up to 10 ordered catagories and up to 97 right hand variables. If the left hand variable has only two catagories, the B34S PROBIT command, which will give identical results, should be used. References for MPROBIT are: - McKelvey, R. and W. Zavoina, " An IBM Fortran IV Program to Perform N-Chotomous Multivariate Probit Analysis, " Behavioral Science, Vol. 16 (March 1971), pp. 186-187. - McKelvey , Richard and William Zavoina, " A Statistical Model for the Analysis of Ordinal Level Dependent Variables," Journal of Mathematical Sociology, Vol. 4, 1975, pp. 103-120. Form of MPROBIT command. B34SEXEC MPROBIT options parameters $ TITLE1=(' any title ') $ TITLE2=(' any title ') $ VVALUES=(number1, number2) $ MODEL Y = xvar1 xvar2 xvar3 $ B34SEEND $ The VVALUES and MODEL sentences are required. MPROBIT sentence options. NORESIDA - Does not do residual analysis. This is default and is recommended for large datasets. RESIDA - Does Residual analysis. SHOWIT - Shows coefficient change as iterations proceed. MPROBIT sentence parameters. NIT = n1 - Set maximum number of iterations. Default = 50. TOLA=r1 - Sets tolerence for convergence. Default = .000001. A maximum of 10 digits including the point can be inputted. IBEGIN=n3 - Sets first observation for data analysis. Default=1. IEND= n4 - Sets last observation for data analysis. Default=NOOB. VVALUES sentence. VVALUES=(value1, value2, ... valuek) $ The VVALUES sentence allows the user to input up to 10 real numbers to set the valid values for the dependent variable. Up to 5 digits including the point can be used. The B34S MPROBIT command will only select values for the left hand variable that are found on the VVALUES sentence. MODEL sentence. MODEL Y = X1 X2 X3 $ The MODEL sentence allows the user to estimate models with up to 38 right hand variables, excluding the constant. Y must have LE 10 categories. The values of the categories are specified in the VVALUES sentence. TITLE1 and TITLE2 sentences. TTTLE1 = (' Any title ') $ TITLE2 = (' any title ') $ The TITLE1 and TITLE2 sentences allow the user to optionally supply titles of up to 80 characters to annotate the run. Note: The MPROBIT program has the capability of running with grouped data and with multiple subproblems. In this implementation these options have been turned off to simplify control language. Sample job for three category problem. B34SEXEC MPROBIT RESIDA$ TITLE1=('Problem 1 ') $ TITLE2=('Tests 1.0, 3.0 and 6.0 as valid values ') $ VVALUES=(1.0, 3.0, 6.0) $ MODEL Y = X1 X2 X3 X4 X5 $ Discussion of model estimated. MPROBIT estimates a model of the form: P(j,k) = F(MU(k) - XB) - F(MU(k-1) - XB) where P(j,k) is the probability that for the jth observation the dependent variable is in the kth category. XB is the product of the jth observation vector X and the estimated coefficients B, F( ) calculates the probabilities of the normal distribution function and the MU's are estimates of the threshold parameters. If we assume a 5 category problem, and the fact that we have XB on cards, the following SAS program will calculate the probability of being in the 5 catagories(Z1, Z2, .., Z5). data test; input xb; mu1 = 0.0; mu2 = 1.9561290; mu3 = 5.5418716; mu4 = 8.6592352; z1 = probnorm(mu1 - xb) ; z2 = probnorm(mu2 - xb) - probnorm(mu1 - xb) ; z3 = probnorm(mu3 - xb) - probnorm(mu2 - xb) ; z4 = probnorm(mu4 - xb) - probnorm(mu3 - xb) ; z5 = 1.0 - z1 - z2 - z3 - z4 ; drop mu1 mu2 mu3 mu4 ; cards; xb values here ; proc print; endsas; The same program can be written in B34S as b34sexec data; input xb; build z1 z2 z3 z4 z5; * assume mu1 = 0.0; * assume mu2 = 1.9561290; * assume mu3 = 5.5418716; * assume mu4 = 8.6592352; gen z1 = probnorm(0.0-xb); gen z2 = probnorm(1.9561290-xb)-probnorm(0.0-xb); gen z3 = probnorm(5.5418716-xb)-probnorm(1.96561290-xb); gen z4 = probnorm(8.6592352-xb)-probnorm(5.5418716-xb); datacards; xb values here b34sreturn; b34seend; b34sexec list$ b34seend$