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@13e
COEFFICIENTS=[D@1bf73fa,
RSS=1530.00, MSE=191.25,
HAT_MATRIX=[[D@5740bb,
RESIDUALS=[D@
CONFIDENCE_INTERVAL=[[D@
FITTED_VALUES=[D@
SSE=1530.00, COEFFICIENT_VARIANCE=[[D@
{CONFIDENCE_INTERVAL=[[D@52fe85,
TEST_STATISTIC=[D@c
COEFFICIENT_VARIANCE=[[D@110d81b,
COEFFICIENTS=[D@dbe178,
PVALUE=[D@1af9e22}
{DEVIANCE_RESIDUALS=[D@1ffbd68,
TEST_STATISTIC=[D@ec
RESPONSE_RESIDUALS=[D@
PEARSON_RESIDUALS=[D@
COEFFICIENTS=[D@337838,
DEVIANCE_TABLE=[[D@119cca4,
CONFIDENCE_INTERVAL=[[D@ca2dce,
FITTED_VALUES=[D@18558d2,
RESPONSE_VARIANCE=[D@
{TEST_STATISTIC=[D@32fb
PEARSON_RESIDUALS=[D@
COEFFICIENTS=[D@a01335,
DEVIANCE_TABLE=[[D@14d3343,
CONFIDENCE_INTERVAL=[[D@1608e05,
RESPONSE_VARIANCE=[D@bf
PVALUE=[D@89fbe3}
{RESIDUALS=[D@1bf
COEFFICIENTS=[D@10b9d04,
HAT_MATRIX=[[D@171732b}