Advertisement
Guest User

Untitled

a guest
Jul 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.25 KB | None | 0 0
  1. %matplotlib notebook
  2. import pandas as pd
  3. import numpy as np
  4. import requests
  5. from io import StringIO
  6. import matplotlib.pyplot as plt
  7. import statsmodels.api as sm
  8. import seaborn as sns
  9. from datetime import datetime
  10.  
  11. url = 'https://www.metoffice.gov.uk/hadobs/hadcrut4/data/current/time_series/HadCRUT.4.6.0.0.monthly_ns_avg.txt'
  12. header = {
  13.   "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36",
  14.   "X-Requested-With": "XMLHttpRequest"
  15. }
  16. r = requests.get(url, headers=header)
  17.  
  18. #https://www.metoffice.gov.uk/hadobs/hadcrut4/data/current/series_format.html
  19. df = pd.read_fwf(StringIO(r.text), header=None, names=['date', 'median', 'cib-', 'cib+', 'cim-', 'cim+', 'cic-', 'cic+', 'cibm-', 'cibm+', 'ci-', 'ci+'])
  20. df['date'] = df['date'].apply(lambda x: datetime.strptime(x, '%Y/%m'))
  21. df['month_counter'] = df.index
  22. df.set_index('date', inplace=True)
  23.  
  24. ols_model = sm.regression.linear_model.OLS(df['median'], sm.add_constant(df['month_counter']))
  25. r = ols_model.fit()
  26. r.summary2()
  27.  
  28. arima_model = sm.tsa.ARIMA(df['median'], order=(1, 0, 1))
  29. r = arima_model.fit(trend='nc')
  30. r.summary2()
  31.  
  32. arima_model = sm.tsa.ARIMA(df['median'], order=(1, 0, 1))
  33. r = arima_model.fit(trend='c')
  34. r.summary2()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement