Differencing and Log Transformation

Removing Variability Using Logarithmic Transformation

Since the data shows changing variance over time, the first thing we will do is stabilize the variance by applying log transformation using the log() function. The resulting series will be a linear time series.

> sp_linear<-log(sp_ts)
> plot.ts(sp_linear, main="Daily Stock Prices (log)", ylab="Price", col=4)

Removing Linear Trend

We will now perform the first difference transformation [z(t) - z(t-1)] to our series to remove the linear trend.

> sp_linear_diff <- diff(sp_linear)
> plot.ts(sp_linear_diff, main="Daily Stock Prices (log)", ylab="Price", col=4)
>

Removing Seasonal Differencing

Let's take another example to understand how we can use the diff() function to remove seasonal differencing from data. We will use the John Deer's Quarterly earnings data we used earlier as it exhibits seasonality.

> par(mfrow = c(1,2))
> de_earnings_diff <- diff(johndeere_earnings,lag=4)
> plot.ts(johndeere_earnings, main="Earnings (Quarterly)")
> plot.ts(de_earnings_diff, main="Earnings (Differenced, lag=4)")

The chart on the left shows the original earnings. The chart on the right shows the difference in earnings with a lag of 4.

Related Downloads

Finance Train Premium
Accelerate your finance career with cutting-edge data skills.
Join Finance Train Premium for unlimited access to a growing library of ebooks, projects and code examples covering financial modeling, data analysis, data science, machine learning, algorithmic trading strategies, and more applied to real-world finance scenarios.
I WANT TO JOIN
JOIN 30,000 DATA PROFESSIONALS

Free Guides - Getting Started with R and Python

Enter your name and email address below and we will email you the guides for R programming and Python.

Saylient AI Logo

Accelerate your finance career with cutting-edge data skills.

Join Finance Train Premium for unlimited access to a growing library of ebooks, projects and code examples covering financial modeling, data analysis, data science, machine learning, algorithmic trading strategies, and more applied to real-world finance scenarios.