import static java.lang.System.out;

import java.util.*;

 

import javastat.*;

import static javastat.util.Argument.*;

import static javastat.util.RegressionType.*;

 

/**

 *

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

 */

 

public class RegressionModelsExample

{

 

    public static void main(String[] args)

    {

        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};

 

        Hashtable argument = new Hashtable();

 

        StatisticalAnalysis statObj1 = new RegressionModels(argument,

                response, covariate).statisticalAnalysis;

 

        StatisticalAnalysis statObj2 = new RegressionModels(argument,

                survivalTime, survivalCensor, survivalCovariate).

                statisticalAnalysis;

 

        StatisticalAnalysis statObj3 = new RegressionModels(argument,

                binaryResponse, nominalCovariate).statisticalAnalysis;

 

        argument.put(REGRESSION_TYPE, LOG_LINEAR);

        StatisticalAnalysis statObj4 = new RegressionModels(argument,

                damageNumber, offset, shipData).statisticalAnalysis;

 

        argument.put(REGRESSION_TYPE, P_SPLINE);

        argument.put(SMOOTHING_PARAMETER, 10);

        argument.put(DIVISIONS, 10);

        StatisticalAnalysis statObj5 = new RegressionModels(argument,

                ethanoly, ethanolx).statisticalAnalysis;

    }

 

}

 

Results:

{SSR=14200, SST=15730.0, DEGREE_OF_FREEDOM=[D@e89b94,

TEST_STATISTIC=[D@13e205f, F_PVALUE=2.5488662852901633E-5,

COEFFICIENTS=[D@1bf73fa, RSS=1530.00, MSE=191.25,

HAT_MATRIX=[[D@5740bb, RESIDUALS=[D@5ac072,

CONFIDENCE_INTERVAL=[[D@109a4c, F_STATISTIC=74.25,

FITTED_VALUES=[D@201f9, R_SQUARE=0.903, PVALUE=[D@1cf8583,

SSE=1530.00, COEFFICIENT_VARIANCE=[[D@14693c7}

 

{CONFIDENCE_INTERVAL=[[D@52fe85, TEST_STATISTIC=[D@c40c80,

COEFFICIENT_VARIANCE=[[D@110d81b, COEFFICIENTS=[D@dbe178,

PVALUE=[D@1af9e22}

 

{DEVIANCE_RESIDUALS=[D@1ffbd68, TEST_STATISTIC=[D@ec16a4,

RESPONSE_RESIDUALS=[D@1c29ab2,

PEARSON_RESIDUALS=[D@13a328f, MEANS=[D@1cd8669,

COEFFICIENTS=[D@337838, DEVIANCE_TABLE=[[D@119cca4,

CONFIDENCE_INTERVAL=[[D@ca2dce, FITTED_VALUES=[D@18558d2,

RESPONSE_VARIANCE=[D@18a47e0, PVALUE=[D@174cc1f}

 

{TEST_STATISTIC=[D@32fb4f, RESPONSE_RESIDUALS=[D@1113708,

PEARSON_RESIDUALS=[D@133f1d7, MEANS=[D@14a9972,

COEFFICIENTS=[D@a01335, DEVIANCE_TABLE=[[D@14d3343,

CONFIDENCE_INTERVAL=[[D@1608e05, RESPONSE_VARIANCE=[D@bf32c,

PVALUE=[D@89fbe3}

 

{RESIDUALS=[D@1bf52a5, FITTED_VALUES=[D@1cafa9e,

COEFFICIENTS=[D@10b9d04, HAT_MATRIX=[[D@171732b}