Dört farklı zaman aralığında saatlik ölçümlerim var:
- Bir evin içindeki ısı tüketimi
- Evin dışındaki sıcaklık
- Güneş radyasyonu
- Rüzgar hızı
Evin içindeki ısı tüketimini tahmin edebilmek istiyorum. Hem yıllık bazda hem de günlük bazda net bir mevsimsel eğilim vardır. Farklı seriler arasında açık bir ilişki olduğu için, onlara bir ARIMAX modeli kullanarak yerleştirmek istiyorum. Bu, TSA paketindeki arimax işlevini kullanarak R'de yapılabilir.
Bu fonksiyonla ilgili belgeleri okumaya ve transfer fonksiyonlarını okumaya çalıştım ama şu ana kadar kodum:
regParams = ts.union(ts(dayy))
transferParams = ts.union(ts(temp))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams,xtransf=transferParams,transfer=list(c(1,1))
pred10 = predict(model10, newxreg=regParams)
bana verir:
siyah çizgi gerçek ölçülen veri, yeşil çizgi ise benim takılı modelim. Sadece iyi bir model değil, aynı zamanda açıkça bir şeyler yanlış.
ARIMAX modelleri ve transfer fonksiyonları hakkındaki bilgilerimin sınırlı olduğunu kabul edeceğim. Arimax () işlevinde (anladığım kadarıyla), xtransf, ana zaman serilerimi tahmin etmek için kullanmak istediğim (transfer işlevlerini kullanarak) kullandığım eksojen zaman serisidir. Fakat xreg ve xtransf arasındaki fark gerçekten nedir?
Daha genel olarak yanlış ne yaptım? Lm'den (sıcağa / sıcağa) yayılan rüzgâr süresi * ile elde edilenden daha iyi bir uyum elde etmek isterim .
Düzenlemeler: Yorumlardan bazılarına göre aktarımı kaldırdım ve bunun yerine xreg ekledim:
regParams = ts.union(ts(dayy), ts(temp), ts(time))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams)
günlük "yılın numarası günü" dür ve saat günün saatidir. Sıcaklık tekrar dışarıdaki sıcaklıktır. Bu bana şu sonucu verir:
hangisi daha iyi, ama neredeyse görmeyi umduğum gibi değil.