2013-04-17 27 views
5

Zaman Serileri Tahmini için bir sistem geliştiriyorum. Java için Encog3 Kitabı'nı aldım, ancak 3 sütunlu bir CSV dosyasını göndermek ve ikinci sütunu tahmin etmeye çalışmak için sıcak öğeyi bilmem gerekiyor. Ben (yani DeviceConsumption olan) tahmin etmek istediğiniz sütunu belirtmek bir yükleyici içine bu dosyayı yüklemek ve daha gerekiyorZaman serisi tahmini kodlaması 3 java CSV'den okunabilir

Date, DeviceConsumption, TotalPower

şu şekildedir: CSV tanımlanır. Üçüncü sütun daha fazla bilgi sağlamak ve bir kalıp oluşturmak için kullanılır. (Sunspot gibi) i

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

result.addDescription(desc); 

görmek ama burada ben tahmin istediğiniz sütunu tanımlayabilir örneklerde

??

Teşekkür ederiz.

Üzgünüm ama hala anlamıyorum:

DÜZENLEME 2 Ben birkaç iyileştirmeler yaptı. Dediğim gibi 2 TemporalDataDescription oluşturabiliyordum. Ancak her ikisini de aynı TemporalMLDataSet'e ekleyeyim mi?

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(); 

o Doğru mı?

EDIT3 Önceki kod doğruydu!

cevap

2

TemporalMLDataSet'i kullanırken, eğitim setinde istediğiniz her bir değer için bir TemporalDataDescription nesnesi oluşturursunuz. Yani veri kümeniz için iki TemporalDataDescription nesneye sahip olursunuz. DeviceConsumption ve TotalPower için bir tane. Sonunda iki boole, tahmin edilen sütunu belirtmenize izin verir. DeviceConsumption öğesini & çıkışına girecek ve TotalPower'ı sadece giriş yapacak şekilde ayarlayabilirsiniz. Veri sütunu MLDataSet gerçekten farkında değil, sadece güneş lekeleri örnek çalışma gibi sayısal olarak artan bir değere ayarlamanız gerekir.

Sütunlar giriş ve/veya çıkış olarak işaretlenebilir. Girdi sütunları tahmin etmek için kullanılır, çıktı sütunları tahmin etmeye çalıştığınız şeydir. Tek bir sütun hem girdi hem de çıktı olabilir. Güneş lekeleri örneğinde olduğu gibi, ve yukarıdaki verilerde de böyle bir durum söz konusudur.

+0

Üzgünüm ama hala anlamıyorum. Dediğim gibi 2 TemporalDataDescription oluşturabiliyordum. Ancak her ikisini de aynı TemporalMLDataSet'e ekleyeyim mi? – vincenzodentamaro

+1

Tamam, bu örnek için bir örnekle birlikte bir SSS ekledim. Evet, bunun için iki TDD oluşturup ikisine de ekleyecektiniz. Buradaki örnekte, burada olduğu gibi iki giriş vardır ve bir tanesi sadece giriş için kullanılır. http://www.heatonresearch.com/faq/3/1 – JeffHeaton

+0

Teşekkür ederim Jeff, çözümü buraya göndermek istiyorum. Bunu yapabilir miyim? – vincenzodentamaro