Commit Graph
100 Commits
Author SHA1 Message Date
Roger Labbe 9d95bd0714 Merge pull request #116 from esvhd/nb05_typo_fix
Fixed two typos in notebook 5 Multivariate Gaussians.
2016-09-12 17:34:10 -07:00
Roger Labbe 19deda37ee Issue #112 interactive_gh uses global data
interactive_gh() uses zs, which is global data, so if you run
another cell that assigns to z, then drag the sliders without
rerunning the cell that uses interactive_gh(), you get the
reassigned zs value.
2016-08-28 15:19:37 -07:00
Roger Labbe 2128710f41 Normalized with Preface.
The README contains text esssentially identical to the preface. However,
there were some notable differences, which I have fixed.
2016-08-28 14:42:02 -07:00
Roger Labbe 7b6151e1e4 Reran cells.
Many of the plots were not generated, which makes the chapter
unreadable on github.
2016-08-28 12:54:50 -07:00
Roger Labbe e9145dbc62 Deleted obsolete file particle_filter.py 2016-08-28 12:48:47 -07:00
Roger Labbe afab63ec2f Issue #103. Completed unfinished section.
The first section of the README was incomplete.
2016-08-28 12:23:33 -07:00
Roger Labbe 0ce8792340 Reran cells - checked in version had no plots. 2016-08-28 11:45:22 -07:00
Roger Labbe cab54e11d6 Issue #95. Incorrect notation for process model.
I used the Fundaental matrix F when I should have used the
system dynamics matrix A.
2016-08-28 11:00:45 -07:00
Roger Labbe d31721aa0f Discrete_bayes_sim() wasn't displaying the graphs because plt.show()
was missing from the end of the function.
2016-08-28 08:12:03 -07:00
Roger Labbe 6914c3be77 Merge pull request #113 from neonquill/fix_typos_05
Fix a couple of typos found in Chapter 5.
2016-08-28 07:45:42 -07:00
Roger Labbe 044063363c Merge pull request #111 from neonquill/fix_train_filter
Fix train example in 02-Discrete-Bayes.
2016-08-27 08:09:41 -07:00
Roger Labbe a6cba51c0b Merge pull request #110 from Qx5/patch-1
Missing transpose in text
2016-08-27 08:01:35 -07:00
Roger Labbe 4328c397d4 Merge pull request #109 from esvhd/nb4-fix
Added missing closing bracket.
2016-08-27 07:59:15 -07:00
Roger Labbe 489084aa8f Merge pull request #102 from plusk01/lesson01_fixes
Lesson 01 Content Fixes
2016-08-27 07:58:35 -07:00
Roger Labbe 45cf59df72 Deleted reference to 6x9 version 2016-07-07 21:14:03 -07:00
Roger Labbe 5017434494 Updated link to PDF 2016-07-07 21:12:32 -07:00
Roger Labbe 6986b66f87 Merge pull request #104 from asfaltboy/patch-1
Simple grammar correction from context
2016-07-07 19:33:43 -07:00
Roger Labbe 4669507d7a Fixed computation of epoch
Section changed the time delta from 2 seconds to 1, but did not
note that in the text.
2016-06-25 15:40:53 -07:00
Roger Labbe 5fcdf5af47 Minto typos.
Courtesy of email from James Kim.
2016-06-22 19:53:33 -07:00
Roger Labbe b370e9a9a4 Typo fix.
lubkoll offered a commit, but I got a conflict and it was easier to
make the change myself.
2016-06-16 12:38:08 -07:00
Roger Labbe 0239608ab2 Issue #101. Missing plots in chapter. 2016-06-16 12:35:47 -07:00
Roger Labbe be073785c9 Revert "Merge pull request #99 from lubkoll/master"
This reverts commit 4b17de67a9, reversing
changes made to 5559d2e03f.
2016-05-25 10:48:47 -07:00
Roger Labbe 4b17de67a9 Merge pull request #99 from lubkoll/master
Fix typos in chapter 08
2016-05-25 08:39:15 -07:00
Roger Labbe 5559d2e03f Merge pull request #98 from lubkoll/master
Fix typos in chapter 04
2016-05-25 07:13:28 -07:00
Roger Labbe 510e720559 I used terms better suited to radars (elevation angle instead
of bearing, for example).
2016-05-19 18:39:26 -07:00
Roger Labbe a79153205b Issue 87. Example was linear.
I provided  a linear example for what was supposed to be a
nonlinear example.
2016-05-19 18:37:46 -07:00
Roger Labbe d89e35bbdf Fixed latex raising ^*
It works in mathjax, but the pdf convertor cannot handle it. Changing
it to ^{*} works.
2016-04-23 04:30:03 -07:00
Roger Labbe dafb047c4c Updated imports to use nondeprecated libraries 2016-04-23 04:29:31 -07:00
Roger Labbe e34c916de5 Issue #94. Eqn used x instead of \bar x.
This is in the IMM Estimate section as described in the github issue.
2016-04-23 03:41:18 -07:00
Roger Labbe a15fca8d9a Issue #94 Incorrect index in pseudocode
We are looping over j, but I used i as the index.
2016-04-23 03:33:32 -07:00
Roger Labbe 69cf5aebce I require that the cholesky return an upper triangular matrix,
but did not explain this in the text.
2016-03-26 10:09:51 -07:00
Roger Labbe 8fa2cf615c Regenerated a figure. 2016-03-26 09:38:51 -07:00
Roger Labbe ba980de88f Typos. github issue #93. 2016-03-26 09:37:37 -07:00
Roger Labbe 57b420f919 Fixed equation for Gaussian mean.
Used incorrect subscript for variance in the numerator.
2016-03-26 09:27:43 -07:00
Roger Labbe f7ee853583 Added example for 1D state vector.
I got a question about it, so tried to add an example to clarify it.
2016-03-26 09:16:10 -07:00
Roger Labbe b492c258d2 Issue #88.
Misidentified the process matrices as being x, P, when they are
F, Q.
2016-03-15 17:03:05 -07:00
Roger Labbe 38996b6d24 Merge pull request #90 from Gluttton/master
Unscented Kalman Filter: using "state sigmas" instead of "prior sigmas" in the cross-covariance equation at the predict step
2016-03-15 17:00:54 -07:00
Roger Labbe c32ca48542 Moved legends inside of plot.
The %matplotlib notebook back end does not account for things being
drown outside of the plot, and they end up getting partially or
fully cut off.
2016-03-07 07:16:59 -08:00
Roger Labbe 6f1fd2f16f Updated to use absolute imports
I used to add .\code to the path, which was an absurd hack.
Now all code is imported with import code.foo.
2016-03-06 12:02:13 -08:00
Roger Labbe fa62edccc4 Merge pull request #84 from Gluttton/master
Unscented Kalman Filter: using "state estimate" instead of "mean estimate" in the covariance equation at the predict step
2016-03-06 09:01:34 -08:00
Roger Labbe f16b43c3b4 Reran with seaborn installed
I ran several notebooks after reinstalling anaconda but I hadn't
reinstalled seaborn, so the plots didn't have the right look.
2016-03-06 08:54:19 -08:00
Roger Labbe fb21cf6313 Making book work in Python 2.7 2016-03-06 08:18:27 -08:00
Roger Labbe f62fb8bbe8 Reran with tight_layout for interactive plots
This is just so everything looks nice in nbviewer. I added
plt.tight_layout() to the interactive_plot context manager,
which makes plots fill the output cell better.
2016-02-28 09:46:06 -08:00
Roger Labbe 2594d8905c Added animated filtering
Rewrote some of the chapter examples to use animated plots. Makes
it so much easier to see how the filter is performing.
2016-02-28 08:35:51 -08:00
Roger Labbe a647f96388 Made plots interactive 2016-02-27 21:40:21 -08:00
Roger Labbe ef67326af6 Change plots to interactive plots 2016-02-27 20:52:36 -08:00
Roger Labbe f3358f44d6 Switched to interactive plotting. 2016-02-27 20:04:40 -08:00
Roger Labbe 590af94807 Switching to interactive plots 2016-02-27 18:55:34 -08:00
Roger Labbe a6c2b0ccc9 Interactive plots with 5matplotlib inlien
Need to make the plots antimated, but the notebook is essentially
working.
2016-02-27 17:52:17 -08:00
Roger Labbe 6aea84f6b1 Switched to interactive plots!
Using %matplotlib notebook to render plots.

I made the g-h filter chapter work. There is a very good chance
I broke the other chapters. Need to push to really find out.
2016-02-27 17:10:09 -08:00
Roger Labbe 26cf805dc3 Explained std vs var in N(mu, var) formulation.
Some book use std, I use variance.
2016-02-18 08:50:12 -08:00
Roger Labbe 741d785e03 Explained biased vs unbiased estimators.
I had glossed over this difference, and so it would be confusing
to understand why my equations for VAR and COV are incorrect for
samples. I distinguished between the two and gave the correct
computations for each.
2016-02-18 08:35:12 -08:00
Roger Labbe b15968e5b1 Touched upon conditioning of variables.
Pointed out that height of students probably has two means if the
population includes males and females. Did not go into Gaussian
mixtures or conditioning of the data.
2016-02-06 15:03:53 -08:00
Roger Labbe 5587dd0fda Completed IMM description
The text for the IMM filter was incomplete, and wrong in a few
places.
2016-02-06 15:03:19 -08:00
Roger Labbe f6c83812a1 Github Issue #80 Invalid use of kappa
I used kappa in a couple of places for the square root, when I should
have been using lambda.
2016-02-05 07:51:43 -08:00
Roger Labbe f64aec3693 Copy editing.
`
2016-01-31 20:13:06 -08:00
Roger Labbe 1610678354 Worked on the IMM section.
It is more complete, but not finished.
2016-01-31 20:12:29 -08:00
Roger Labbe 57dda86f18 Copy editing. 2016-01-30 08:29:22 -08:00
Roger Labbe ac2c27119b Adde binder badge at top of readme
So user can know about the online version without having to wade
through a lot of introductory text.
2016-01-30 07:58:04 -08:00
Roger Labbe 230539a3fd Fixed underlining of \emph in PDF.
Thought I had this fixed, not sure why it came back. Had to add
\normalem to template file to force \emph to be italics, which is
the default. Not sure why it has been doing underlining recently.
2016-01-28 17:48:42 -08:00
Roger Labbe 15ad94a5b3 Merge branch 'master' of https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python 2016-01-27 21:21:54 -08:00
Roger Labbe e5fa61bbc5 Added links to source material.
Linked (mostly to Wikipedia) to web material for terms that are
newly defined.
2016-01-27 21:19:16 -08:00
Roger Labbe 9ae110077d Merge pull request #77 from Gluttton/master
Trying to fix broken layout.
2016-01-26 12:08:07 -08:00
Roger Labbe aae7bbb368 Copy edits. 2016-01-24 18:52:31 -08:00
Roger Labbe 53b058bbda Copy edit of math chapter.
I moved the conversion of the multivariate equations to univariate
equations to the supporting textbook. It's not terribly necessary,
especially since I converted the univariate equations to look like
the multivariate ones.
2016-01-24 15:34:57 -08:00
Roger Labbe 71da22ad8c Fixed eqn alignment issues. overline to bar.
Some equations used \\ without a gathered or aligned block.
They render fine in the notebook, not not in the PDF.

Also, switched back my ill chosen use of \overline for \bar.
2016-01-24 14:08:07 -08:00
Roger Labbe d5ea503fde More copy edits, updated for filterpy 0.1.2 2016-01-24 12:11:39 -08:00
Roger Labbe 49f604be52 Switched to stix fonts for PDF. 2016-01-23 08:37:59 -08:00
Roger Labbe 6ade9592ec Whitespace change to test git push
I got an error on my last push after some nasty Dropbox
befouling of my files. This is just to give me something to push
that isn't important.
2016-01-23 07:25:10 -08:00
Roger Labbe c268a09f5f Rewrites for orthogonal version of eqns
The changes in the univariate chapter, where I derived the
eqn for K continue to ripple through the chapters.
2016-01-23 07:18:43 -08:00
Roger Labbe d6becd7428 Ran notebooks to reflect css changes. 2016-01-18 18:41:39 -08:00
Roger Labbe 856775e906 Major rewrites due to discrete bayes changes.
I've derived the x + Ky form for the univariate kalman filter.
I completely reordered material, cutting about 10 pages (pdf)
of material. I made the connection between the bayesian form
and orthogonal form more explicit.

Probably there are a lot of grammatical errors, but I wanted to get
these checked in.

I also altered the css - mainly the font.
2016-01-18 18:16:20 -08:00
Roger Labbe 5240944dd4 Ran all notebooks to use new css settings. 2016-01-17 20:44:23 -08:00
Roger Labbe 0a41e78aeb Added likelihood and orthogonal projections
Added the likelihood equations/form from the discrete bayes
chapter to better tie in that form of reasoning. then I converted
the 1d equations to the orthogonal projection form to show how
the Kalman gain is computed and where the residual comes from
computationally. This should make the full KF equations much more
approachable.
2016-01-17 20:16:27 -08:00
Roger Labbe 005fe0618c Edits for conciseness. 2016-01-17 12:36:02 -08:00
Roger Labbe daf7ae26e6 Reexecuted to incorporate css changes. 2016-01-17 12:06:31 -08:00
Roger Labbe d0b4a1f4bc Generalized discrete Bayes with likelihood.
All my code in this chapter hard coded the computation of the
likelihood inside the update() function, where it had no business.
Also, my treatment of the likelihood was rather hand wavey. By
pulling it out of update() and maing it explicit I have created
a firm foundation for the rest of the book.
2016-01-17 12:02:00 -08:00
Roger Labbe eca26a2422 Deleted empty code cell 2016-01-17 08:18:35 -08:00
Roger Labbe 752bf9687e Updated Table of Contents
Removed the Appendixes that I deleted, and added all of the supporting
notebook.
2016-01-17 08:16:36 -08:00
Roger Labbe 23877ea4f3 Updated to require FilterPy 0.1.1
This version of filterpy supplies functions for discrete bayes
filters.
2016-01-17 06:21:30 -08:00
Roger Labbe 02d49f16e5 Added description of how to use Jupyter Notebook 2016-01-13 18:46:44 -08:00
Roger Labbe 7263c3f89b Updated to new Jupyter Notebook version 2016-01-13 17:56:41 -08:00
Roger Labbe 6933c33dbc Copy editing. 2016-01-13 17:33:14 -08:00
Roger Labbe 5921b20f87 Word smithing.
Just trimming the flab.
2016-01-12 20:57:13 -08:00
Roger Labbe ffaee9b080 Removing flab from language. 2016-01-10 20:46:43 -08:00
Roger Labbe fb7db6d752 More removal of flabby language. 2016-01-10 10:14:29 -08:00
Roger Labbe 974543a603 Fixed code bug due to renaming function.
I renamed the function f, but did not propogate that change
to every cell.
2016-01-10 09:12:03 -08:00
Roger Labbe d9ba9fde22 Scatter plot of bearing shows 2 results.
The text in the book gave one example, and then hand waved an
explanation about a different bearing choice. It is clearer to
just show it in a graph.
2016-01-10 09:00:00 -08:00
Roger Labbe 58d91c2de3 Copy and general edits.
Trimming the flab out of the language. Added a few examples and
such to clarify concepts.
2016-01-10 08:58:37 -08:00
Roger Labbe 8e2bb6856d Fixed error in latex
It rendered fine in the notebook, but \text{foo_bar} was causing
an error in the pdf generation. Switching to \mathtt{foo\_bar}
mostly fixes it (though in the notebook it renders as -, not _.
Oye.
2016-01-09 09:10:56 -08:00
Roger Labbe 800ea6c189 Cleaned up equations for UKF.
I was using a bunch of variable names that weren't consistent
with the rest of the book (but perhaps are more consistent with
the literature). It just made everything more challenging than
it needed to be, so instead of \mu and \sigma (e.g.) I use
\bar x and \bar P.

I also am in the middle of rewriting some sections for clarity,
but that work is not completed.
2016-01-09 08:52:03 -08:00
Roger Labbe b6d5052f45 Copy edits. 2016-01-09 08:51:24 -08:00
Roger Labbe eeab89c16c Copy edits. 2016-01-09 08:51:03 -08:00
Roger Labbe 6b9b97927d Redid Discrete Bayes animations.
I added titles so you can see where in the processing the
graph is.

This surfaced a bug in matplotlib 1.5 (#5399) so I added
some code to work around that.
2016-01-09 08:49:29 -08:00
Roger Labbe 65a77d0af2 Commited before I saved the file! 2016-01-09 08:20:53 -08:00
Roger Labbe 8bab476b31 Edited so I can report bug to matplotlib. 2016-01-09 08:20:28 -08:00
Roger Labbe cb45bf236e Copy edits 2016-01-05 15:45:27 -08:00
Roger Labbe 6a621ca59e Merge pull request #76 from wspr/wspr
03-gaussians copyedit
2016-01-05 06:44:28 -08:00
Roger Labbe e52e2ca206 Copy edits. 2016-01-03 16:13:40 -08:00
Roger Labbe 8a01161ea4 Streamlined description of EKF linearization 2016-01-03 11:32:22 -08:00