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

2024-05-19 21:37:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在使用美国国家海洋和大气管理局的全球平均海平面数据集。有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


Tags: fromimportroplotmatplotlibaspltcolor