import javastat.RegressionModels;

import javastat.util.* ;

 

/**

 *

 * <p>Example: class RegressionModels.</p>

 */

 

double[] response = {58, 105, 88, 118, 117, 137, 157, 169, 149, 202};

double[][] covariate = { {2, 6, 8, 8, 12, 16, 20, 20, 22, 26} };

double[] survivalTime = {156, 1040, 59, 421, 329, 769, 365, 770, 1227,

                      268, 475, 1129, 464, 1206, 638, 563, 1106, 431,

                          855, 803, 115, 744, 477, 448, 353, 377};

double[] survivalCensor = {1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1,

                       1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0};

double[][] survivalCovariate = { {1, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 2,

                            2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2},

                           {66, 38, 72, 53, 43, 59, 64, 57, 59,

                            74, 59, 53, 56, 44, 56, 55, 44, 50,

                            43, 39, 74, 50, 64, 56, 63, 58} };

String[] binaryResponse = {"s", "d", "s", "d", "s", "d", "d", "s", "d",

                        "s", "d", "d"};

String[][] nominalCovariate = { {"a", "a", "b", "b", "c", "c", "a", "a",

                            "b", "c", "c", "c"},

                           {"T", "T", "T", "F", "T", "F", "T", "F",

                            "F", "T", "F", "F"} };

String[][] shipData = { {"a", "a", "a", "a", "a", "a", "a", "a",

                    "b", "b", "b", "b", "b", "b", "b", "b",

                    "c", "c", "c", "c", "c", "c", "c", "c",

                    "d", "d", "d", "d", "d", "d", "d", "d",

                    "e", "e", "e", "e", "e", "e", "e", "e"},

                   {"1960-64", "1960-64", "1965-69", "1965-69",

                    "1970-74", "1970-74", "1975-79", "1975-79",

                    "1960-64", "1960-64", "1965-69", "1965-69",

                    "1970-74", "1970-74", "1975-79", "1975-79",

                    "1960-64", "1960-64", "1965-69", "1965-69",

                    "1970-74", "1970-74", "1975-79", "1975-79",

                    "1960-64", "1960-64", "1965-69", "1965-69",

                    "1970-74", "1970-74", "1975-79", "1975-79",

                    "1960-64", "1960-64", "1965-69", "1965-69",

                    "1970-74", "1970-74", "1975-79", "1975-79" },

                   {"1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79",

                    "1960-74", "1975-79", "1960-74", "1975-79"} };

double[] offset = {127, 63, 1095, 1095, 1512, 3353, 0, 2244, 44882,

               17176, 28609, 20370, 7064, 13099, 0, 7177, 1179, 552,

               781, 676, 783, 1948, 0, 274, 251, 105, 288, 192, 349,

               1208, 0, 2051, 45, 0, 789, 437, 1157, 2161, 0, 542};

double[] damageNumber = {0, 0, 3, 4, 6, 18, 0, 11, 39, 29, 58, 53, 12,

                        44, 0, 18, 1, 1, 0, 1, 6, 2, 0, 1, 0, 0, 0, 0,

                        2, 11, 0, 4, 0, 0, 7, 7, 5, 12, 0, 1};

double[] ethanolx = {0.907, 0.761, 1.108, 1.016, 1.189, 1.001, 1.231,

                     1.123, 1.042, 1.215, 0.930, 1.152, 1.138, 0.601,

                     0.696, 0.686, 1.072, 1.074, 0.934, 0.808, 1.071,

                     1.009, 1.142, 1.229, 1.175, 0.568, 0.977, 0.767,

                     1.006, 0.893, 1.152, 0.693, 1.232, 1.036, 1.125,

                     1.081, 0.868, 0.762, 1.144, 1.045, 0.797, 1.115,

                     1.070, 1.219, 0.637, 0.733, 0.715, 0.872, 0.765,

                     0.878, 0.811, 0.676, 1.045, 0.968, 0.846, 0.684,

                     0.729, 0.911, 0.808, 1.168, 0.749, 0.892, 1.002,

                     0.812, 1.230, 0.804, 0.813, 1.002, 0.696, 1.199,

                     1.030, 0.602, 0.694, 0.816, 1.037, 1.181, 0.899,

                     1.227, 1.180, 0.795, 0.990, 1.201, 0.629, 0.608,

                     0.584, 0.562, 0.535, 0.655};

double[] ethanoly = {3.741, 2.295, 1.498, 2.881, 0.760, 3.120, 0.638,

                  1.170, 2.358, 0.606, 3.669, 1.000, 0.981, 1.192,

                  0.926, 1.590, 1.806, 1.962, 4.028, 3.148, 1.836,

                  2.845, 1.013, 0.414, 0.812, 0.374, 3.623, 1.869,

                  2.836, 3.567, 0.866, 1.369, 0.542, 2.739, 1.200,

                  1.719, 3.423, 1.634, 1.021, 2.157, 3.361, 1.390,

                  1.947, 0.962, 0.571, 2.219, 1.419, 3.519, 1.732,

                  3.206, 2.471, 1.777, 2.571, 3.952, 3.931, 1.587,

                  1.397, 3.536, 2.202, 0.756, 1.620, 3.656, 2.964,

                  3.760, 0.672, 3.677, 3.517, 3.290, 1.139, 0.727,

                  2.581, 0.923, 1.527, 3.388, 2.085, 0.966, 3.488,

                  0.754, 0.797, 2.064, 3.732, 0.586, 0.561, 0.563,

                  0.678, 0.370, 0.530, 1.900};

argument = new Hashtable();

 

dataObj = new Object[]{response, covariate};

statObj1 = new RegressionModels(argument, dataObj).statisticalAnalysis;

print(statObj1.output.toString());

 

dataObj = new Object[]{survivalTime, survivalCensor, survivalCovariate};

statObj2 = new RegressionModels(argument, dataObj).statisticalAnalysis;

print(statObj2.output.toString());

 

dataObj = new Object[]{binaryResponse, nominalCovariate};

statObj3 = new RegressionModels(argument, dataObj).statisticalAnalysis;

print(statObj3.output.toString());

 

argument.put(Argument.REGRESSION_TYPE,

RegressionType.LOG_LINEAR);

dataObj = new Object[]{damageNumber, offset, shipData};

statObj4 = new RegressionModels(argument, dataObj).statisticalAnalysis;

print(statObj4.output.toString());

 

argument.put(Argument.REGRESSION_TYPE, RegressionType.P_SPLINE);

argument.put(Argument.SMOOTHING_PARAMETER, 10);

argument.put(Argument.DIVISIONS, 10);

dataObj = new Object[]{ethanoly, ethanolx};

statObj5 = new RegressionModels(argument, dataObj).statisticalAnalysis;

print(statObj5.output.toString());

 

Results:

{TEST_STATISTIC=[D@65394b, HAT_MATRIX=[[D@19481b2, SSR=14200,

FITTED_VALUES=[D@cee271, RESIDUALS=[D@749436,

COEFFICIENTS=[D@1ae939f, PVALUE=[D@5db9eb,

DEGREE_OF_FREEDOM=[D@15925c0,

COEFFICIENT_VARIANCE=[[D@1bd9d76, SST=15730.0, SSE=1530,

CONFIDENCE_INTERVAL=[[D@1acee78, F_STATISTIC=74.248,

R_SQUARE=0.903, MSE=191.25, F_PVALUE=2.549E-5, RSS=1530}

 

{PVALUE=[D@11edceb, COEFFICIENT_VARIANCE=[[D@139d115,

CONFIDENCE_INTERVAL=[[D@cdba53, TEST_STATISTIC=[D@83de21,

COEFFICIENTS=[D@16c75ed}

 

{TEST_STATISTIC=[D@9e75f6, FITTED_VALUES=[D@15291cd,

PEARSON_RESIDUALS=[D@1e22c75, COEFFICIENTS=[D@1d4eeb5,

DEVIANCE_RESIDUALS=[D@83e35b, RESPONSE_VARIANCE=[D@c378f6,

PVALUE=[D@13a83cc, DEVIANCE_TABLE=[[D@a2d304,

MEANS=[D@1cbd4f7, CONFIDENCE_INTERVAL=[[D@10ade7e,

RESPONSE_RESIDUALS=[D@956254}

 

{TEST_STATISTIC=[D@1398cac, PEARSON_RESIDUALS=[D@1429cf1,

COEFFICIENTS=[D@4d93e3, PVALUE=[D@128215d,

RESPONSE_VARIANCE=[D@1a697a1, DEVIANCE_TABLE=[[D@2cd728,

MEANS=[D@1e1a0ee, CONFIDENCE_INTERVAL=[[D@c954e,

RESPONSE_RESIDUALS=[D@1e5cf0}

 

{RESIDUALS=[D@8809ce, FITTED_VALUES=[D@13bc30a,

COEFFICIENTS=[D@8201a7, HAT_MATRIX=[[D@13a8eb1}