Sensör Data için Matlab'da Robust Estimation Algorithms tasarlamak
Giriş: Sensör Data Processing'da Robust Estimation için gerekli
Sensör verileri modern mühendislik sistemlerinin arka kemiğini oluşturur, çünkü otonom araçlar ve endüstriyel otomasyondan çevresel izleme ve tıbbi tanılamalara kadar uzanır. Ancak ham sensör okumaları nadiren mükemmeldir. Elektronik gürültü, çevresel müdahale, donanımlar, ve zamanlayıcılar, hatta korkutucu olmayan tahmin algoritmaların, en azından meydan okuma algoritmaların veya klasik Kalman filtreleri gibi - bu nedenle temizliğe karşı dayanıklı, Gaussian- dağıtımlı hataların kapatılmasına bağlıdır.
Robust tahmin yöntemleri sadece teorik bir güzel değildir; bir üretim tesisinde, tek bir titiz sensör aksanımı bir üretim hattını kapatan yanlış bir alarmı tetikleyebilir.Bir drone'un navigasyon sisteminde, birkaç yozlaşmış GPS okuması, aracın yolunu kaybetmesine neden olabilir.Bu makale, M-estimators, RANSAC ve sağlam bir algoritma MATLAB içinde filtrelemek gibi teknikleri uygulamak için kapsamlı bir kılavuz sunmaktadır.
Gerçek Dünya Sensörlerinin Zorluklarını Anlayın
Algoritma tasarımına girmeden önce, sensör verilerinin yaygın olarak sergilediği yolsuzluk türlerini karakterize etmek önemlidir. Üç birincil zorluk gürültü, outliers ve non-stationarity.
Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü Gürültü
Gürültü, gerçek sinyal üzerinde süperisyon ifade eder. Termal gürültü, ölçüm hatası ve elektronik müdahale tipik kaynaklardır. Gürültü genellikle sıfır-mean Gaussian, gerçek dünya gürültüsü bazen daha ağır kuyruklar veya periyodik bileşenler sergileyebilir. Robust algoritmaları varsayılırken makul performansları sağlamalıdır.
Outliers
Outliers, temel veri deseninden önemli ölçüde sapmak için aşırı değerlerdir. Sensör saturasyondan, iletileri veya geçici çevresel rahatsızlıklardan (örneğin, bir toz parçacığından bir kapak yansıma) kaynaklanmaktadır.
İstasyon dışılık ve Zamanlı Davranış
Sensör özellikleri sıcaklık sürüklenme, yaşlanma bileşenleri veya kalibrasyon değişimleri nedeniyle zamanla değişebilir. Ayrıca, temel fiziksel süreç ölçümlemeli değişiklikler gösterebilir. Robust tahmin algoritmaları, ölçeklenebilir veya eski bilgileri unutabilmeli ve gelişmekte olan koşullara cevap verebilir.
Bu zorlukların anlaşılması ilk adımdır. Bir sonraki, sağlam tahmin algoritmalarının onlarla başa çıkmak için güvendiği temel ilkeleri öğrenmektir.
Robust Estimation
Robust tahminleri, algoritmaların veri düzensizliğinin olumsuz etkilerine direnmesine izin veren birkaç temel fikir üzerine inşa edilmiş bir alandır.Üç en önemli ilke, aşırı direnç, gürültü toleransı ve adaptasyon.
Outlier Direniş
Bir algoritma, anom veri noktalarının etkisini etkili bir şekilde görmezden gelip en aza indirmek için aşırıya dayanıklıdır. Bu, gibi stratejiler aracılığıyla elde edilir:
- [FONT:0) Redescending etkisi işlevleri:[Dönetici: 0 ) Tahmin üzerinde bir gözlemin etkisi, en büyük hale gelir (terör) en sonunda sıfıra gidecektir.
- [FONT:0)Random örneklemesi konsensüsle:[Döneticileri kullanmak yerine, tüm veri puanlarını kullanarak algoritma tekrar tekrar tekrar tekrar tekrar tekrar tekrar tekrar tekrar tekrar tekrar örnekliyor, her seferinde bir modele uygun ve en çok yardımcı olanları seçerek.
- [FONT:0)Trimming veya Winsorizing:) Aşırı ikamet süresi, tahminden önce bir eş değere kadar ya da çarpıtılır.
Gürültü Tokto
Gürültü toleransı, sinyal-to-noise oranı düşük olduğunda bile doğru tahminler üretme yeteneğine işaret eder: Anahtar teknikleri şunları içerir:
- [FONT:0]Weighted least squares:[Dönetici: 0) Gözlemler, varyanlarının tahminine göre ağırlıklanır, daha az gürültülü ölçümlere daha ağırlık verir.
- [FONT:0)Yönerge:[Dönlendirme:[Dönlendirme:[Dönlendirme:[Dönlendirme:[Dönlendirme:[Dönlendirme:[Dönlendirme:[Dönlendirme:) Yüksek gürültünün varlığında bir ceza terimi ekleyebilir.
- [FONT:0) Devlet kısıtlamaları:[[Dönetici sınırların Aklışlanması (örneğin, maksimum ivme) gürültünün neden olduğu imkânsız değerleri filtreleyebilir.
Adaptabilityability
Adaptable estimatörler parametrelerini veya yapısını zaman içinde veri özellikleri olarak ayarlayabilirler. Önemli yöntemler şunları içerir:
- [FONT:0] Adaptif ağırlık:[Dönetici:[Dönetici:0) Ağırlıklar mevcut ikametlere göre güncellenmektedir, böylece yeni ortaya çıkanlar aşağı ağırlıktır.
- [FONT:0)Recursive filtreleme: Kalman filtreleri ve benzer recursive estimatörler, güncel olmayan yenilikleri karşılamak için güncelleme adımını değiştirerek sağlam hale gelebilir.
- [FONT:0)Değişim tespiti:[Döneticiler, veri nesli süreci değiştiğinde tespit edilebilir ve sonra ezilenlerin parçalarını yeniden yapılandırabilir veya yeniden yapılandırabilir.
Bu ilkelerle, şimdi onları MATLAB'de nasıl somut olarak uygulayacağımızı keşfedebiliriz.
Robust Estimation Algoritmaları MATLAB'de Uygulamayın
MATLAB, sağlam tahminciler geliştirmek için zengin bir ekosistem sağlar, yerleşik araç kutusu işlevlerinden esnek özel koda bağlıdır. Algoritma seçimi belirli sensör veri özelliklerine ve uygulama gereksinimlerine bağlıdır. Aşağıda en yaygın kullanılan aileleri ele alalım: M-estimators, RANSAC, sağlam Kalman filtreler ve ilgili yöntemler.
Robust Regresyon için M-Estimators
M-estimatörler, büyükler için sağlam gerileme tekniklerinin bir sınıfıdır (bu seviyeden aşağı ve daha sonra da azaldı). MATLAB'in İstatistik ve Makine Öğrenme Toolbox'ta büyük kayıp fonksiyonunu (büyükler için lineer, lineer olmayan çiftleri destekler) ve Tukey bisquare kaybı (bu seviyeler) MATLAB'in [[0) MATLAB'in:0 işlevi, İstatistik ve Makine Öğrenme Toolbox'ta sağlam seçenekleri destekler.
mdl = fitlm(X, y, 'RobustOpts', 'bisquare');
Bu, sabit bir modele uygun olarak en az meydanlara (IRLS) bisquare ağırlık fonksiyonu ile ağırlık verir. Ayrıca özel M-estimatörleri kendi ağırlık fonksiyonlarını yazarak ve yakınlaşmanıza kadar yapabilirsiniz:
- Sıradan en az meydanları kullanarak başlayın.
- Tamamlayıcı ikamet ve standart sapma (örneğin, medyan mutlak sapmayı sağlamlık için kullanarak).
- Seçilmiş etki işlevine dayanan ağırlıkları hesaplayın.
- En az meydans problemini çözün.
- Parametre tahminleri stabilize olana kadar 2-4 adım tekrarlayın.
M-estimatörler verilerin çoğu temiz olduğunda ve tükenenlerin sayısı oldukça verimli ve yaygın olarak sensör kalibrasyon ve veri füzyon görevlerinde kullanılır.
RANSAC for Outlier-Dominated Data
RANSAC (Random Numune Consensus), inliersin küçük kısmı düşük olduğunda, örneğin, örneğin kapalı nokta bulut kaydı veya görsel SLAM'da, hareketli nesnelerden (örneğin, hareketli nesnelerden) çok sayıda olabilir. MATLAB'in Bilgisayar Vizyon Toolbox, geometrik dönüşümler için fonksiyonlar için uygundur.
- Randomly, modele uyması için gereken minimum alt kümesini seçin (örneğin, bir çizgi için 2 puan).
- Modeli bu alt sete götürün.
- Verilen bir tolerans içinde modelle kaç veri noktası kabul eder (tek konsensüsü).
- Tekrarlamalar 1-3 kez.
- Modeli en büyük konsensasyon seti ile seçin ve tüm inliers kullanarak isteğe bağlı olarak geliştirin.
MATLAB, kendi [[DÜDÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜ
params = ransac(pts, @fitLine, @evalLine, ...);
RANSAC, çok yüksek bir dışlayıcıya,% 50 veya daha fazlasına kadar sağlamdır, ancak sabit bir şekilde yoğundur ve inlier eşiğin ve dizilerin belirlenmesi gerekir.
Zaman serisi Sensör Data için Robust Kalman Filtreleri
GPS/IMU füzyon veya hedef izleme gibi gerçek zamanlı uygulamalar için, Kalman filtre standart bir araçtır. Bununla birlikte, klasik Kalman filtre Gaussian gürültüyü varsayıyor ve ölçüm güncelleme adımını değiştirerek bunu çok hassas.
- [FONT:0)Huber tabanlı Kalman filtresi: Bir Huber kaybı ile dörtatlı inovasyon maliyeti değiştirir, büyük yeniliklerin etkili bir şekilde aşağı ağırlıklanması.
- [FONT:0)Öğrencinin dağıtım filtrelemesi: Assumes ağır ayarlı süreç ve ölçüm gürültüsü, durumu ve gürültü parametrelerini güncellemek için bir varyasyonel Bayesian yaklaşımı kullanarak.
- [FONT:0]Adaptive outlier reddedilmesi:[Dönetici: 1) Mahalanobis inovasyonun Mahalanobis mesafesini tamamlıyor; eğer bir eşiği aşsa, ölçüm veya çekimini şişiriyorsa.
MATLAB yerleşik sağlam bir Kalman filtresi sağlamaz, ancak bir tane daha doğru bir şekilde uygulayabilirsiniz. MATLAB, basitleştirilmiş bir Huber tabanlı güncelleme olarak kodlanabilir:
function [x, P] = robustUpdate(x_pred, P_pred, z, H, R, threshold)
S = H * P_pred * H' + R;
K = P_pred * H' / S;
innov = z - H * x_pred;
% Compute weight using Huber
w = huberWeight(innov, S, threshold);
x = x_pred + K * (w .* innov);
P = (eye(n) - K * H) * P_pred;
end
Bu tür filtre, online tahmin için gerekli olan recursive verimliliğini korurken zaman zaman zaman zaman zaman zaman zaman zaman zaman zaman zaman zaman zaman zaman zaman kötü ölçümlere karşı sağlamdır.
Ek Robust Yöntemleri
Üç ana ailenin ötesinde, MATLAB diğer sağlam teknikleri destekler:
- [FONT:0]Median filtreler: [Dönersiz filtreler, her noktayı komşularından gelen medyalarla yerine getiren; dürtü gürültüsü kaldırması için mükemmel. MATLAB'sİLFLT:11).
- [FONT:0]Theil-Sen estimator: İstatistik Toolbox'tan gelen bir işlemden bağımsız olarak, eğimlerin tüm çiftleri aracılığıyla hesaplayan ve ayarlanmamış bir akış gerektirir.
- [FONT:0)L1 regresyon (en az mutlak sapmalar): [Dönder: 1 ) Kareli oturma yerine mutlak ikamet süresine uyabilirsiniz. MATLAB'sİLFLT:14] veFLT:16 ile ilgili olarak L1'i kullanabilirsiniz veya L1 maliyeti ile optimizasyonları kullanabilirsiniz.
Robust Estimators tasarlamak için en iyi uygulamalar
Güçlü bir algoritmayı uygulamak sadece savaşın yarısıdır. Uygulamada güvenilir çalışmasını sağlamak için, bu en iyi uygulamaları takip edin.
Preprocess Sensör Data
Her zaman veriyi bir estimatöre beslemeden önce temel kalite kontrolleri gerçekleştirir. Ortak işlem adımları şunları içerir:
- [FONT:0)Range kontrol:[Dönetici:[Dönetici:0) Discard değerleri fiziksel olarak mümkün olan sınırların dışında düşen.
- [FONT:0)Rate-of-change limiti: Reject lags that ima implausible türs ima ediyor.
- [FONT:0)Missing data işleme:) Interpolate veya uygun gözlemleri atlayın.
- [FONT:0) Normalleştirme:[Dönetici:[Dönetici: 0,3) Sayısal stabiliteyi geliştirmek için benzer büyüklükteki değişkenlere göre değişkendir.
Doğru Robustness Seviyeyi seçin
Tüm uygulamalar aynı derecede sağlamlığa ihtiyaç duymaz. Hafif bir Huber kaybı gürültülü ama nadiren bozulmuş sensör akışları için yeterli olabilir, ancak bir RANSAC yaklaşımının, hesaplama bütçesini göz önünde bulundurması gerekir: sağlam yöntemler genellikle temsil olmayan meslektaşlarından daha yavaştır.
Tune Parametreleri Dikkatli
Robust algoritmaları, RANSAC'deki inklier eşi, M-estimators veya sağlam Kalman filtrelerindeki inovasyonun eşiği. Bu, beklenen gürültü büyüklüğü ve aşırı karakteristiklerine göre seçilmelidir.
Simated ve Real Data ile Geçerlilik
dağıtmadan önce, estimatoru kullanarak titiz bir şekilde test edin:
- [FONT:0) Sentetik veriler:[Dönemli zemin gerçek artı kontrollü gürültü ve kesinti noktası doğrulama ve kesinti noktası doğrulamak için.
- [[Düzücük veriler:[Döneticiler) Arşivlenen sensör loglarında algoritmayı çalıştırın.
- [FONT:0)Monte Carlo denemeleri:[Dönetici:[Dönetici:0) önyargı, varyans ve başarısızlık oranları tahmin etmek için birçok rastgele gerçekleme tekrarlayın.
Monitor Performans Online
Üretim sistemlerinde, sürekli olarak oturma, inovasyon dizileri ve tahmin edilen devlet sınırları gibi temel ölçümleri izleyin. Eğer estimator (örneğin, ikamet eden büyük hale gelir), bir denetçi farklı modda yeniden bir araya gelebilir.
Gerçek Dünya Uygulamaları ve Vaka Çalışmaları
MATLAB'de Robust tahminleri birçok alanda uygulanır. İşte üç açıklayıcı örnek.
Özerk Araç Yerelleştirme
Kendi kendine giden arabalar, sensör füzyon GPS birleştirir, IMU, tekerlek odometri ve panar. GPS sinyalleri bloke edilebilir veya multipath-prone, kapaklı taramalar, hareketli nesnelerden gelen yansımaları içerir ve IMUETHT:0) Yerelleştirme için sağlam bir durum tahminleri (EKF)) Bu yaklaşım, birkaç adımın bu şekilde filtre tasarlamasını sağlar.
Endüstriyel Öngörücü Bakım
Geri dönen makinelerde titreşim sensörleri hata tespiti için verileri toplar. Outliers sensör klibi veya geçici şoklardan oluşabilir. sağlam bir ⁇ estimatörü (örneğin, medyan dönemi kullanarak) bu anormal alarmlara rağmen gerçek titreşim frekanslarını alabilir. MATLAB'in Signal Processing Toolbox, daha az yanlış alarmlar ile uyarlanabilir.
Çevre Sensör Ağı
Kablosuz sensör ağları sıcaklık, nem ve hava kalitesi genellikle paket kaybı ve aralıklı sensör hataları ile ilgili sağlam bir veri, regresyon yeteneklerine dayanan (“Dönetici ve Makine Öğrenme Toolbox’ı, sensör raporlarının %20'si bozuk değerler ile başa çıkmak için doğru uzaysal haritalar üretebilir. Kaliforniya Üniversitesi'ndeki araştırmacılar MATLAB kullanarak, MATLAB kullanarak yaklaşımlar kullanarak MATLAB kullanarak, MATLAB kullanarak yardımcı olur:0)
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Robust tahminleri lüks değildir - güvenilir bir şekilde bu iş için çalışabilmesi gereken herhangi bir sistem için bir gerekliliktir, hem de sensörler için mükemmel olmayan işlevleri sunmak için, sensörlerin özelliklerini anlamak ve yüksek çözünürlükte olan aile prensiplerini uygulamak, birçok problem için iyi bir başlangıç noktası sağlar, RAC yüksek ücretli senaryolar yapabilir ve sağlam sistemler için güçlü bir platform sunar.
Bilginizi derinleştirmek için, resmi MATLAB belgelerini www.FLT:0) Yerelleştirme için keşfedin). ve sensör sistemleri daha karmaşık ve veri artışları büyüdükçe, sağlam tahminler mühendisin aracında vazgeçilmez bir araç olarak kalacaktır.