Scienza dei dati - Pendenza e intercettazione


Pendenza e Intercettazione

Ora spiegheremo come abbiamo trovato la pendenza e l'intercetta della nostra funzione:

f(x) = 2x + 80

L'immagine sotto indica la pendenza, che indica quanto è ripida la linea, e l'intercetta, che è il valore di y, quando x = 0 (il punto in cui la linea diagonale incrocia l'asse verticale). La linea rossa è la continuazione della linea blu della pagina precedente.

Funzione lineare

Trova il pendio

La pendenza è definita come la quantità di calorie bruciate aumenta, se l'impulso medio aumenta di uno. Ci dice quanto sia "ripida" la linea diagonale.

Possiamo trovare la pendenza usando la differenza proporzionale di due punti dal grafico.

  • Se l'impulso medio è 80, il consumo calorico è 240
  • Se l'impulso medio è 90, il consumo calorico è 260

Vediamo che se l'impulso medio aumenta di 10, il consumo calorico aumenta di 20.

Slope = 20/10 = 2

La pendenza è 2.

Matematicamente, la pendenza è definita come:

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

f(x2) = Seconda osservazione di Calorie_Burgia = 260
f(x1) = Prima osservazione di Calorie_Brucia = 240
x2 = Seconda osservazione di Average_Pulse = 90
x1 = Prima osservazione di Average_Pulse = 80

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

Sii coerente per definire le osservazioni nell'ordine corretto! In caso contrario, la previsione non sarà corretta!

Usa Python per trovare la pendenza

Calcola la pendenza con il seguente codice:

Esempio

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

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

Trova l'intercettazione

L'intercettazione viene utilizzata per ottimizzare la capacità delle funzioni di prevedere Calorie_Burage.

L'intercetta è dove la linea diagonale incrocia l'asse y, se fosse completamente disegnata.

L'intercetta è il valore di y, quando x = 0.

Qui vediamo che se l'impulso medio (x) è zero, il consumo calorico (y) è 80.

Quindi, l'intercettazione è 80.

A volte, l'intercettazione ha un significato pratico. A volte no.

Ha senso che l'impulso medio sia zero?

No, saresti morto e di certo non bruceresti calorie.

Tuttavia, è necessario includere l'intercettazione per completare la capacità della funzione matematica di prevedere correttamente il consumo di calorie.

Altri esempi in cui l'intercetta di una funzione matematica può avere un significato pratico:

  • Prevedere le entrate del prossimo anno utilizzando le spese di marketing (quante entrate avremo il prossimo anno, se le spese di marketing sono zero?). È probabile che un'azienda abbia ancora delle entrate anche se non spende soldi per il marketing.
  • Consumo di carburante con la velocità (quanto carburante utilizziamo se la velocità è uguale a 0 mph?). Un'auto che utilizza benzina utilizzerà comunque carburante quando è inattiva.


Trova la pendenza e intercetta usando Python

La np.polyfit()funzione restituisce la pendenza e l'intercetta.

Se procediamo con il codice seguente, possiamo sia ottenere la pendenza che l'intercettazione dalla funzione.

Esempio

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)

Esempio spiegato:

  • Isolare le variabili Average_Pulse (x) e Calorie_Burage (y) da health_data.
  • Chiama la funzione np.polyfit().
  • L'ultimo parametro della funzione specifica il grado della funzione, che in questo caso è "1".

Suggerimento: funzioni lineari = funzione 1.grado. Nel nostro esempio, la funzione è lineare, che è in 1.degree. Ciò significa che tutti i coefficienti (i numeri) sono nella potenza di uno.

Abbiamo ora calcolato la pendenza (2) e l'intercetta (80). Possiamo scrivere la funzione matematica come segue:

Prevedi Calorie_Burage usando un'espressione matematica:

f(x) = 2x + 80

Compito:

Ora, vogliamo prevedere il consumo calorico se l'impulso medio è 135.

Ricorda che l'intercettazione è una costante. Una costante è un numero che non cambia.

Possiamo ora sostituire l'input x con 135:

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

Se l'impulso medio è 135, il consumo calorico è 350.


Definisci la funzione matematica in Python

Ecco la stessa identica funzione matematica, ma in Python. La funzione restituisce 2*x + 80, con x come input:

Esempio

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

print (my_function(135))

Prova a sostituire x con 140 e 150.


Traccia un nuovo grafico in Python

Qui, tracciamo lo stesso grafico di prima, ma formattiamo un po' l'asse.

Il valore massimo dell'asse y è ora 400 e per l'asse x è 150:

Esempio

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()

Esempio spiegato

  • Importa il modulo pyplot della libreria matplotlib
  • Traccia i dati da Average_Pulse contro Calorie_Burage
  • kind='line'ci dice che tipo di trama vogliamo. Qui, vogliamo avere una linea retta
  • plt.ylim() e plt.xlim() ci dicono su quale valore vogliamo che l'asse inizi e si fermi.
  • plt.show() ci mostra l'output