PDF Hands-on Time Series Analysis With Python: From Basics To Bleeding Edge Techniques B. V. Vishwas download
PDF Hands-on Time Series Analysis With Python: From Basics To Bleeding Edge Techniques B. V. Vishwas download
com
https://textbookfull.com/product/hands-on-time-
series-analysis-with-python-from-basics-to-
bleeding-edge-techniques-b-v-vishwas/
https://textbookfull.com/product/practical-time-series-forecasting-
with-r-a-hands-on-guide-2nd-edition-galit-shmueli/
textbookfull.com
https://textbookfull.com/product/hands-on-mqtt-programming-with-
python-gaston-c-hillar/
textbookfull.com
https://textbookfull.com/product/managing-risk-in-nanotechnology-
topics-in-governance-assurance-and-transfer-1st-edition-finbarr-
murphy/
textbookfull.com
Mutual funds and exchange-traded funds : building blocks
to wealth 1st Edition Baker
https://textbookfull.com/product/mutual-funds-and-exchange-traded-
funds-building-blocks-to-wealth-1st-edition-baker/
textbookfull.com
https://textbookfull.com/product/cambridge-international-as-a-level-
physics-practical-workbook-2nd-edition-graham-jones/
textbookfull.com
https://textbookfull.com/product/practice-of-bayesian-probability-
theory-in-geotechnical-engineering-wan-huan-zhou/
textbookfull.com
https://textbookfull.com/product/grace-cries-uncle-manor-house-cozy-
mystery-06-julie-hyzy-et-el/
textbookfull.com
https://textbookfull.com/product/illustrated-guide-to-home-chemistry-
experiments-all-lab-no-lecture-thompson/
textbookfull.com
Multiobjective Linear Programming: An Introduction 1st
Edition Dinh The Luc (Auth.)
https://textbookfull.com/product/multiobjective-linear-programming-an-
introduction-1st-edition-dinh-the-luc-auth/
textbookfull.com
Hands-on Time
Series Analysis
with Python
From Basics to Bleeding Edge
Techniques
—
B V Vishwas
Ashish Patel
Hands-on Time Series
Analysis with Python
From Basics to Bleeding
Edge Techniques
B V Vishwas
Ashish Patel
Hands-on Time Series Analysis with Python: From Basics to Bleeding
Edge Techniques
B V Vishwas Ashish Patel
Infosys Cygnet Infotech Pvt Ltd
Bengaluru, India Ahmedabad, India
iii
Table of Contents
iv
Table of Contents
Resampling by Week�������������������������������������������������������������������������������������54
Resampling on a Semimonthly Basis������������������������������������������������������������55
Windowing Function�������������������������������������������������������������������������������������������55
Rolling Window����������������������������������������������������������������������������������������������56
Expanding Window����������������������������������������������������������������������������������������57
Exponentially Weighted Moving Window�������������������������������������������������������57
Shifting����������������������������������������������������������������������������������������������������������������58
Handling Missing Data����������������������������������������������������������������������������������������60
BFILL��������������������������������������������������������������������������������������������������������������62
FFILL��������������������������������������������������������������������������������������������������������������62
FILLNA�����������������������������������������������������������������������������������������������������������63
INTERPOLATE�������������������������������������������������������������������������������������������������64
Summary������������������������������������������������������������������������������������������������������������64
v
Table of Contents
vi
Table of Contents
vii
Table of Contents
viii
Table of Contents
Chapter 8: Prophet����������������������������������������������������������������������������375
The Prophet Model��������������������������������������������������������������������������������������������375
Implementing Prophet���������������������������������������������������������������������������������������376
Adding Log Transformation��������������������������������������������������������������������������381
Adding Built-in Country Holidays�����������������������������������������������������������������386
Adding Exogenous variables using add_regressors(function)��������������������������389
Summary����������������������������������������������������������������������������������������������������������394
Index�������������������������������������������������������������������������������������������������395
ix
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
About the Authors
B V Vishwas is a Data Scientist, AI researcher
and AI Consultant, Currently living in
Bengaluru(INDIA). His highest qualification is
Master of Technology in Software Engineering
from Birla Institute of Technology & Science,
Pilani, India and his primary focus and
inspiration is Data Warehousing, Big Data,
Data Science (Machine Learning, Deep
Learning, Timeseries, Natural Language
Processing, Reinforcement Learning, and
Operation Research). He has over seven years of IT experience currently
working at Infosys as Data Scientist & AI Consultant. He has also worked
on Data Migration, Data Profiling, ETL & ELT, OWB, Python, PL/SQL, Unix
Shell Scripting, Azure ML Studio, Azure Cognitive Services, and AWS.
xi
About the Authors
xii
About the Technical Reviewer
Over his nearly three-decade career,
Alexey Panchekha, PhD, CFA, has spent
10 years in academia, where he focused on
nonlinear and dynamic processes; 10 years in
the technology industry, where he specialized
in program design and development; and
eight years in financial services. In the latter
arena, he specialized in applying mathematical
techniques and technology to risk management
and alpha generation. For example, Panchekha was involved in the equity
derivative trading technology platform at Goldman Sachs, and he led the
creation of the multi-asset multigeographies portfolio risk management
system at Bloomberg. He also served as the head of research at Markov
Process International, a leader in portfolio attribution and analytics.
Most recently, Panchekha cofounded Turing Technology Associates, Inc.,
with Vadim Fishman. Turing is a technology and intellectual property
company that sits at the intersection of mathematics, machine learning,
and innovation. Its solutions typically service the financial technology
(fintech) industry. Turing primarily focuses on enabling technology that
supports the burgeoning ensemble active management (EAM). Prior
to Turing, Panchekha was managing director at Incapital, and head
of research at F-Squared Investments, where he designed innovative
volatility-based risk-sensitive investment strategies. He is fluent in multiple
computer programming languages and software and database programs
and is certified in deep learning software. He earned a PhD from Kharkiv
Polytechnic University with studies in physics and mathematics as well as
an MS in physics. Panchekha is a CFA charterholder.
xiii
Acknowledgments
This being my first book, I found transforming idea and real-world
experience into its current shape to be a strenuous task. I am grateful to
almighty God for blessing and guiding me in all endeavors. I would like to
thank my parents (Vijay Kumar and Rathnamma), brother (Shreyas), other
family, and friends for helping me sail though the sea of life.
—B V Vishwas
First and foremost, praises and thanks to God, the almighty, for His
showers of blessings throughout the book-writing process. I would like to
express my deep and sincere gratitude to my parents (Dinesh Kumar N
Patel and Javnika ben D Patel), my sister (Nisha Patel), and my family and
friends (Shailesh Patel, Sanket Patel, Nikit Patel, Mansi Patel, Khushboo
Shah) for their support and valuable prayers.
—Ashish Patel
xv
Introduction
This book explains the concepts of time series from traditional to
bleeding-edge techniques with full-fledged examples.
The book begins by covering time-series fundamentals and their
characteristics, Structure & Components of time series data, preprocessing,
and ways of crafting features through data wrangling. Next, it covers
traditional time-series techniques such as the smoothing methods ARMA,
ARIMA, SARIMA, SARIMAX, VAR, and VARMA using trending frameworks
such as Statsmodels and Pmdarima.
Further covers how to leverage advanced deep learning-based
techniques such as ANN, CNN, RNN, LSTM, GRU, and Autoencoder to
solve time-series problems using Tensorflow. It concludes by explaining
how to use the popular framework fbprophet for modeling time-series
analysis.
After completion of the book, the reader will have thorough knowledge
of concepts and techniques to solve time-series problems. All the code
presented in this book is available in Jupyter Notebooks; this allows
readers to do hands-on experiments and enhance them in exciting ways.
xvii
CHAPTER 1
Time-Series
Characteristics
A time series is a collection of data points that are stored with respect to
their time. Mathematical and statistical analysis performed on this kind
of data to find hidden patterns and meaningful insight is called time-
series analysis. Time-series modeling techniques are used to understand
past patterns from the data and try to forecast future horizons. These
techniques and methodologies have been evolving for decades.
Observations with continuous timestamps and target variables
are sometimes framed as straightforward regression problems by
decomposing dates into minutes, hours, days, weeks, months, years, and
so on, which is not the right way to handle such data because the results
obtained are poor. In this chapter, you will learn the right approach for
handling time-series data.
There are different kinds of data, such as structured, semistructured,
and unstructured, and each type should be handled in its own way to gain
maximum insight. In this book, we are going to be looking at time-series
data that is structured in manner such as data from the stock market,
weather, birth rates, traffic, bike-sharing apps, etc.
This chapter is a gentle introduction to the types of time-series data, its
components, and ways to decompose it.
T ypes of Data
Time-series analysis is a statistical technique that measures a sequential set
of data points. This is a standard measure in terms of time that comes in
three types, as shown in Figure 1-1.
Data Types
Cross-Section Panel/Longitudinal
Time-Series Data
Data Data
T ime-Series Data
A time series contains data points that increase, decrease, or otherwise
change in chronological order over a period. A time series that
incorporates the records of a single feature or variable is called a univariate
time series. If the records incorporate more than one feature or variable,
the series is called a multivariate time series. In addition, a time series can
be designated in two ways: continuous or discrete.
In a continuous time series, data observation is carried out
continuously throughout the period, as with earthquake seismograph
magnitude data, speech data, etc. Figure 1-2 illustrates earthquake data
measured continuously from 1975 to 2015.
2
Chapter 1 Time-Series Characteristics
6.00
5.80
5.60
5.40
5.20
5.00
YEARS
27
26.5
AVG TEMPRATURE
26
25.5
25
24.5
24
23.5
23
1880 1900 1920 1940 1960 1980 2000 2020 2040
YEARS
3
Chapter 1 Time-Series Characteristics
C
ross-Section Data
Cross-section data is data gathered at a specific point of time for several
subjects such as closing prices of a particular group of stocks on a specific
date, opinion polls of elections, obesity level in population, etc. Cross-
section studies are utilized in many research areas such as medical,
economics, psychology, etc. For instance, high blood pressure is one of the
significant risk factors for cause of death in India according to a 2017 WHO
report. WHO has carried out the study of several risk factors (considered
various subjects), which reflects cross-section survey data. Figure 1-4
illustrates the cross-section data.
1200000
1000000
800000
600000
400000
200000
0
Non-exclusive …
Discontinued…
Zinc deficiency…
Vitamin-A deficiency…
No access to …
Indoor air pollution …
Air pollution…
Low physical activity …
Iron deficiency…
Drug use (deaths)
Smoking (deaths)
Obesity (deaths)
Child stunting (deaths)
RISK FACTOR
4
Chapter 1 Time-Series Characteristics
In Table 1-1, datasets A and B (with the attributes income, age, and
sex) gathered throughout the years are for different people. Dataset A
is a depiction of two people, Allen and Malissa, who were subject to
observation over three years (2016, 2017, 2018); this is known as balanced
panel data. Dataset B is called unbalanced panel data because data does
not exist for every individual every year.
5
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Chapter 1 Time-Series Characteristics
Trend
A trend is a pattern that is observed over a period of time and represents
the mean rate of change with respect to time. A trend usually shows the
tendency of the data to increase/uptrend or decrease/downtrend during
the long run. It is not always necessary that the increase or decrease is in
the same direction throughout the given period of time. A trend line is also
drawn using candlestick charts.
For example, you may have heard about an increase or decrease in
different market commodities such as gold, silver, stock prices, gas, diesel,
etc., or about the rate of interest for banks or home loans increasing or
decreasing. These are all commodity market conditions, which may either
increase or decrease over time, that show a trend in data.
import pandas as pd
from statsmodels.tsa.filters.hp_filter import hpfilter
df = pd.read_excel(r'\Data\India_Exchange_Rate_Dataset.xls',\
6
Chapter 1 Time-Series Characteristics
index_col=0,parse_dates=True)
EXINUS_cycle,EXINUS_trend = hpfilter(df['EXINUS'], lamb=1600)
EXINUS_trend.plot(figsize=(15,6)).autoscale(axis='x',tight=True)
• Pandas differencing
• SciPy signal
• HP filter
7
Chapter 1 Time-Series Characteristics
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")
df = pd.read_excel(r'\Data\India_Exchange_Rate_Dataset.xls',\
index_col=0,parse_dates=True)
diff = df.EXINUS.diff()
plt.figure(figsize=(15,6))
plt.plot(diff)
plt.title('Detrending using Differencing', fontsize=16)
plt.xlabel('Year')
plt.ylabel('EXINUS exchange rate')
plt.show()
8
Chapter 1 Time-Series Characteristics
import pandas as pd
import matplotlib.pyplot as plt
from scipy import signal
import warnings
warnings.filterwarnings("ignore")
df = pd.read_excel(r'\Data\India_Exchange_Rate_Dataset.xls',\
index_col=0,parse_dates=True)
detrended = signal.detrend(df.EXINUS.values)
plt.figure(figsize=(15,6))
plt.plot(detrended)
plt.xlabel('EXINUS')
9
Chapter 1 Time-Series Characteristics
plt.ylabel('Frequency')
plt.title('Detrending using Scipy Signal', fontsize=16)
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.filters.hp_filter import hpfilter
import warnings
warnings.filterwarnings("ignore")
df = pd.read_excel(r'\Data\India_Exchange_Rate_Dataset.xls',\
index_col=0,parse_dates=True)
10
Random documents with unrelated
content Scribd suggests to you:
VI
Wenn Evelyn etwas Heimliches tat, so geschah es, wo die Äste der
breiten Kastanie einen Saal bildeten, dessen Tapeten stumpfgrüne
Blätter waren, während von der Decke ein Dämmerlicht
herniederfloß, wie von Flammen, die durch feine grüne Seide
hindurchzitterten. Es war der siebente Ast in der Höhe. Er war
breiter als die anderen und gab mit dem Stamm als Rückenlehne
einen bequemen Platz. Bequem, wenn man dünn war, nicht allzu
groß und dichtes blondes Haar als Kissen hatte.
Dort saß sie nun jeden Tag, nach Tisch, wenn Agnes Elisabeth
noch im Haushalt zu tun hatte, Julie in ihrem Zimmer las und
Marianne in der Laube an ihrem Tagebuch schrieb. Marianne schrieb
nämlich seit einigen Wochen auf goldgeränderten Seiten Gefühle
nieder.
Hier war die Erde weit weg von ihr, und in dem Stückchen Himmel
da oben gab es weite Möglichkeiten, in die ihre Träume ahnungsvoll
hineingingen.
Wenn ihr Kleid von den angehockten Knien herabglitt, dann war es
wie der Spitzenschleier einer Fee oder die seidene Schleppe einer
Prinzessin. Vielleicht auch nichts davon, nur eine schöne Linie und
das Bewußtsein, daß sie ihr zugehörte.
Der grüne Saal war heute eine Halle mit Bogenfenstern und
Säulen, morgen ein Garten mit fremden Bäumen, die es nirgends
gab, und Blumen voll kühlen Dufts.
Und Schmetterlinge kamen, sie zu besuchen, Kavaliere in Seide
oder träumende Boten von Märchenufern.
Ganz, wie es ihr beliebte.
Doch seit acht Tagen lag zwischen den Ästen eingeklemmt da
oben ein Buch. Und wenn Evelyn dort saß, dann sah man nur etwas
Weißes, das sich zusammenkauerte, und in der Mitte — alle Linien
schienen da hineinzulaufen — dieses grüne Buch.
Das war Jens Peter Jakobsens »Frau Marie Grubbe«.
Da las sie nun von allen den seltsamen Dingen, die es in der Welt
gibt. Mit kühlem Grausen las sie davon.
Und zum ersten Male streckte sie ihre Hände nach des Lebens
Wirklichkeiten aus.
Und was das Heimliche betrifft, so hatte Julie ihr das Buch nicht
geben wollen, aber sie hatte es sich genommen.
VIII
Mitten in die Farben des Herbstes hinein, die sich zu Tode glühten,
kam ein Brief von Heinrich Craner, der Agnes Elisabeths Adresse
trug.
Sie saß im Garten, als er ihr gebracht wurde, nähte an einem
Kleide für Evelyn und dachte darüber nach, daß Marianne in letzter
Zeit so angegriffen aussah.
Die Naht wurde zu Ende gebracht und der Brief dann langsam
geöffnet. Craner schrieb:
»Wenn ich mir überlege, daß Sie mich innerhalb der letzten sieben
Jahre nur ein paar kurze Stunden gesehen haben, daß diese
Stunden ausgefüllt waren von geschäftlichen Besprechungen, die für
gegenseitiges persönliches Verstehen wenig Raum gaben, so
kommen mir Bedenken, ob ich diesen Brief schreiben darf.
Mache ich mir aber klar, daß Sie dem Leben stets mit offnen
Augen gegenübergestanden haben, daß Ihr Blick nicht getrübt
worden ist durch konventionelle Brillengläser und scharf geblieben
durch die klare Atmosphäre Ihres stillen selbstbewußten Lebens, daß
Ihre gerade Natur nur Ursprüngliches und Unmittelbares verlangen
kann, so weiß ich, daß ich diesen Brief schreiben muß. Also schreibe
ich ihn.
Was nun kommt, möchte von einer Empfindung sprechen. Ich
zweifle, ob es mir gelingen wird, ihr Ausdruck zu geben. Ich bin nicht
gewöhnt, von meinen Gefühlen zu reden, und es fällt mir in der
gegenwärtigen Lage doppelt schwer, da es mir bisher nicht gelungen
ist, festzustellen, ob Ihr Inneres auf dieselbe Tonart gestimmt ist wie
das meine.
Aber auch eine in dürftige Hülle gekleidete Empfindung werden
Sie erkennen, wenn sie nur überhaupt einen Wert für Sie hat.
Ich liebe Sie.
Darf ich Ihnen erklären, wie es dazu kam?
Ich habe in meinem Leben vielleicht mehr über mich nachgedacht,
als die meisten zu tun pflegen. Ich habe schon von Kind auf die
Gewohnheit gehabt, mich nicht mit allgemeinen Glückswerten
zufrieden zu geben, sondern mir auf eigne Faust mein bißchen Glück
zu erkämpfen.
Es ist mir gelungen. Nach mannigfachen Zickzackwegen natürlich,
die aber, wenn ich sie von mühsam erreichter Höhe nun
rückschauend betrachte, doch eine gerade Linie bilden.
Die Lebenserfahrung, die ich nach innerem Streit im
Studierzimmer, nach äußeren Kämpfen an Krankenbetten, in
Hospitälern und auf sonnenbrennenden Schlachtfeldern Südafrikas
gewinnen durfte, ist die: Glück heißt: Persönlichkeit sein und aus der
Fülle eigner Kraft andere glücklich machen. Ich darf sagen, daß ich
mir dies Glück zu eigen gemacht habe.
Aber nun will es mir nicht mehr genügen.
Seit einigen Monaten bin ich mir darüber klar geworden, daß eine
Sehnsucht in mir lebt, die schon jahrelang unbewußt geschlummert
hat. Es hat lange gedauert, bis ich wußte, was das Ziel dieser stillen
Sehnsucht ist. Jetzt weiß ich es!
Alle Menschen, denen ich bis heute äußerlich nähergestanden
habe, waren mir innerlich fremd. Aber ich brauche jemand, der mich
etwas angeht, der nach mir greift mit Liebe und mich festhält mit
Verstehen.
Harte Hände, die in mein Leben hineinfassen und es rütteln, und
doch auch weiche Hände, die es milde streicheln.
Als ich Sie vor vier Monaten verließ, wußte ich, daß Sie für mich
bedeuten können, was ich brauche. Das war zunächst eine kühle
Überlegung. Mit jedem Tage, den ich bei meiner Arbeit durchlebte,
wurde sie mehr und mehr verdrängt durch ein herzliches und inniges
Gefühl für Sie.
Ich komme zu Ihnen als ein Bittender, doch nicht um Opfer. Was
ich Ihnen geben kann, ist nur ein Leben voll Arbeit unter den
erschwerten äußeren Bedingungen eines ungünstigen Klimas. Arbeit,
aber vielleicht auch Ruhe, gewisse, fröhliche Ruhe, die nur die Arbeit
geben kann. Und Liebe! Keine amour, aber ein treues, ehrliches
Empfinden!
Ich bitte Sie nicht um eine schnelle Antwort! Ich werde am 29.
Oktober zu Ihnen kommen und mir meine Antwort selbst holen.
Heinrich Craner.«
Eine Weile sah Agnes Elisabeth regungslos vor sich hin. Vorerst
verstand sie nichts von diesem Brief; er traf sie plötzlich und
unerwartet; sie war erschrocken und unfähig, einen Gedanken zu
fassen. Langsam gingen ihre Augen über die vergilbten Rasenflächen
und den Wollstoff auf dem Tisch und blieben wieder auf dem Bogen
liegen. »Auch weiche Hände, die es milde streicheln ...« Plötzlich
wachte in ihrem Nacken ein Feuer auf, verbreitete sich rasch über
ihren Rücken, fuhr hinab bis in die Fußspitzen, loderte hinauf zum
Scheitel. Sie lehnte sich weit zurück, ließ die Hände herabsinken und
warf den Kopf nach hinten. Und dann fuhr die Erkenntnis durch sie
hindurch: Da war jemand, der hatte sie lieb!
Das packte sie jäh. Das ergriff sie wie ein Taumel. Sie sprang auf
und ging in den Garten. Unten am Wasser saß Evelyn, mitten im
Sonnenschein.
»Pass’ auf, ich kriege dich!« rief sie ihr zu.
Die Kleine war schnell auf den Beinen und lief über den Rasen.
Nun wurde es ein Tollen und Jagen, mit fliegenden Kleidern und
lautem Gejuchze. Evelyn rannte durch die Tannenallee zum Wasser
hinunter.
Agnes Elisabeth lief ihr nach, blieb aber plötzlich stehen und sah
sich um. Vor ihr stand die Masse einer Rotbuche, auf deren
blutenden Blättern mattes Gold schimmerte, dicht über Rasens Höhe
karmoisinrote Kugeln von Georginen, und etwas höher, lang und
schmal, weinrote Haselnußgerten. Dort drüben die kupferhelle
Freudigkeit breiter Ahornzweige, die sich lachend vor dunkle Tannen
drängte. Und ganz hinten, ein Spott auf des Herbstes Sterben: in
dürrem Gebüsch gleißendes Scharlachrot. Und dies alles jauchzte ihr
zu, schrie und jubelte.
Oh, sie hätte ihre Arme ausbreiten mögen nach diesen tausend
Flammen brennenden Rots, die eigens für sie entzündet waren. Und
die Flut des Sonnenlichts hätte sie trinken wollen, durstig, und
zitternd unter der Bürde ihres Glücks.
Eine Bürde war es ...! Wie sie weiterging, waren ihre Schritte
schwer, als müßten sie sich beugen, — wie heißes Gold rann das Blut
durch ihre Adern. Und irgendwo da drinnen war eine Last, die alle
Glieder müde machte.
Aber sie dachte nichts anderes, als daß sie diese Last tragen
dürfte, jetzt noch wie in einem Traum, und nun mit Gewißheit.
Mit Gewißheit ...!
Trotzdem freilich wußte sie noch nicht, was sie mit Craners Brief
anfangen sollte.
IX