Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Practical Data Analysis Cookbook

You're reading from   Practical Data Analysis Cookbook Over 60 practical recipes on data exploration and analysis

Arrow left icon
Product type Paperback
Published in Apr 2016
Publisher
ISBN-13 9781783551668
Length 384 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Tomasz Drabas Tomasz Drabas
Author Profile Icon Tomasz Drabas
Tomasz Drabas
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Preparing the Data 2. Exploring the Data FREE CHAPTER 3. Classification Techniques 4. Clustering Techniques 5. Reducing Dimensions 6. Regression Methods 7. Time Series Techniques 8. Graphs 9. Natural Language Processing 10. Discrete Choice Models 11. Simulations Index

Filtering the time series data


Removing the noise via smoothing is only one of the techniques. In this recipe, we will see how to use convolution and other filters to extract only certain frequencies from our data.

Getting ready

To execute this recipe, you will need pandas, Statsmodels, NumPy, Scipy, and Matplotlib. No other prerequisites are required.

How to do it…

Convolution, in layman terms, can be understood as an overlap between a function f (our time series) and some function g (our filter). Convolution blurs the time series (and in this sense can be understood as a smoothing technique).

Note

A good introduction to convolution can be found at http://www.songho.ca/dsp/convolution/convolution.html.

The following script can be found in td_filtering.py:

# prepare different filters
MA_filter     = [1] * 12
linear_filter = [d * (1/12) for d in range(0,13)]
gaussian      = sc.signal.gaussian(12, 2)

# convolve
conv_ma       = riverFlows.apply(
    lambda col: sm.tsa.filters.convolution_filter(
...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime