spark-timeseries icon indicating copy to clipboard operation
spark-timeseries copied to clipboard

MathIllegalStateException exception ARIMA`

Open anshulemc opened this issue 9 years ago • 5 comments

org.apache.commons.math3.exception.MathIllegalStateException: unable to bracket optimum in line search I'm trying to fit arima model to my data(electricity_power) and i'm getting this error. Below is my java code

breeze.linalg.Vector<Object> vec = new breeze.linalg.DenseVector<Object>(total); ARIMAModel fitModel = ARIMA.fitModel(1, 0, 1, vec, true, "css-cgd", null);

If anyone can help how to reslove this issue?

anshulemc avatar Feb 18 '16 09:02 anshulemc

Hi @anshulemc. This is caused by having an old version of Apache Commons Math on the classpath. Are you using Maven? If so, you should be able to avoid it by explicitly including Commons Math dependency in your project:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-math3</artifactId>
  <version>3.4.1</version>
</dependency>

sryza avatar Feb 19 '16 07:02 sryza

@sryza i tried going ahead with the suggestion and already did the change which you have done in your example In my pom.xml i have linked the repository like this cloudera-repos Cloudera Repos https://repository.cloudera.com/artifactory/cloudera-repos/

and the above dependency. I'm using spark version 1.4.0. could ypu please help me in how to resolve this error WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS 16/02/19 14:20:49 WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS Exception in thread "main" org.apache.commons.math3.exception.MathIllegalStateException: unable to bracket optimum in line search at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.findUpperBound(NonLinearConjugateGradientOptimizer.java:336) at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.doOptimize(NonLinearConjugateGradientOptimizer.java:234) at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.doOptimize(NonLinearConjugateGradientOptimizer.java:45) at org.apache.commons.math3.optim.BaseOptimizer.optimize(BaseOptimizer.java:136) at org.apache.commons.math3.optim.BaseMultivariateOptimizer.optimize(BaseMultivariateOptimizer.java:70) at org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer.optimize(MultivariateOptimizer.java:67) at org.apache.commons.math3.optim.nonlinear.scalar.GradientMultivariateOptimizer.optimize(GradientMultivariateOptimizer.java:80) at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.optimize(NonLinearConjugateGradientOptimizer.java:190) at com.cloudera.sparkts.models.ARIMA$.fitWithCSSCGD(ARIMA.scala:190) at com.cloudera.sparkts.models.ARIMA$.fitModel(ARIMA.scala:101) at com.cloudera.sparkts.models.ARIMA.fitModel(ARIMA.scala) at sparkMLlib.ReadingCass.run(ReadingCass.java:80) at sparkMLlib.ReadingCass.start(ReadingCass.java:41) at sparkMLlib.ReadingCass.main(ReadingCass.java:89) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:665) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:170) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:193) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:112) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

anshulemc avatar Feb 19 '16 08:02 anshulemc

Can you send me the pom.xml you're using? You can send to the personal email listed on my profile.

Also, how are you running your code? Inside an editor? Via mvn exec? With spark-submit? java -cp?

sryza avatar Feb 19 '16 15:02 sryza

May also be worth sending over a run of "mvn dependency:tree" on that pom.

cjnolet avatar Feb 25 '16 04:02 cjnolet

@sryza I also having same problem but as per your suggestions I have been replace org.apache.commons.math3 with 3.6.1 with spark 2.0.1 and still same problem also I am not using maven add jar externally to build path

ARIMAXModel model = ARIMAX.fitModel(1, 0, 0, tsvector, xreg, 10, true, true, userInitParams)

Exception in thread "main" org.apache.commons.math3.exception.MathIllegalStateException: unable to bracket optimum in line search at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.findUpperBound(NonLinearConjugateGradientOptimizer.java:336) at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.doOptimize(NonLinearConjugateGradientOptimizer.java:228) at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.doOptimize(NonLinearConjugateGradientOptimizer.java:49) at org.apache.commons.math3.optim.BaseOptimizer.optimize(BaseOptimizer.java:143) at org.apache.commons.math3.optim.BaseMultivariateOptimizer.optimize(BaseMultivariateOptimizer.java:66) at org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer.optimize(MultivariateOptimizer.java:64) at org.apache.commons.math3.optim.nonlinear.scalar.GradientMultivariateOptimizer.optimize(GradientMultivariateOptimizer.java:74) at org.apache.commons.math3.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.optimize(NonLinearConjugateGradientOptimizer.java:187) at com.cloudera.sparkts.models.ARIMAX$.fitWithCSSCGD(ARIMAX.scala:159) at com.cloudera.sparkts.models.ARIMAX$.fitModel(ARIMAX.scala:81) at com.cloudera.sparkts.models.ARIMAX.fitModel(ARIMAX.scala) at com.cloudera.sparkts.models.DemoARIMAX.main(DemoARIMAX.java:151)

devanshi7 avatar Jan 24 '17 11:01 devanshi7