jpmml / jpmml-evaluator

Java Evaluator API for PMML
GNU Affero General Public License v3.0
890 stars 255 forks source link

Support for Time Series Models #140

Open hancelpv opened 5 years ago

hancelpv commented 5 years ago

To my knowledge, jpmml-evaluator doesn't support Time Series Models. I wanted to make predictions using ARIMA model in Java. Can I get some update on when this feature will be released ? Would be of great help, if someone could suggest alternate solutions as well. (other libraries if any) TIA

vruusmann commented 5 years ago

I wanted to make predictions using ARIMA model in Java.

Which software did you use to 1) train ARIMA models and 2) convert those to PMML data format?

hancelpv commented 5 years ago

I'm using Python ( Statsmodels ) to train the models. https://www.statsmodels.org/dev/generated/statsmodels.tsa.arima_model.ARIMA.html

Nyoka to convert them to PMML data format. https://github.com/nyoka-pmml/nyoka

Kindly suggest better alternatives if any. Thanks

vruusmann commented 5 years ago

Nyoka to convert them to PMML data format.

Nyoka is generating some weird non-standard PMML 4.4 markup. So, you probably need some proprietary tools from the Nyoka team to deploy such PMML documents.

hancelpv commented 5 years ago

Okay, I'll get in touch with them. Do you have any suggestions for alternate libraries ?

vruusmann commented 5 years ago

Do you have any suggestions for alternate libraries ?

Nyoka is producing some weird non-standard PMML 4.4 markup. It is extremely unlikely that any other tool vendor knows anything about it.

hancelpv commented 5 years ago

Sorry if I didn't make my question clear. I was asking, instead of Nyoka, can we use some other library that you know of ? which can produce standard PMML markup, and can be read back in Java

alenhrga commented 3 years ago

Do you have any suggestions for alternate libraries ?

Nyoka is producing some weird non-standard PMML 4.4 markup. It is extremely unlikely that any other tool vendor knows anything about it.

I am not sure about this statement regarding Nyoka - in by case, Nyoka generated valid PMML file for TimeSeriesModel accordant to PMML v4.4 specification.

I have the same question as @hancelpv regarding the support for TimeSeriesModel because TimeSeriesModel is the part of the PMML v4.4 specification and currently not supported in jpmml-evaluator.

This is the part of PMML v4.4 XSD schema which defines available/supported models:

<xs:group name="MODEL-ELEMENT">
  <xs:choice>
    <xs:element ref="AnomalyDetectionModel"/>
    <xs:element ref="AssociationModel"/>
    <xs:element ref="BayesianNetworkModel"/>
    <xs:element ref="BaselineModel"/>
    <xs:element ref="ClusteringModel"/>
    <xs:element ref="GaussianProcessModel"/>
    <xs:element ref="GeneralRegressionModel"/>
    <xs:element ref="MiningModel"/>
    <xs:element ref="NaiveBayesModel"/>
    <xs:element ref="NearestNeighborModel"/>
    <xs:element ref="NeuralNetwork"/>
    <xs:element ref="RegressionModel"/>
    <xs:element ref="RuleSetModel"/>
    <xs:element ref="SequenceModel"/>
    <xs:element ref="Scorecard"/>
    <xs:element ref="SupportVectorMachineModel"/>
    <xs:element ref="TextModel"/>
    <xs:element ref="TimeSeriesModel"/>
    <xs:element ref="TreeModel"/>
  </xs:choice>
</xs:group>