34 KiB
34 KiB
Algorytm najszybszego spadku dla regresji wielomianowej.
Zakładamy, że dysponujemy zbiorem składającym się z dwóch cech (x i y). Modelujemy zależność y od x za pomocą funkcji wielomianowej. Celem projektu jest implementacja metody najszybszego spadku dla tego problemu. Zakładamy kwadratową funkcję straty. Implementacja powinna umożliwiać podanie stopnia wielomianu, który ma być użyty do modelowania. Implementacja powinna zwracać wektor oszacowanych parametrów oraz pokazywać wizualnie zmiany wartości funkcji straty wraz z postępem uczenia.
Zbiór danych: https://www.kaggle.com/varpit94/apple-stock-data-updated-till-22jun2021?select=AAPL.csv This dataset provides historical data of APPLE INC. stock (AAPL). The data is available at a daily level. Currency is USD.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('AAPL.csv')
X = df['Low']
Y = df['Volume']
display(df.head(5))
Date | Open | High | Low | Close | Adj Close | Volume | |
---|---|---|---|---|---|---|---|
0 | 1980-12-12 | 0.128348 | 0.128906 | 0.128348 | 0.128348 | 0.100751 | 469033600 |
1 | 1980-12-15 | 0.122210 | 0.122210 | 0.121652 | 0.121652 | 0.095495 | 175884800 |
2 | 1980-12-16 | 0.113281 | 0.113281 | 0.112723 | 0.112723 | 0.088485 | 105728000 |
3 | 1980-12-17 | 0.115513 | 0.116071 | 0.115513 | 0.115513 | 0.090676 | 86441600 |
4 | 1980-12-18 | 0.118862 | 0.119420 | 0.118862 | 0.118862 | 0.093304 | 73449600 |
fig = plt.figure(figsize=(20,10))
chart = fig.add_subplot()
chart.plot(X,Y ,"go")
plt.show()