IniziaInizia gratis

R-quadro

In precedenza abbiamo espresso un’altra misura di bontà, R-quadro, in termini di rapporto tra RSS e VAR. Moltiplicando numeratore e denominatore del rapporto per 1/n, la forma numerica equivalente può essere vista come il rapporto tra la varianza dei residui e la varianza della tendenza lineare nei dati che stiamo modellando. Questo si può interpretare come una misura di quanta parte della varianza nei tuoi dati viene "spiegata" dal modello, rispetto alla dispersione o varianza dei residui (dopo aver rimosso la tendenza lineare).

Qui abbiamo già caricato i dati x_data, y_data e le previsioni del modello y_model per il modello a miglior adattamento; il tuo obiettivo è calcolare la misura R-quadro per quantificare quanto questo modello lineare spiega la variazione nei dati.

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola i residuals, sottraendo y_data da y_model, e le deviations, sottraendo y_data dalla np.mean() di y_data.
  • Calcola la varianza dei residuals e la varianza delle deviations, usando np.mean() e np.square() per entrambe.
  • Calcola r_squared come 1 meno il rapporto var_residuals / var_deviations e stampa il risultato.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Compute the residuals and the deviations
residuals = ____ - y_data
deviations = np.____(____) - y_data

# Compute the variance of the residuals and deviations
var_residuals = np.____(np.____(____))
var_deviations = np.____(np.____(____))

# Compute r_squared as 1 - the ratio of RSS/Variance
r_squared = 1 - (____ / ____)
print('R-squared is {:0.2f}'.format(____))
Modifica ed esegui il codice