Java 使用MillerUpdatingRession类时ArrayIndexOutOfBounds异常
我们曾尝试在一个项目中使用MillerUpdatingRession类,但遇到了一个问题。在创建类的实例、提供期望的变量数量并添加整个样本集的观测值之后,我们调用“回归(int[])方法,通知回归过程我们希望包括哪些变量(整个预测集的子集) 执行此操作时,我们会在过程中收到一个ArrayIndexOutOfBounds异常,因为预期的变量数(nVAR,在MillerUpdatingRession类实例化时提供)小于传递给“regress(int[])方法的变量数。我们的理解是,这个整数数组可以是所有观测值的预测指数的子集 有人知道我们错过了什么吗 ==已用代码更新====Java 使用MillerUpdatingRession类时ArrayIndexOutOfBounds异常,java,apache,apache-commons-math,Java,Apache,Apache Commons Math,我们曾尝试在一个项目中使用MillerUpdatingRession类,但遇到了一个问题。在创建类的实例、提供期望的变量数量并添加整个样本集的观测值之后,我们调用“回归(int[])方法,通知回归过程我们希望包括哪些变量(整个预测集的子集) 执行此操作时,我们会在过程中收到一个ArrayIndexOutOfBounds异常,因为预期的变量数(nVAR,在MillerUpdatingRession类实例化时提供)小于传递给“regress(int[])方法的变量数。我们的理解是,这个整数数组可以是
双精度预测数据[][]=新双精度[n][125];
双重预测[]=新的双重预测[n]
//Predictor Data是一个[n x 125]二维数组
//具有n个样本和125个预测值的特征/预测值
//predictionsArray是一个n长度的预测数组
//对于样本集
int numberofpredictor变量=125;
布尔includeConstantWhenBuildingModel=true;
MillerUpdategression回归=新的MillerUpdategression(预测变量的数量,包括构建模型时的常数);
回归。添加观测值(预测数据、预测数组)
int预测器包括回归[]={0,3,9,11};
回归:回归(预测因子包括回归);
//这就是生成ArrayIndexOutOfBounds异常的地方
我可以在这里猜测,没有完整的代码示例,但是观察值的数量必须大于变量的数量(在您的示例中为125)
更准确地说,代码中的n必须大于125,回归才能工作。回归方法中传递的预测值的数量可以小于此值。感谢您指出Braj。我已经用我们正在使用的代码的一个例子更新了这个问题。