Opracowuję system do prognozowania szeregów czasowych. Kupiłem książkę Encog3 dla Javy, ale muszę znać ją na gorąco, aby przesłać plik CSV z 3 kolumnami i spróbować przewidzieć drugą kolumnę. CSV jest zdefiniowany następująco:Prognozowanie szeregów czasowych enogog 3 java read from CSV
Date
, DeviceConsumption
, TotalPower
muszę załadować ten plik do ładowarki i niż określić kolumnę chcę do przewidzenia (czyli DeviceConsumption
). Trzecia kolumna służy do dostarczenia większej ilości informacji i stworzenia wzorca.
W przykładach (jak plamy słonecznej) Widzę
TemporalMLDataSet result = new TemporalMLDataSet(windowSize,1);
TemporalDataDescription desc = new TemporalDataDescription(new ActivationSIN(),Type.RAW, false, true);
result.addDescription(desc);
ale gdzie mogę zdefiniować kolumnę, którą chcę się przewidzieć ??
Dziękuję.
EDIT 2 Zrobiłem kilka ulepszeń:
Niestety ale ja nadal nie rozumiem. Udało mi się utworzyć 2 TemporalDataDescription, jak powiedziałeś. Ale czy muszę dodać oba do tego samego pliku TemporalMLDataSet?
TemporalMLDataSet result = new TemporalMLDataSet(WINDOW_SIZE,1);
TemporalDataDescription desc = new TemporalDataDescription(
TemporalDataDescription.Type.RAW,true,true);
result.addDescription(desc);
TemporalDataDescription desc2 = new TemporalDataDescription(
TemporalDataDescription.Type.RAW,false,true);
result.addDescription(desc2);
for(int year = TRAIN_START;year<TRAIN_END;year++)
{
TemporalPoint point = new TemporalPoint(2);
point.setSequence(year);
point.setData(0, this.deviceConsumption[year]);
point.setData(1, this.TotalPower[year]);
result.getPoints().add(point);
}
result.generate();
Czy to prawda?
EDIT3 Poprzedni kod był poprawny!
Przepraszam, ale wciąż nie rozumiem. Udało mi się utworzyć 2 TemporalDataDescription, jak powiedziałeś. Ale czy muszę dodać oba do tego samego pliku TemporalMLDataSet? – vincenzodentamaro
Okay, dodałem najczęściej zadawane pytania dotyczące tego produktu wraz z przykładem. Tak, w tym celu stworzysz dwa TDD i dodasz oba do zestawu. Przykład tutaj ma dwa wejścia, tak jak tutaj, a jeden służy tylko do wprowadzania danych. http://www.heatonresearch.com/faq/3/1 – JeffHeaton
dziękuję Jeff, chciałbym opublikować rozwiązanie tutaj. Czy mogę to zrobić? – vincenzodentamaro