Regressione Sinusoidale e Visual Basic – Parte 1



Categoria dell'articolo:
Matematica

Lezioni e ripetizioni di matematica, analisi matematica, geometrica analitica ed euclidea, equazioni, disequazioni, logaritmi, goniometria e trigonometria, limiti, derivate, studio di funzione, integrali: teoria, esempi, problemi ed esercizi svolti. Tracce di maturità scientifica svolte. Per scuole medie inferiori e superiori.





Articolo pubblicato da:

Views: 491 dall'1 Luglio 2018 o dalla pubblicazione, se successiva.

Navigator

Precedente - Menu - Successivo



Se trovi interessante l'articolo che ti stai accingendo a leggere, metti un mi piace e condividi! Be Social!



Regressione Sinusoidale: un breve riepilogo e implementazione in Visual Basic. NET – (PARTE 1: premesse matematiche).


La regressione dei dati consiste nel trovare una funzione che approssimi tali dati col minore errore possibile. Un esempio classico è quello detto dei “Minimi Quadrati“, che rappresenta una regressione lineare, in quanto vengono stimati i parametri di una retta detta interpolante. Se, ad esempio, dei punti su un piano cartesiano si dispongono lungo una direzione predominante rettilinea, l’interpolazione lineare potrebbe essere quella più calzante. Tuttavia potremmo trovare che i dati si dispongano, a occhio, in maniera somigliante a una sinusoide o presentare degli “assembramenti” periodici: in tal caso potrebbe essere più utile usare una regressione trigonometrica o sinusoidale.

Regressione sinuosidale

Regressione sinuosidale

Premesse matematiche

Il problema in pratica è questo: dato un insieme di n punti S={ (x1,y1); (x2,y2);…(xn,yn) } si vuole trovare una funzione del tipo y = A cos (wx+ f) + B tale che passi tra i punti suddetti, alla distanza minima possibile da essi. Per fare ciò utilizziamo il procedimento usato per i “Minimi Quadrati”. Partiamo dalla generica sinusoide:

y = A cos (wx+ f) + B

dove:

A = ampiezza d’onda (in pratica quanto è “alta”);
B = permette di traslare la sinusoide rispetto all’asse x;
w= è la pulsazione (o velocità angolare);
f = è la fase (posizione iniziale delle creste);
x = ascissa.

Applico e formule di addizione-sottrazione:

cos(wx+ f) = sen(wx)cos(f) + cos(wx)sen(f)

ottengo:

y =  A sen(wx)cos(f) + A cos(wx)sen(f) + B

per semplicità pongo:

A cos(f) = a
A sen(f) = b
B = c

quindi ottengo:

y=a sen(wx) + b cos(wx) + c

La funzione del quadrato degli scarti è:

F= ∑(yk – yk)2

dove:
yk è l’ordinata della funzione interpolante;
yk è l’ordinata dei punti dati;
(la sommatoria è su k =1,2…n)

nel nostro caso:

F(a,b,c,w) = ∑[( a sen(wx) + b cos(wx) + c) – yk]2
(la sommatoria è su k =1,2…n)

Notare che ad esso è strettamente collegato lo Scarto Quadratico Medio:

σ = (1/√n) √{∑[( a sen(wx) + b cos(wx) + c) – yk]2 }
(la sommatoria è su k =1,2…n)

Bisogna ora minimizzare questa funzione F(a,b,c,w) di quattro variabili e lo si fa derivando parzialmente nelle rispettive variabili. Si impone quindi che le derivate parziali siano nulle:

∂F/∂a = ∂F/∂b = ∂F/∂c = ∂F/∂w = 0

Svolgendo i vari passaggi (che potete trovare nel pdf appunti_regressione-sinus_p3-19 su cui mi sono parzialmente basato per la stesura di questo articolo) alla fine si ottiene un sistema NON lineare di quattro equazioni, che può essere risolto iterativamente. Le prime tre equazioni permettono di ricavare a0, b0, c0 se si fissa un valore per w = w0. Si passa successivamente a calcolare:

∂F/∂w = 0

Si procede assegnando vari valori di w fino a trovare il w* di convergenza. Trovato questo valore si procede iterativamente fino a trovare due valori w*1 e w*2 per cui

F'(a1, b1, c1,w*1)*F'(a2,b2,c2,w*2) < 0

ovvero riducendo accettabilmente l’intervallo [w*1; w*2]. Notare che alla fine si è ritenuto di calcolare che la differenza di scarto quadratico medio tra due successive iterazioni fosse minore di una certa quantità piccola a discrezione: |σ( w*1) – σ( w*2)|< ε

Sistema finale Regressione trigonometrica

Sistema finale Regressione trigonometrica

Nella seconda parte implementeremo la risoluzione in VB.NET di questo sistema. Nel frattempo se vuoi approfondire la questione, eccoti alcuni link utili:



Random Post

PREVISIONE LOTTO n° 19 di 150 per GIOVEDI 19 GENNAIO 2017.

Previsione Lotto 19 Gennaio 2017

PREVISIONE  LOTTO n° 19 di 150 per GIOVEDI 19 GENNAIO 2017. Esito della previsione precedente: BARI(1) :Niente; BARI(2) :Niente; PALERMO :Niente NAPOLI(1):Niente; NAPOLI(2):Niente. In questa pagina ...

Vai al post...

PREVISIONE LOTTO n° 32 di GIOVEDÌ 14 MARZO 2019

Previsione Lotto 14 Marzo 2019

PREVISIONE LOTTO n° 32 di GIOVEDÌ 14 MARZO 2019 Esito della previsione precedente: 2)VENEZIA: Niente; (AMBO TO); 3)PALERMO: Estratto; 4)PALERMO: Estratto; (AMBO GE); 6)NAPOLI: Estratto. (1) In pare...

Vai al post...

Radio Rai App – Musica dello spot – 2014

App Radio Rai - Musica dello spot

App Radio Rai – Musica dello spot – Novembre 2014 Radio Rai è una applicazione disponibile su Smartphone e Tablet in una versione aggiornata e ricca di nuove funzionalità. Vuoi sapere i...

Vai al post...

PUBBLICITÀ



Disclaimer:


Questo blog NON è un prodotto editoriale ai sensi della legge n° 62 del 7 marzo 2001. Le immagini tratte da internet che possano violare i diritti di autore, previa comunicazione, attraverso la sezione -contatti-, verranno prontamente rimosse o sostituite.

Copyright:


I contenuti presenti su ROMOLETTO BLOG dei quali è autore il proprietario del blog non possono essere copiati, riprodotti, redistribuiti perché appartenenti all autore stesso. Si vieta la copia e la riproduzione dei contenuti in qualsiasi modo o forma. Si vieta altresì la pubblicazione e la redistribuzione dei contenuti non autorizzata espressamente dell autore.


Copyright © 2011 / 2020 - ROMOLETTO BLOG - All Right Reserved

IngAC

Informazioni su Romoletto Blog

Ingegnere Civile, Blogger, Programmatore VB.NET, Lezioni private per scuole medie inferiori e superiori. Per contattarmi scorri la home fino in fondo e vai al form -Contatti-

Navigazione per Articoli della stessa Categoria