Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

6/16/23, 8:44 PM Untitled10.

ipynb - Colaboratory

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

import warnings
warnings.filterwarnings('ignore')

from statsmodels.tsa.stattools import adfuller


from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import acf, pacf
from statsmodels.tsa.arima_model import ARIMA

airpass = pd.read_csv('AirPasse.csv')

airpass.head(5)

Month #Passengers

0 1949-01 112

1 1949-02 118

2 1949-03 132

3 1949-04 129

4 1949-05 121

airpass.tail(5)

Month #Passengers

139 1960-08 606

140 1960-09 508

141 1960-10 461

142 1960-11 390

143 1960-12 432

airpass.rename(columns={'#Passengers':'Passengers'},inplace=True)

airpass.head()

Month Passengers

0 1949-01 112

1 1949-02 118

2 1949-03 132

3 1949-04 129

4 1949-05 121

airpass.shape

(144, 2)

from datetime import datetime


airpass['Month']=pd.to_datetime(airpass['Month'],infer_datetime_format=True)

airpassind = airpass.set_index('Month',inplace=False)

airpass_log = np.log(airpassind)

https://colab.research.google.com/drive/1fLUYG8lu1cFA0PLuGYw7BgYphaCK_yWc#scrollTo=8rtnsyoO2thv&uniqifier=1&printMode=true 1/3
6/16/23, 8:44 PM Untitled10.ipynb - Colaboratory
rollmean_log = airpass_log.rolling(window=12).mean()
rollstd_log = airpass_log.rolling(window=12).std()

airpass_new = airpass_log - rollmean_log

airpass_new.head()

Passengers

Month

1949-01-01 NaN

1949-02-01 NaN

1949-03-01 NaN

1949-04-01 NaN

1949-05-01 NaN

airpass_new.dropna(inplace=True)

airpass_new.head()

Passengers

Month

1949-12-01 -0.065494

1950-01-01 -0.093449

1950-02-01 -0.007566

1950-03-01 0.099416

1950-04-01 0 052142

airpass_log_diff = airpass_log - airpass_log.shift()


plt.plot(airpass_log_diff)

https://colab.research.google.com/drive/1fLUYG8lu1cFA0PLuGYw7BgYphaCK_yWc#scrollTo=8rtnsyoO2thv&uniqifier=1&printMode=true 2/3
6/16/23, 8:44 PM Untitled10.ipynb - Colaboratory

[<matplotlib.lines.Line2D at 0x7f2e3a18fca0>]

decomposition = seasonal_decompose(airpass_log)

trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid

airpass_decompose = residual
airpass_decompose.dropna(inplace=True)

rollmean_decompose = airpass_decompose.rolling(window=12).mean()
rollstd_decompose = airpass_decompose.rolling(window=12).std()

from statsmodels.tsa.arima_model import ARIMA


model1 = ARIMA(airpass_log, order=(2,1,0))
results_AR = model1.fit(disp=-1)
plt.plot(airpass_log_diff)
plt.plot(results_AR.fittedvalues, color='red')
plt.title('RSS: %.4f'%sum((results_AR.fittedvalues - airpass_log_diff['Passengers'])**2))
print('Plotting AR model')

Colab paid products - Cancel contracts here


check 0s completed at 8:44 PM

https://colab.research.google.com/drive/1fLUYG8lu1cFA0PLuGYw7BgYphaCK_yWc#scrollTo=8rtnsyoO2thv&uniqifier=1&printMode=true 3/3

You might also like