我有一個關于斜率值的問題,我的計算結果如下:
我有一個關于斜率值的問題,我的計算結果如下:
import pandas as pd
import yfinance as yf
import matplotlib.pyplot as plt
import datetime as dt
import numpy as np
df = yf.download('aapl'/span>, '2015-01-01'/span>, '2021-01-01'/span>)
df.rename(columns = {'Adj Close' : 'Adj_close'}, inplace= True)
x1 = pd.Timestamp('2019-01-02')
x2 = df.index[-1]
y1 = df[df.index == x1].Adj_close[0]
y2 = df[df.index == x2].Adj_close[0]
斜率 = (y2 - y1)/ (x2 - x1).天數
angle = round(np.rad2deg(np.arctan2(y2 - y1, (x2 - x1).day)), 1)
fig, ax1 = plt.subplots(figsize= (15, 6)
ax1.grid(True, linestyle= ' :')
ax1.set_zorder(1)
ax1.set_frame_on(False)
ax1.plot(df.index, df.Adj_close, c= 'k'/span>, lw= 0.8)
ax1.plot([x1, x2], [y1, y2], c= 'k')
ax1.set_xlim(df.index[0], df.index[-1] )
plt.show()
它回傳斜率的角度值為7.3度。從圖表上看,這看起來并不真實。
它看起來接近于45度。這里有什么問題嗎?
uj5u.com熱心網友回復:
OP中的實作不是確定或繪制線性模型的正確方法。因此,關于確定繪制直線的角度的問題被繞過了,并且顯示了繪制回歸線的更嚴格的方法。
通過將日期時間的日期轉換為序數,可以添加一個回歸線。該模型可以用
sklearn計算,或者用seaborn.regplot添加到圖中,如下所示。- 繪制全部資料。
計算線性模型
使用
。
斜率的角度
這是一個軸的長寬比的工件,對于x和y來說是不相等的。當長寬比相等時,請看斜率是7.0度。
x = x2 - x1
y = y2[0][0] - y1[0] [0]
斜率 = y / x
print(round(slope, 7) == round(模型。 coef_[0][0], 7)
[out]:
True)
angle = round(np.rad2deg(np.arctan2(y, x)), 1)
print(angle)
[out]:
7.0 7.0
# given the existing plot[/span]。
ax1 = df. plot(y='Adj Close', c='k', figsize=(15, 6), grid=True, legend=False,
title='調整后的收盤價與2019-01-02的回歸線'/span>)
ax1. plot([x1, x2], [y1[0][0], y2[0][0]]。label='線性模型', c='洋紅色')
# make the aspect equal[/span]。
ax1.set_aspect('equal'/span>, adjustable='box')
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/312394.html
標籤:
下一篇:統一,安卓資料檔案夾為空



