Как найти линию регрессии в промежуток времени, где происходит линейная эволюция? - PullRequest
0 голосов
/ 14 мая 2018

Вот мой код. Я видел похожие ответы, но это немного отличается, так как я не вызываю свои данные из интернета и создал CSV-файл. Это так же, как Как я могу нарисовать линию линейной регрессии на этом графике? ?

Заранее спасибо.

import datetime as dt # library for dates and time
import matplotlib.pyplot as plt # plots library
import pandas_datareader.data as web
import pandas as pd
import statsmodels.graphics.tsaplots as stplt
from statsmodels.tsa.arima_model import ARIMA
from pandas import DataFrame
from sklearn.metrics import mean_squared_error
import numpy as np
import statistics as ics

plt.close('all')


def parser(x):
    return pd.datetime.strptime(x, '%m/%d/%Y')
#Read the *.csv file

amazon = pd.read_csv('AMZN.csv', parse_dates=[1], index_col=1, 
                    squeeze=True, date_parser=parser)
amazon.Close.plot()

print(amazon.describe())

print(amazon['Volume'].var())

enter image description here

1 Ответ

0 голосов
/ 14 мая 2018

Я бы порекомендовал вам использовать линейную регрессию из scikit learn.Код выглядит примерно так (это просто псевдокод):

from sklearn import linear_model

regr = linear_model.LinearRegression() #create a linear regression object

regr.fit(your_x_data, your_y_data) #fit your data (create the linear regression parameters) 

your_y_pred = regr.predict(your_x_data)
 #create your linear function

 plt.plot(your_x_data, your_y_pred , color='blue', linewidth=3) #plot the linear function`
...