In this example, the following data illustrate the Poisson model when all types of interval data are present. The example also illustrates the use of classification variables and the detection of potentially infinite estimates (which turn out here to be finite). These potential estimates lead to the two iteration summaries. The input data is
ilt | irt | icen | Class 1 | Class 2 |
---|---|---|---|---|
0 | 5 | 0 | 1 | 0 |
9 | 4 | 3 | 0 | 0 |
0 | 4 | 1 | 0 | 0 |
9 | 0 | 2 | 1 | 1 |
0 | 1 | 0 | 0 | 1 |
using System; using Imsl.Math; using Imsl.Stat; public class CategoricalGenLinModelEx2 { public static void Main(String[] args) { // Set up a PrintMatrix object for later use. PrintMatrixFormat mf; PrintMatrix p; p = new PrintMatrix(); mf = new PrintMatrixFormat(); mf.SetNoRowLabels(); mf.SetNoColumnLabels(); mf.NumberFormat = "0.0000"; double[,] x = { {0.0, 5.0, 0.0, 1.0, 0.0}, {9.0, 4.0, 3.0, 0.0, 0.0}, {0.0, 4.0, 1.0, 0.0, 0.0}, {9.0, 0.0, 2.0, 1.0, 1.0}, {0.0, 1.0, 0.0, 0.0, 1.0}}; CategoricalGenLinModel CATGLM; CATGLM = new CategoricalGenLinModel(x, CategoricalGenLinModel.DistributionParameterModel.Model0); CATGLM.UpperEndpointColumn = 0; CATGLM.LowerEndpointColumn = 1; CATGLM.OptionalDistributionParameterColumn = 1; CATGLM.CensorColumn = 2; CATGLM.InfiniteEstimateMethod = 0; CATGLM.ModelIntercept = 1; int[] indcl = new int[]{3, 4}; CATGLM.ClassificationVariableColumn = indcl; int[] nvef = new int[]{1, 1}; int[] indef = new int[]{3, 4}; CATGLM.SetEffects(indef, nvef); CATGLM.UpperBound = 4; p.SetTitle("Coefficient Statistics"); p.Print(mf, CATGLM.Solve()); Console.Out.WriteLine("Log likelihood " + CATGLM.OptimizedCriterion); p.SetTitle("Asymptotic Coefficient Covariance"); p.SetMatrixType(PrintMatrix.MatrixType.UpperTriangular); p.Print(mf, CATGLM.CovarianceMatrix); p.SetMatrixType(PrintMatrix.MatrixType.Full); p.SetTitle("Case Analysis"); p.Print(mf, CATGLM.CaseAnalysis); p.SetTitle("Last Coefficient Update"); p.Print(CATGLM.LastParameterUpdates); p.SetTitle("Covariate Means"); p.Print(CATGLM.DesignVariableMeans); p.SetTitle("Distinct Values For Each Class Variable"); p.Print(CATGLM.ClassificationVariableValues); Console.Out.WriteLine("Number of Missing Values " + CATGLM.NRowsMissing); } }
Coefficient Statistics -0.5488 1.1713 -0.4685 0.6395 0.5488 0.6098 0.8999 0.3684 0.5488 1.0825 0.5069 0.6123 Log likelihood -3.11463849257844 Asymptotic Coefficient Covariance 1.3719 -0.3719 -1.1719 0.3719 0.1719 1.1719 Case Analysis 5.0000 0.0000 2.2361 1.0000 0.0000 6.9246 -0.4122 2.1078 0.7636 -0.1955 6.9246 0.4122 1.1727 0.2364 0.3515 0.0000 0.0000 0.0000 0.0000 NaN 1.0000 0.0000 1.0000 1.0000 0.0000 Last Coefficient Update 0 0 -2.84092901774647E-07 1 3.53822065313335E-10 2 7.09878431984082E-07 Covariate Means 0 0 0.6 1 0.6 2 0 Distinct Values For Each Class Variable 0 0 0 1 1 2 0 3 1 Number of Missing Values 0Link to C# source.