Regressione ("Fit") Lineare o Parabolica, con calcoli svolti passo passo.

In questa sezione partiremo da due vettori xdata1, ydata1 di dati empirici, e calcoleremo i coefficienti della retta e della parabola che meglio approssimano i dati (che rendono minima la somma dei quadrati degli scarti). Supporremo che il vettore ydata1 sia fornito di un vettore s di stime di errori.
Eseguiremo i calcoli passo passo, anzichè invocare il comando "Fit" di Mathematica. I coefficienti della retta e della parabola saranno calcolati come soluzioni di due equazioni matriciali A1.X1 = B1 e A2.X2 = B2.
Le matrici A1, A2, B1, B2 sono date dalle seguenti formule:

A1 = [Graphics:../Images/index_gr_51.gif]

B1 =[Graphics:../Images/index_gr_52.gif]

A2 = [Graphics:../Images/index_gr_53.gif]

B2 =[Graphics:../Images/index_gr_54.gif]

Come esempio scegliamo:
xdata1 = {31.2, 41.2, 51.2, 61.2, 71.2, 81.2, 91.2, 101.2, 111.2}
ydata1 = {60.24, 58.62, 57.61, 61.57, 30.57, 57.24, 57.58, 58.28, 59.27}
s = {0.01, 0.02, 0.02, 0.01, 0.03, 0.01, 0.02, 0.01,0.02}.

Regressione Lineare

In questa sezione è opportuno disporre del pacchetto LinearAlgebra`MatrixManipulation`.

[Graphics:../Images/index_gr_55.gif]

Inseriamo ora i vettori xdata1, ydata1 dei dati empirici, e il vettore s delle deviazioni standard o barre di errori. Calcoliamo il numero numpt di elementi: deve essere lo stesso per tutti e tre i vettori.

[Graphics:../Images/index_gr_56.gif]
[Graphics:../Images/index_gr_57.gif]
[Graphics:../Images/index_gr_58.gif]
[Graphics:../Images/index_gr_59.gif]
[Graphics:../Images/index_gr_60.gif]
[Graphics:../Images/index_gr_61.gif]
[Graphics:../Images/index_gr_62.gif]
[Graphics:../Images/index_gr_63.gif]
[Graphics:../Images/index_gr_64.gif]
[Graphics:../Images/index_gr_65.gif]

Carichiamo la matrice A1 dei coefficienti.

[Graphics:../Images/index_gr_66.gif]
[Graphics:../Images/index_gr_67.gif]

Calcoliamo la matrice inversa di A1.

[Graphics:../Images/index_gr_68.gif]
[Graphics:../Images/index_gr_69.gif]

Carichiamo la matrice B1 dei termini noti.

[Graphics:../Images/index_gr_70.gif]
[Graphics:../Images/index_gr_71.gif]

Calcoliamo il vettore X1 soluzione di A1.X1 = B1. X1 è il vettore dei coefficienti della retta "best fit".

[Graphics:../Images/index_gr_72.gif]
[Graphics:../Images/index_gr_73.gif]

Per disegnarei valori sperimentali con barra di errore dobbiamo prima caricare il pacchetto Graphics`MultipleListPlot`.

[Graphics:../Images/index_gr_74.gif]
[Graphics:../Images/index_gr_75.gif]
[Graphics:../Images/index_gr_76.gif]
[Graphics:../Images/index_gr_77.gif]
[Graphics:../Images/index_gr_78.gif]
[Graphics:../Images/index_gr_79.gif]
[Graphics:../Images/index_gr_80.gif]
[Graphics:../Images/index_gr_81.gif]

[Graphics:../Images/index_gr_82.gif]

[Graphics:../Images/index_gr_83.gif]

Calcoliamo i coefficienti a, b della retta best fit e disegniamone il grafico ff1.

[Graphics:../Images/index_gr_84.gif]
[Graphics:../Images/index_gr_85.gif]
[Graphics:../Images/index_gr_86.gif]
[Graphics:../Images/index_gr_87.gif]
[Graphics:../Images/index_gr_88.gif]
[Graphics:../Images/index_gr_89.gif]

[Graphics:../Images/index_gr_90.gif]

[Graphics:../Images/index_gr_91.gif]

Confrontiamo i valori sperimentali e la curva best fit ottenuta (sovrapponiamo i grafici con il comando Show[.]).

[Graphics:../Images/index_gr_92.gif]

[Graphics:../Images/index_gr_93.gif]

[Graphics:../Images/index_gr_94.gif]

Calcoliamo il valore di [Graphics:../Images/index_gr_95.gif].

[Graphics:../Images/index_gr_96.gif]
[Graphics:../Images/index_gr_97.gif]
[Graphics:../Images/index_gr_98.gif]

Calcoliamo il valore della devianza standard empirica di y (dividiamo per numpt-3 anzichè per numpt).

[Graphics:../Images/index_gr_99.gif]
[Graphics:../Images/index_gr_100.gif]
[Graphics:../Images/index_gr_101.gif]
[Graphics:../Images/index_gr_102.gif]

Regressione Parabolica

In questa sezione è opportuno disporre del pacchetto LinearAlgebra`MatrixManipulation`.

[Graphics:../Images/index_gr_103.gif]

Inseriamo ora i vettori xdata1, ydata1 dei dati empirici, e il vettore s delle deviazioni standard o barre di errori. Calcoliamo il numero numpt di elementi: deve essere lo stesso per tutti e tre i vettori.

[Graphics:../Images/index_gr_104.gif]
[Graphics:../Images/index_gr_105.gif]
[Graphics:../Images/index_gr_106.gif]
[Graphics:../Images/index_gr_107.gif]
[Graphics:../Images/index_gr_108.gif]
[Graphics:../Images/index_gr_109.gif]
[Graphics:../Images/index_gr_110.gif]
[Graphics:../Images/index_gr_111.gif]
[Graphics:../Images/index_gr_112.gif]

Carichiamo la matrice A2 dei coefficienti.

[Graphics:../Images/index_gr_113.gif]
[Graphics:../Images/index_gr_114.gif]

Calcoliamo la matrice inversa di A2.

[Graphics:../Images/index_gr_115.gif]
[Graphics:../Images/index_gr_116.gif]

Carichiamo la matrice B2 dei termini noti.

[Graphics:../Images/index_gr_117.gif]
[Graphics:../Images/index_gr_118.gif]

Calcoliamo il vettore X2 soluzione di A2.X2 = B2. X2 è il vettore dei coefficienti della parabola "best fit".

[Graphics:../Images/index_gr_119.gif]
[Graphics:../Images/index_gr_120.gif]

Per disegnarei valori sperimentali con barra di errore dobbiamo prima caricare il pacchetto Graphics`MultipleListPlot`.

[Graphics:../Images/index_gr_121.gif]
[Graphics:../Images/index_gr_122.gif]
[Graphics:../Images/index_gr_123.gif]
[Graphics:../Images/index_gr_124.gif]
[Graphics:../Images/index_gr_125.gif]
[Graphics:../Images/index_gr_126.gif]
[Graphics:../Images/index_gr_127.gif]
[Graphics:../Images/index_gr_128.gif]

[Graphics:../Images/index_gr_129.gif]

[Graphics:../Images/index_gr_130.gif]

Calcoliamo i coefficienti a, b, c della parabola best fit e disegniamone il grafico ff2.

[Graphics:../Images/index_gr_131.gif]
[Graphics:../Images/index_gr_132.gif]
[Graphics:../Images/index_gr_133.gif]
[Graphics:../Images/index_gr_134.gif]
[Graphics:../Images/index_gr_135.gif]
[Graphics:../Images/index_gr_136.gif]
[Graphics:../Images/index_gr_137.gif]

[Graphics:../Images/index_gr_138.gif]

[Graphics:../Images/index_gr_139.gif]

Confrontiamo i valori sperimentali e la curva best fit ottenuta (sovrapponiamo i grafici con il comando Show[.]).

[Graphics:../Images/index_gr_140.gif]

[Graphics:../Images/index_gr_141.gif]

[Graphics:../Images/index_gr_142.gif]

Calcoliamo il valore di [Graphics:../Images/index_gr_143.gif].

[Graphics:../Images/index_gr_144.gif]
[Graphics:../Images/index_gr_145.gif]

Calcoliamo il valore della devianza standard empirica di y (dividiamo per numpt-3 anzichè per numpt).

[Graphics:../Images/index_gr_146.gif]
[Graphics:../Images/index_gr_147.gif]
[Graphics:../Images/index_gr_148.gif]
[Graphics:../Images/index_gr_149.gif]


Converted by Mathematica      May 26, 2003