Funzione Interpolante help!

a.Smith1
data SOLO la funzione interpolante di grado x^1 (una retta) calcolata in modo tale che sia verificata la condizione dei minimi quadrati devo riuscire a risalire alle y usate per calcolare la funzione interpolante, per esempio:

dati gli array x e y:

x [1,2,3,4]
y [3,4,1,2]

funzione interpolante [y = -0,6x + 4]

...da questi dati, cioè la f.interpolante e l'array delle x (eventualmente se serve anche grado di accostamento), come faccio a ricavare l'array delle y ?

....sono giorni che ci sto pensando ma non ho ricavato un granche! :(


grazie a chi mi aiuterà
ciao!

Risposte
goblyn
Non puoi! Non c'è corrispondenza biunivoca, non puoi tornare indietro se hai solo le x e la retta!

a.Smith1
se prendiamo però in esame il singolo caso che ho postato, la funzione risulta essere biunivoca (e/o biettiva) dato che a ogni elemento di A (l'array delle x) corrisponde uno e un solo elemento di B (l'array delle y) e viceversa..... in questo caso allora risulterebbe possibile?

goblyn
Intendo dire che non c'è corrispondenza tra l'array delle y e la retta interpolante. Cioè la stesa retta intrpolante può rappresentare anche altri array di y (con le stesse x) oltre a quello che hai scritto tu. Quindi dalla retta non puoi ricavare l'array delle y.

a.Smith1
citazione:

Cioè la stesa retta intrpolante può rappresentare anche altri array di y (con le stesse x) oltre a quello che hai scritto tu.

sicuro? ....se proviamo a calcolare la retta interpolante che passa per 2 punti vediamo che il risultato è una unica retta che passa per quei 2 punti e non c'è ne possono essere altre che rappresentano quei 2 punti (per 2 punti passa una e una sola retta)....

stessa cosa dovrebbe valere anche per + di 2 punti .....cioè per tot punti passa una e una sola retta interpolante: questo vuol dire che a un array di y equivale una e una sola retta interpolante (sempre senza che varino le x).

sarei felice di capire se sbaglio e magari anche il perchè! ;)





Modificato da - a.Smith il 09/02/2004 19:26:14

goblyn
Prendi ad esempio:

x=[0 1 2]

y=[0 1 2]

e

x'=x=[0 1 2]

y'=[1/2 0 5/2]

Per entrambe le distribuzioni la retta interpolante è y=x (prova a calcolarla!). Quindi y=x rappresenta almeno queste 2 distribuzioni (ne rappresenta infinite in realtà ovviamente).

a.Smith1
citazione:

Prendi ad esempio:

x=[0 1 2]

y=[0 1 2]

e

x'=x=[0 1 2]

y'=[1/2 0 5/2]

Per entrambe le distribuzioni la retta interpolante è y=x (prova a calcolarla!). Quindi y=x rappresenta almeno queste 2 distribuzioni (ne rappresenta infinite in realtà ovviamente).





si ma se poni queste y (y'=[1/2 0 5/2]) questa non è + una retta interpolante, o meglio, è una retta interpolante con grado di accostamento pari a 0; ma se il grado di accostamento è diverso da 0 allora una retta interpolante può rappresentare solo una serie di coordinate (x;y) e non infinite.

edit: per esempio, data la funzione interpolante [y = -0,6x + 4], riusciresti a trovarmi un'array di y diverso da [3,4,1,2] dove il calcolo della retta dei minimi quadrati mi dia la stessa equazione?..... sempre con gli stessi valori di x[1,2,3,4]. (con il vincolo che i punti delle y non siano il risultato della equazione con i valori delle x, cioè che in pratica l'array non sia uguale a [3.4; 2.8; 2.2; 1.6])

edit2: dimenticavo cmq di dire che nel mio problema che mi è stato posto c'era anche il vincolo che i punti interpolati dovevano essere solo valori interi e non frazionari!

Modificato da - a.Smith il 10/02/2004 01:49:41

goblyn
citazione:
per esempio, data la funzione interpolante [y = -0,6x + 4], riusciresti a trovarmi un'array di y diverso da [3,4,1,2] dove il calcolo della retta dei minimi quadrati mi dia la stessa equazione?..... sempre con gli stessi valori di x[1,2,3,4]. (con il vincolo che i punti delle y non siano il risultato della equazione con i valori delle x, cioè che in pratica l'array non sia uguale a [3.4; 2.8; 2.2; 1.6])


certamente!
ecco:

x=[1 2 3 4]
y=[0 8 2 0]

prova!

Ce ne sono infiniti di array di y, come dicevo nella risposta precedente!

Il problema che poni è simile al seguente:

immagina che alle elezioni i voti vengano riorganizzati (cioè si fa un'interpolazione...) per regione. A partire dalle % di voto di ogni regione, potresti risalire ai voti di ciascun cittadino (a parte che sono segreti... )? No, mai!





Modificato da - goblyn il 10/02/2004 10:47:40

a.Smith1
citazione:

ecco:

x=[1 2 3 4]
y=[0 8 2 0]

prova!


...ma così non varia il grado di accostamento?

goblyn
Cosa intendi per grado di accostamento? Forse il coefficiente di determinazione R^2?

R^2 = (cov(x,y))^2 / [Var(x)*Var(y)]

In questo caso sì varia il grado di accostamento.

Vediamo se ho capito cosa mi chiedi. Vuoi sapere se, noti x e R^2 (o equivalenti...) si possa risalere a y.

Beh, così su due piedi direi cmq di no. Guarda la formula di R^2. Variando opportunamente Var(y) e la Cov(x,y) posso mantenere inalterato R^2. Quindi avrei 2 diverse distribuzioni con = R^2 e = x.
Prima di mettermi a fare i conti dimmi se ho capito cosa mi chiedi!

a.Smith1
citazione:

Cosa intendi per grado di accostamento?

in pratica intendo dire la media che ottengo tra i valori delle y dei punti interpolati e le y dei valori della funzione interpolante..

goblyn
Sì ok è quasi la stessa cosa. In realtà la media degli scarti (y*-y) (dove y* è il valore interpolato) è sempre 0. Tu intendi immagino la media dei (y*-y)^2 cioè quella che si chiama "varianza residua". Se la normalizzi questa è = a 1-R^2 quindi è sostanzialmente la stessa cosa.
Ho provato a impostare il problema ma non ho finito i conti perché sono lunghi ma è stato sufficiente per vedere che è possibile avere 2 diverse distribuzioni con uguale grado di accostamento e = array di x. Non si può tornare indietro dunque.
Già che ci sono ti scrivo i dettagli. Immaginiamo di avere:

x [1,2,3,4]
y [3,4,1,2]

funzione interpolante [y = -0,6x + 4], R^2 = 0.36

Prendiamo ora un altro array di y:

y [a b c 0]

a, b, c sono da determinare.

Per definizione (dal metodo dei minimi quadrati):

-0.6 = cov(x,y)/var(x)
4 = M(y)+0.6*M(x)
R^2 = [cov(x,y)]^2 / [Var(x)Var(y)] = 0.36

Abbiamo 3 equazioni con 3 incognite. Un po' lungo ma si può fare. Inoltre per comodità ho posto a 0 il quarto valore delle y. Se lo lasciassimo incognito avremmo 3 equazioni e 4 incognite. A parte casi patologici una soluzione la troviamo senz'altro!

In tal modo abbiamo trovato un altro array di y... quindi non si può tornare indietro!

a.Smith1
mi potresti spiegare cosa significano i simboli "M" maiuscolo e i "cov" e "var" ?

grazie per la disponibilità ;)

goblyn
M indica l'operatore media. M(x) è la media aritmetica di x.

Var(x) è la varianza di x: Var(x) = M(x^2) - [M(x)]^2

Cov(x,y) è la covarianza di x e y: Cov(x,y)=M(x*y) - M(x)*M(y)

M(x^2) è la media dei quadrati delle x
M(x*y) è la media dei prodotti delle x con le y (un prodotto per ogni coppia x,y)

goblyn
Ti faccio un esempio numerico:

x=[0 1 2]
y=[1 0 -1]

M(x)=(0+1+2)/3=1
M(y)=(1+0-1)/3=0

M(x^2)=(0^2+1^2+2^2)/3=5/3
M(y^2)=(1^2+0^2+(-1)^2)/3=2/3

Var(x)=5/3-1^2=2/3
Var(y)=2/3-0^2=2/3

M(x*y)=(0*1+1*0+2*(-1))/3=-2/3
Cov(x,y)=-2/3-1*0=-2/3

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.