具有多个输出的时间序列的线性回归

时间:2017-10-18 22:39:03

标签: python pandas regression linear

我一直在与美国NOAA(国家海洋和大气管理局)全球平均海平面数据集合作。有4颗卫星提供信息,因此,有4列和年列。这些卫星在特定时间间隔内提供信息。例如;卫星Posedion在1992 - 2006年间工作,Jason-1在2003 - 2014年间工作。当然,有很多NaN值,其中Jason-1不服务但是Poseidon。

我想要的是绘制线性线以计算海平面上升,这就是全部。我希望这四列适合年份列。无法破解..

Here is my code;

import numpy as np
import pandas as pd
from scipy import stats
from sklearn import linear_model
from matplotlib import pyplot as plt
import pylab
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression

Atlantic = pd.read_csv('C:\\Atlantic_Free2.csv', error_bad_lines=False)

Atlantic = Atlantic[~np.isnan(Atlantic)]

Poseidon = Atlantic['Poseidon']
Jason1 = Atlantic['Jason1']
Jason2 = Atlantic['Jason2']
Jason3 = Atlantic['Jason3']


plt.figure(figsize=(20,10))

colors = ["blue", "red", "green", "purple"]
texts = ["Poseidon", "Jason1", "Jason2", "Jason3"]
patches = [ plt.plot([],[], marker="o", ms=10, ls="", mec=None, color=colors[i], 
            label="{:s}".format(texts[i]) )[0]  for i in range(len(texts)) ]
plt.legend(handles=patches, loc='upper left', ncol=1, facecolor="grey", numpoints=1 )


plt.plot(Atlantic, Poseidon , 'ro', color='blue')

plt.plot(Atlantic, Jason1 , 'ro', color='red')

plt.plot(Atlantic, Jason2 , 'ro', color='green')

plt.plot(Atlantic, Jason3 , 'ro', color='purple')




plt.ylabel('Change in mean sea level [mm]', fontsize=20)
plt.xlabel('Years', fontsize=20)
plt.title('Atlantic Ocean - Mean Sea Level', fontsize=20)

plt.axis([1992, 2018, -25, 80])

plt.grid(True)
plt.plot()
plt.show()

上面代码的输出,添加到下面。

enter image description here

0 个答案:

没有答案