मेरे पास 2 डी स्पेस (एक सतह) में किसी वस्तु का प्रक्षेपवक्र है। प्रक्षेपवक्र को (x,y)
निर्देशांक के अनुक्रम के रूप में दिया गया है । मुझे पता है कि मेरे माप शोर हैं और कभी-कभी मेरे पास स्पष्ट आउटलेयर हैं। इसलिए, मैं अपनी टिप्पणियों को फ़िल्टर करना चाहता हूं।
जहां तक मैंने कलमन फिल्टर को समझा, यह वही करता है जो मुझे चाहिए। इसलिए, मैं इसका उपयोग करने की कोशिश करता हूं। मुझे यहां एक अजगर का कार्यान्वयन मिला । और यह उदाहरण है कि प्रलेखन प्रदान करता है:
from pykalman import KalmanFilter
import numpy as np
kf = KalmanFilter(transition_matrices = [[1, 1], [0, 1]], observation_matrices = [[0.1, 0.5], [-0.3, 0.0]])
measurements = np.asarray([[1,0], [0,0], [0,1]]) # 3 observations
kf = kf.em(measurements, n_iter=5)
(filtered_state_means, filtered_state_covariances) = kf.filter(measurements)
(smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements)
मुझे इनपुट और आउटपुट की व्याख्या से कुछ परेशानी है। मुझे लगता है कि measurements
वास्तव में मेरे माप (निर्देशांक) क्या हैं। हालाँकि मैं थोड़ा भ्रमित हूँ क्योंकि उदाहरण में माप पूर्णांक हैं।
मुझे कुछ transition_matrices
और प्रदान करने की आवश्यकता है observation_matrices
। मुझे वहां क्या मूल्य रखना चाहिए? इन मैट्रिस का क्या मतलब है?
अंत में, मुझे अपना आउटपुट कहां मिल सकता है? यह होना चाहिए filtered_state_means
या smoothed_state_means
। इन सरणियों के सही आकार हैं (2, n_observations)
। हालाँकि, इन सरणी में मान मूल निर्देशांक से बहुत दूर हैं।
तो, इस कलमन फ़िल्टर का उपयोग कैसे करें?