FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
docker-python/tests/test_pykalman.py at master · AI-For-Rural/docker-python · GitHub
AI-For-Rural
/
docker-python
Public
forked from
Kaggle/docker-python
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
docker-python
/
tests
/
test_pykalman.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
47 lines (41 loc) · 2.59 KB
Breadcrumbs
docker-python
/
tests
/
test_pykalman.py
Copy path
File metadata and controls
47 lines (41 loc) · 2.59 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import
unittest
import
numpy
as
np
from
pykalman
import
KalmanFilter
from
pykalman
import
UnscentedKalmanFilter
from
pykalman
.
sqrt
import
CholeskyKalmanFilter
,
AdditiveUnscentedKalmanFilter
class
TestPyKalman
(
unittest
.
TestCase
):
def
test_kalman_filter
(
self
):
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
)
return
filtered_state_means
def
test_kalman_missing
(
self
):
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
measurements
=
np
.
ma
.
asarray
(
measurements
)
measurements
[
1
]
=
np
.
ma
.
masked
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
)
return
filtered_state_means
def
test_unscented_kalman
(
self
):
ukf
=
UnscentedKalmanFilter
(
lambda
x
,
w
:
x
+
np
.
sin
(
w
),
lambda
x
,
v
:
x
+
v
,
transition_covariance
=
0.1
)
(
filtered_state_means
,
filtered_state_covariances
)
=
ukf
.
filter
([
0
,
1
,
2
])
(
smoothed_state_means
,
smoothed_state_covariances
)
=
ukf
.
smooth
([
0
,
1
,
2
])
return
filtered_state_means
def
test_online_update
(
self
):
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
measurements
=
np
.
ma
.
asarray
(
measurements
)
measurements
[
1
]
=
np
.
ma
.
masked
# measurement at timestep 1 is unobserved
kf
=
kf
.
em
(
measurements
,
n_iter
=
5
)
(
filtered_state_means
,
filtered_state_covariances
)
=
kf
.
filter
(
measurements
)
for
t
in
range
(
1
,
3
):
filtered_state_means
[
t
],
filtered_state_covariances
[
t
]
=
\
kf
.
filter_update
(
filtered_state_means
[
t
-
1
],
filtered_state_covariances
[
t
-
1
],
measurements
[
t
])
return
filtered_state_means
def
test_robust_sqrt
(
self
):
kf
=
CholeskyKalmanFilter
(
transition_matrices
=
[[
1
,
1
], [
0
,
1
]],
observation_matrices
=
[[
0.1
,
0.5
], [
-
0.3
,
0.0
]])
ukf
=
AdditiveUnscentedKalmanFilter
(
lambda
x
,
w
:
x
+
np
.
sin
(
w
),
lambda
x
,
v
:
x
+
v
,
observation_covariance
=
0.1
)
Back
|
FazBrowse Home
|
New Git URL