Analiza danych — nachylenie i przecięcie


Nachylenie i przechwycenie

Teraz wyjaśnimy, jak znaleźliśmy nachylenie i przecięcie naszej funkcji:

f(x) = 2x + 80

Poniższy rysunek wskazuje nachylenie — które wskazuje, jak stroma jest linia, oraz przecięcie — które jest wartością y, gdy x = 0 (punkt, w którym ukośna linia przecina oś pionową). Czerwona linia jest kontynuacją niebieskiej linii z poprzedniej strony.

Funkcja liniowa

Znajdź stok

Nachylenie jest definiowane jako wzrost spalania kalorii, jeśli średni puls wzrasta o jeden. Mówi nam, jak „stroma” jest linia ukośna.

Nachylenie możemy znaleźć, używając proporcjonalnej różnicy dwóch punktów z wykresu.

  • Jeśli średni puls wynosi 80, spalanie kalorii wynosi 240
  • Jeśli średni puls wynosi 90, spalanie kalorii wynosi 260

Widzimy, że jeśli średni puls wzrasta o 10, spalanie kalorii wzrasta o 20.

Slope = 20/10 = 2

Nachylenie wynosi 2.

Matematycznie nachylenie jest zdefiniowane jako:

Slope = f(x2) - f(x1) / x2-x1

f(x2) = Druga obserwacja spalonych_kalorii = 260
f(x1) = Pierwsza obserwacja spalonych_kalorii = 240
x2 = Druga obserwacja spalonych_kalorii = 90
x1 = Pierwsza obserwacja spalonych_kalorii = 80

Slope = (260-240) / (90 - 80) = 2

Bądź konsekwentny, aby zdefiniować obserwacje we właściwej kolejności! Jeśli nie, prognoza nie będzie poprawna!

Użyj Pythona, aby znaleźć zbocze

Oblicz nachylenie za pomocą następującego kodu:

Przykład

def slope(x1, y1, x2, y2):
  s = (y2-y1)/(x2-x1)
  return s

print (slope(80,240,90,260))

Znajdź przechwycenie

Punkt przecięcia służy do dostrajania zdolności funkcji do przewidywania spalonych kalorii.

Punkt przecięcia to miejsce, w którym linia ukośna przecina oś y, jeśli została w pełni narysowana.

Punkt przecięcia to wartość y, gdy x = 0.

Tutaj widzimy, że jeśli średni impuls (x) wynosi zero, to spalanie kalorii (y) wynosi 80.

Więc przecięcie to 80.

Czasami przechwycenie ma praktyczne znaczenie. Czasami nie.

Czy to ma sens, że średni puls wynosi zero?

Nie, byłbyś martwy i na pewno nie spaliłbyś żadnych kalorii.

Jednak musimy uwzględnić wyraz wolny, aby uzupełnić zdolność funkcji matematycznej do prawidłowego przewidywania Calorie_Burnage.

Inne przykłady, w których przecięcie funkcji matematycznej może mieć praktyczne znaczenie:

  • Przewidywanie przychodów w kolejnych latach za pomocą wydatków marketingowych (Ile przychodów będziemy mieli w przyszłym roku, jeśli wydatki marketingowe wyniosą zero?). Można przypuszczać, że firma nadal będzie miała pewne przychody, nawet jeśli nie będzie wydawać pieniędzy na marketing.
  • Zużycie paliwa z prędkością (Ile paliwa zużywamy, jeśli prędkość jest równa 0 mph?). Samochód, który używa benzyny, będzie nadal zużywał paliwo, gdy jest na biegu jałowym.


Znajdź nachylenie i przechwyć za pomocą Pythona

Funkcja np.polyfit()zwraca nachylenie i przecięcie.

Jeśli będziemy postępować z następującym kodem, możemy zarówno uzyskać nachylenie, jak i przecięcie z funkcji.

Przykład

import pandas as pd
import numpy as np

health_data = pd.read_csv("data.csv", header=0, sep=",")

x = health_data["Average_Pulse"]
y = health_data["Calorie_Burnage"]
slope_intercept = np.polyfit(x,y,1)

print(slope_intercept)

Przykład wyjaśniony:

  • Odizoluj zmienne Average_Pulse (x) i Calorie_Burnage (y) od health_data.
  • Wywołaj funkcję np.polyfit().
  • Ostatni parametr funkcji określa stopień funkcji, który w tym przypadku wynosi „1”.

Wskazówka: funkcje liniowe = funkcja 1.stopnia. W naszym przykładzie funkcja jest liniowa, czyli w 1 stopniu. Oznacza to, że wszystkie współczynniki (liczby) są potęgą jedności.

Obliczyliśmy teraz nachylenie (2) i punkt przecięcia (80). Możemy zapisać funkcję matematyczną w następujący sposób:

Przewiduj spalanie kalorii, używając wyrażenia matematycznego:

f(x) = 2x + 80

Zadanie:

Teraz chcemy przewidzieć spalanie kalorii, jeśli średni puls wynosi 135.

Pamiętaj, że przechwycenie jest stałą. Stała to liczba, która się nie zmienia.

Możemy teraz zamienić wejście x na 135:

f(135) = 2 * 135 + 80 = 350

Jeśli średni puls wynosi 135, spalanie kalorii wynosi 350.


Zdefiniuj funkcję matematyczną w Pythonie

Oto dokładnie ta sama funkcja matematyczna, ale w Pythonie. Funkcja zwraca 2*x + 80, gdzie x jako dane wejściowe:

Przykład

def my_function(x):
  return 2*x + 80

print (my_function(135))

Spróbuj zamienić x na 140 i 150.


Narysuj nowy wykres w Pythonie

Tutaj rysujemy ten sam wykres co wcześniej, ale trochę sformatowaliśmy oś.

Maksymalna wartość osi y wynosi teraz 400, a dla osi x 150:

Przykład

import matplotlib.pyplot as plt

health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='line'),
plt.ylim(ymin=0, ymax=400)
plt.xlim(xmin=0, xmax=150)

plt.show()

Przykład wyjaśniony

  • Zaimportuj moduł pyplot z biblioteki matplotlib
  • Wykreśl dane z Average_Pulse względem Calorie_Burnage
  • kind='line'mówi nam, jaki rodzaj fabuły chcemy. Tutaj chcemy mieć linię prostą
  • plt.ylim() i plt.xlim() mówią nam, na jakiej wartości chcemy, aby oś zaczęła się i zatrzymała.
  • plt.show() pokazuje nam dane wyjściowe