2013-04-17 2 views
5

나는 시간 계열 예측을위한 시스템을 개발 중입니다. Java 용 Encog3 책을 구입했지만 CSV 파일을 3 열로 제출하고 두 번째 열을 예측하려고 시도해야합니다. 나는 (즉 DeviceConsumption이다)을 예측하려는 열을 지정 로더에 해당 파일을로드하고보다 필요시계열 예측 encog 3 자바에서 읽은 CSV

Date, DeviceConsumption, TotalPower

다음과 같이 CSV는 정의된다. 세 번째 열은 더 많은 정보를 제공하고 패턴을 생성하는 데 사용됩니다. (흑점 등) 제가

TemporalMLDataSet result = new TemporalMLDataSet(windowSize,1); 
TemporalDataDescription desc = new TemporalDataDescription(new ActivationSIN(),Type.RAW, false, true); 

result.addDescription(desc); 

참조하지만은 여기서 I는 I 예측하고자하는 열을 정의 할 수있는 예에서

??

감사합니다.

미안하지만 난 아직도 이해가 안 :

EDIT 2 나는 몇 가지 개선했다. 내가 말한 것처럼 2 TemporalDataDescription을 만들 수있었습니다. 하지만 둘 다 동일한 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(); 

맞습니까?

EDIT3 이전 코드가 정확합니다!

답변

2

TemporalMLDataSet을 사용하면 교육 세트에서 원하는 각 값에 대해 TemporalDataDescription 개체를 만듭니다. 따라서 데이터 세트에는 두 개의 TemporalDataDescription 객체가 있습니다. 하나는 DeviceConsumption 용이고 다른 하나는 TotalPower 용입니다. 마지막 두 개의 부울은 예측 된 열을 지정할 수있게합니다. DeviceConsumption을 & 출력으로 설정하고 TotalPower를 입력으로 설정합니다. MLDataSet이 실제로 알지 못하는 Data 열은 흑점 예제가 어떻게 작동하는지 등 수치 적으로 증가하는 값으로 설정해야합니다.

열을 입력 및/또는 출력으로 표시 할 수 있습니다. 입력 열은 예측하기 위해 사용되며 출력 열은 예상하려고하는 것입니다. 단일 열은 입출력을 할 수 있습니다. 태양 흑점의 경우와 같은 경우이며 위의 데이터에서도 마찬가지입니다.

+0

미안하지만 여전히 이해할 수 없습니다. 내가 말한 것처럼 2 TemporalDataDescription을 만들 수있었습니다. 하지만 둘 다 동일한 TemporalMLDataSet에 추가해야합니까? – vincenzodentamaro

+1

좋아요,이 항목에 대한 FAQ를 추가하고 예제를 작성했습니다. 예,이 경우 두 개의 TDD를 만들고 두 세트를 세트에 추가해야합니다. 여기에있는 예제는 두 개의 입력을 가지고 있습니다. 여기에있는 것과 마찬가지로, 하나는 입력 용으로 사용됩니다. http://www.heatonresearch.com/faq/3/1 – JeffHeaton

+0

Jeff에게 감사드립니다. 해결책을 게시하고 싶습니다. 내가 할 수 있을까? – vincenzodentamaro

관련 문제