Implementation of Auto Regression Model using Python
- Import necessary libraries
- Read the CSV file into a DataFrame
- Perform Augmented Dickey-Fuller test
- Split the data into training and testing sets.Fit an AutoRegressive (AR) model with 13 lags
- Plot Partial Autocorrelation Function (PACF) and Autocorrelation Function (ACF)
- Make predictions using the AR model.Compare the predictions with the test data
- Calculate Mean Squared Error (MSE).Plot the test data and predictions.
PYTHON import pandas as pd import numpy as np from matplotlib import pyplot from statsmodels.tsa.ar_model import AutoReg df=pd.read_csv("rainfall.csv") df X=df['temp'] X X.plot() from statsmodels.tsa.stattools import adfuller dtest=adfuller(X,autolag='AIC') print("ADF:",dtest[0]) print("P value:",dtest[1]) print("No. of lags:",dtest[2]) print("No. of observations used for ADF regression:",dtest[3]) X_train=X[:len(X)-15] X_test=X[len(X)-15:] AR_model=AutoReg(X_train,lags=13).fit() print(AR_model.summary()) from statsmodels.graphics.tsaplots import plot_pacf,plot_acf pacf=plot_pacf(X,lags=25) acf=plot_acf(X,lags=25) pred=AR_model.predict(start=len(X_train),end=len(X_train)+len(X_test)-1,dynamic=False) pred.plot() X_test pred import sklearn.metrics mse=sklearn.metrics.mean_squared_error(X_test,pred) mse**0.5 X_test.plot() pred.plot()
![image](https://private-user-images.githubusercontent.com/93427240/268486702-4cba8a77-c943-44e2-8415-caf21a6ee233.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMTk2MjYsIm5iZiI6MTcyMjAxOTMyNiwicGF0aCI6Ii85MzQyNzI0MC8yNjg0ODY3MDItNGNiYThhNzctYzk0My00NGUyLTg0MTUtY2FmMjFhNmVlMjMzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI2VDE4NDIwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdiZjhhN2Y5NTc0MGNlY2QzNzFmNGEwNTg2MDA4NTVmZjI4MGIzMjBmOWZkMDUwYmE0NGU1ODhlODU1YTJmYTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HVM8ckJKQ6vvjAXm1LfWT2zLw2gjK4KnnbKHOU1qisA)
![image](https://private-user-images.githubusercontent.com/93427240/268486829-8a24c7ac-75b2-4f7e-ac8e-28de4f0e30ed.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMTk2MjYsIm5iZiI6MTcyMjAxOTMyNiwicGF0aCI6Ii85MzQyNzI0MC8yNjg0ODY4MjktOGEyNGM3YWMtNzViMi00ZjdlLWFjOGUtMjhkZTRmMGUzMGVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI2VDE4NDIwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU2ZTBkODhjYmViN2FjYzE3NjcyNzU4YTU2OTdkOWVlZGFlOGE1ODQ1NGQzMzBhYmY5NjI5OWI3NmE3NTgyZTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7i1EjBSUgZ6mvwbE9gbXqqF_bJgxbojncIP3NlnkiNc)
![image](https://private-user-images.githubusercontent.com/93427240/268486743-47783a38-7da2-4e96-806c-95fbf7af1083.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMTk2MjYsIm5iZiI6MTcyMjAxOTMyNiwicGF0aCI6Ii85MzQyNzI0MC8yNjg0ODY3NDMtNDc3ODNhMzgtN2RhMi00ZTk2LTgwNmMtOTVmYmY3YWYxMDgzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI2VDE4NDIwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEyOGM0N2I4NzVlODM1ODRmMmNhMTgyNDUwMDlmOWMxYzYyOGFlM2I0YTBlZjY0OGIzYmUxYTU5M2Q2OTg4OTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.cZCLNgGDnZFyu_o4cTxiuHXoo4DTACtIsljHoylH7cQ)
![image](https://private-user-images.githubusercontent.com/93427240/268486796-a923d3c0-c41b-423c-b033-ef3c05733a31.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMTk2MjYsIm5iZiI6MTcyMjAxOTMyNiwicGF0aCI6Ii85MzQyNzI0MC8yNjg0ODY3OTYtYTkyM2QzYzAtYzQxYi00MjNjLWIwMzMtZWYzYzA1NzMzYTMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI2VDE4NDIwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMxZjg2OWZiYTAxMGZlMGJiNTkzOTAzNjk1M2ZkOWRlMWZhZjhmZGE5Njc1MzYzYzdlYjhmMzg0ZDljOWE4YjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8_U1SjBBsPpQKyC6k-2rlsszghgu11q24X3qgztKkO8)
Thus we have successfully implemented the auto regression function using above mentioned program.