Zaman serisi verilerinin gerçek zamanlı normalleştirilmesi için algoritma?


12

Bir dizi sensör akışından en son veri noktasının bir vektörünü alan ve öklid mesafesini önceki vektörlerle karşılaştıran bir algoritma üzerinde çalışıyorum. Sorun, farklı veri akışlarının tamamen farklı sensörlerden gelmesidir, bu nedenle basit bir öklid mesafesinin alınması bazı değerleri önemli ölçüde aşar. Açıkça, verileri normalleştirmek için bir yola ihtiyacım var. Ancak, algoritma gerçek zamanlı çalışacak şekilde tasarlandığından, normalleştirmede bir veri akışı hakkında herhangi bir bilgi kullanamıyorum. Şimdiye kadar, başlangıç ​​aşamasında her sensör için görülen en büyük değeri (ilk 500 veri vektörü) izledim ve daha sonra gelecekteki tüm verileri bu sensörden bu değere böldüm. Bu şaşırtıcı derecede iyi çalışıyor, ancak çok yetersiz geliyor.

Bunun için önceden var olan bir algoritmayı bulmakta çok şansım olmadı, ama belki de doğru yerlere bakmıyorum. Birini bilen var mı? Ya da bir fikrin var mı? Çalışan bir ortalama kullanmak için bir öneri gördüm (muhtemelen Wellford'ın algoritmasıyla hesaplanır), ancak bunu yapsaydım, aynı değere sahip birden fazla okuma aynı olarak görünmezdi, bu oldukça büyük bir sorun gibi görünmüyorsa, bir şey eksik. Herhangi bir düşünce takdir! Teşekkürler!

Yanıtlar:


1

Sorunuzdan, aradığınızı anlıyorum:

  1. Her sensörden veri katkısını normalleştiren bir yol bulun.
  2. Yeni veri noktasının önceki noktalardan çok farklı olup olmadığına bakın.

İşte başlayacağım yer

1. ilk sorunuz için: ortalamayı kaldırmak ve beyazlatma aradığınız şeydir. Beyazlatma dönüşümü, özelliklerinizin aynı dinamik aralıkta olmasını sağlar.

Mükemmel alakalı olabilecek ancak üzerine inşa edilecek bir başlangıç ​​noktası olarak mükemmel şekilde uygun olan basitleştirici varsayımlar yapacağım.

Verilerinizin tek yönlü olduğunu varsayarsak, tek bir belirgin anlamı vardır. Verilerin ortalamasını çıkararak ve bir beyazlatma dönüşümü yaparak başlayacağım (muhtemelen PCA, belki verilerinize bağlı olarak ZCA)

Bunu gerçek zamanlı olarak yapmak istiyorsanız, hareketli bir pencerede beyazlamayı gerçekleştiren çalışan bir örnek sayısı kullanırım. Beyazlatma işleminizin doğru olması için yeterli numuneye sahip olduğunuzdan emin olun (beyazlatma, kovaryans matrisinin tersine çevrilebilir olması ve bunun için sensörlerinizden daha fazla geçici örneğe ihtiyacınız vardır).

Verileriniz unimodal değilse, muhtemelen modların nerede olduğunu görmek için verileri kümeleyebilirim. En temelde, gelen her yeni nokta için uygun kümeye yardımcı olur ve oradan hareket ederim.

Geçmiş noktalardan etkili bir mesafeyi ölçmek için Mahalanobis mesafesini kullanırdım . Tüm gerçekte, Mahalanobis mesafesi, beyazlatılmış alandaki Öklid mesafesidir.

Özet olarak, lütfen beyazlatma ve Mahalanobis mesafesini okuyun, bence bunlar sizi aradığınız yöne yönlendirecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.