Un grande magazzino che vende il prodotto Q per esigenze di pianificazione vuole individuare una funzione che approssimi il numero di Q venduti complessivamente (anche da altri) in funzione del tempo. Dispone dei dati seguenti, relativi alle vendite complessive di Q in particolari giorni, dove il numero di Q è espresso in centinaia:
giorni  020406080100120
n. di Q    704  550  518   402  391   327    312  
Cerca una eventuale funzione per approssimare i dati e, se possibile, usala per stimare quanti Q sono stati complessivamente venduti l'85º giorno e quanti saranno venduti al 180º giorno.

Non ha molto senso affrontare con tecniche statistiche questo problema. Vediamo il perché.
••• Facciamo, inizialmente, calcoli e rappresentazioni grafiche con R (vedi).
Potremmo pensare di interpolare i dati mediante usa spline cubica (vedi curve approssimanti; sotto, (a), le istruzioni):

Potremmo pensare di approssimarli mediante una retta di regressione (vedi Correlazione tra variabili casuali; sotto, (b), le istruzioni):

In questo caso possiamo usare anche o, per esempio, di approssimarli mediante un polinomio di regressione di secondo grado (vedi Correlazione tra variabili casuali; sotto, (c), le istruzioni):

Bastano questi esempi per rendersi conto che è minimamente significativo ricorrere in casi come questo a strumenti matematici così raffinati:
abbiamo dati certi, ma non ha molto senso ricorrere ad una interpolazione nel caso di dati come questi, né per stimare i valori di "y" per valori di "x" minori di 120, né per stimarli per valori di "x" maggiori di 120 (per x=180 si avrebbe y=1710!);
l'approssimazione mediante una regressione lineare o polinomiale di secondo grado, come evidenziato dai grafici, danno luogo ciascuna a valori molto diversi;
ha senso solo stimare, con un po' di buon senso, in circa 37000 il numero dei prodotti vednuti il giorno 85º.

••• Per lo studio dei polimoni di regressione si possono usare anche questi script online e per fare i grafici questi altri:



vedi

••• Possiamo anche usare online www.wolframalpha.com. Vedi qui.
linear fit {(0,704), (20,550), (40,518), (60,402), (80,391),(100,327),(120,312) }
      645.107 - 3.12321 x
quadratic fit {(0,704), (20,550), (40,518), (60,402), (80,391),(100,327),(120,312) }
      0.0221726 x^2 - 5.78393 x + 689.452
plot y=645.107 - 3.12321 x, y=0.0221726 x^2 - 5.78393 x + 689.452, x=0..200


 

(a)

x = c(  0, 20, 40, 60, 80,100,120)
y = c(704,550,518,402,391,327,312)
range(x); range(y)
#  0 120   312 704
# Ricavo la spline cubica, e ne stimo il range tra 0 e 180
SF = splinefun(x,y); RANGE0(SF, 0,180)
# "~ min F(min)   Max F(Max)   mFMF[1:4] = "
#  112.9793  302.8431  180.0000 1710.3206
BF=4; HF=2.5; Plane(0,185, 0,1750); POINT(x,y, "brown")
graph2(SF, 0,185, "seagreen")
xx = c(85,180); SF(xx); point0(xx,SF(xx), "brown")
#  381.036  1710.321

(b)

regression1(x,y)
# -3.123 * x + 645.1
f = function(x) -3.123 * x + 645.1
Plane(0,185, 0,750); POINT(x,y, "brown")
f(xx); point0(xx,f(xx), "brown")
# 379.645  82.960

(c)

regression2(x,y)
# 0.0222 * x^2 + -5.78 * x + 689 
g = function(x) 0.0222 * x^2 + -5.78 * x + 689; RANGE0(g, 0,180)
# "~ min F(min)   Max F(Max)   mFMF[1:4] = "
# 130.1890 312.7793   0.0000 689.0000
Plane(0,185, 0,700); POINT(x,y, "brown"); graph2(g, 0,185, "seagreen")
g(xx)
# 358.095 367.880
point0(xx,g(xx), "brown")