Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %matplotlib notebook
- import pandas as pd
- import numpy as np
- import requests
- from io import StringIO
- import matplotlib.pyplot as plt
- import statsmodels.api as sm
- import seaborn as sns
- from datetime import datetime
- url = 'https://www.metoffice.gov.uk/hadobs/hadcrut4/data/current/time_series/HadCRUT.4.6.0.0.monthly_ns_avg.txt'
- header = {
- "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36",
- "X-Requested-With": "XMLHttpRequest"
- }
- r = requests.get(url, headers=header)
- #https://www.metoffice.gov.uk/hadobs/hadcrut4/data/current/series_format.html
- df = pd.read_fwf(StringIO(r.text), header=None, names=['date', 'median', 'cib-', 'cib+', 'cim-', 'cim+', 'cic-', 'cic+', 'cibm-', 'cibm+', 'ci-', 'ci+'])
- df['date'] = df['date'].apply(lambda x: datetime.strptime(x, '%Y/%m'))
- df['month_counter'] = df.index
- df.set_index('date', inplace=True)
- ols_model = sm.regression.linear_model.OLS(df['median'], sm.add_constant(df['month_counter']))
- r = ols_model.fit()
- r.summary2()
- arima_model = sm.tsa.ARIMA(df['median'], order=(1, 0, 1))
- r = arima_model.fit(trend='nc')
- r.summary2()
- arima_model = sm.tsa.ARIMA(df['median'], order=(1, 0, 1))
- r = arima_model.fit(trend='c')
- r.summary2()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement