caso ergódico proceso estocástico: media, varianza

12
Proceso estocástico: media, varianza, correlación temporal en un caso ergódico © 2019 Antonio Sala Piqueras, Universitat Politècnica de València. Todos los derechos reservados. Este código ejecutó sin errores en Matlab R2018b. Table of Contents Generación de datos............................................................................................................................................... 1 Análisis de los datos............................................................................................................................................... 2 Media, varianza y desviación típica.................................................................................................................... 2 Covarianza entre distintos instantes....................................................................................................................4 Ergodicidad.............................................................................................................................................................. 6 Funciones auxiliares.............................................................................................................................................. 12 Generación de datos MuestrasExperimento=500; datos=formulasecreta(MuestrasExperimento); plot(datos), grid on, title('Una realización'), xlabel('tiempo'), ylabel('Volt') NExperimentos=2000; MuchosDatos=zeros(NExperimentos,MuestrasExperimento); for i=1:NExperimentos 1

Upload: others

Post on 05-Jul-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: caso ergódico Proceso estocástico: media, varianza

Proceso estocástico: media, varianza, correlación temporal en uncaso ergódico© 2019 Antonio Sala Piqueras, Universitat Politècnica de València. Todos los derechos reservados.

Este código ejecutó sin errores en Matlab R2018b.

Table of Contents

Generación de datos............................................................................................................................................... 1Análisis de los datos............................................................................................................................................... 2

Media, varianza y desviación típica.................................................................................................................... 2Covarianza entre distintos instantes....................................................................................................................4

Ergodicidad.............................................................................................................................................................. 6Funciones auxiliares.............................................................................................................................................. 12

Generación de datosMuestrasExperimento=500;datos=formulasecreta(MuestrasExperimento);plot(datos), grid on, title('Una realización'), xlabel('tiempo'), ylabel('Volt')

NExperimentos=2000;MuchosDatos=zeros(NExperimentos,MuestrasExperimento);for i=1:NExperimentos

1

Page 2: caso ergódico Proceso estocástico: media, varianza

MuchosDatos(i,:)=formulasecreta(MuestrasExperimento);endplot(MuchosDatos'), grid on, title('2000 realizaciones'), xlabel('tiempo'), ylabel('Volt')

Análisis de los datos

Media, varianza y desviación típica

Media=mean(MuchosDatos);plot(Media), grid on, title('MEDIA'), xlabel('tiempo'), ylabel('Volt')

2

Page 3: caso ergódico Proceso estocástico: media, varianza

Varianza=var(MuchosDatos);DsvT=sqrt(Varianza);plot(DsvT), grid on, title('Desv. Típica'), xlabel('tiempo'), ylabel('Volt')

3

Page 4: caso ergódico Proceso estocástico: media, varianza

Covarianza entre distintos instantes

MatrizVCCompleta=cov(MuchosDatos);plot(MatrizVCCompleta(350,:)), grid on, xlabel('tiempo'), title('Covarianza entre x(350) y resto.'), ylabel('Volt^2')

4

Page 5: caso ergódico Proceso estocástico: media, varianza

TT=[5 10 30 60 100 150 200 275 350 425];plot(MatrizVCCompleta(TT,:)'), grid on, xlabel('tiempo'), ylabel('Volt^2')

5

Page 6: caso ergódico Proceso estocástico: media, varianza

ErgodicidadEste proceso lineal, con ruido de Distrib. Normal es ergódico, y podremos calcular varianzas, covarianzas, etc.

con una serie muy larga del mismo...

Importante: el código de arriba es formalmente la forma más correcta de hacerlo (vale para no estacionario,

no ergódico)... pero repetir un experimento suele salir más caro que prolongarlo... suponiendo ergodicidad y

estacionariedad, un experimento largo suele ser "tecnológicamente" más aconsejable... pero si el tiempo

de correlación es muy grande el experimento ha de ser "demasiado" largo, con lo cual tampoco está claro...

MuestrasExperimentoE=20300;datos=formulasecreta(MuestrasExperimentoE);plot(datos), grid on, title('Una realización muuuuy larga'), xlabel('tiempo'), ylabel('Volt'), axis tight

datosestacionario=datos(301:end);plot(datosestacionario), grid on, title('Fragmento estacionario'), xlabel('tiempo'), ylabel('Volt')

6

Page 7: caso ergódico Proceso estocástico: media, varianza

Veamos un "trocito" ampliado:

plot(2000:2150,datosestacionario(2000:2150)), grid on,axis([2000 2150 -4 4])

7

Page 8: caso ergódico Proceso estocástico: media, varianza

LL=length(datosestacionario)

LL = 20000

mediaest=mean(datosestacionario)

mediaest = -0.0126

varianzaestacionario=var(datosestacionario)

varianzaestacionario = 1.1486

datosestacionario=datosestacionario-mediaest;

Calculemos la autocovarianza a partir de un único experimento

horizontemax=500;ticautocovars=zeros(1,horizontemax);for distanciatemporal=0:horizontemax temp=0; for tiempo=1:(LL-distanciatemporal) temp=temp+datosestacionario(tiempo)*datosestacionario(tiempo+distanciatemporal); end autocovars(distanciatemporal+1)=temp/(LL-distanciatemporal-1);%divido entre Nmuestras-1, arrays empiezan en 1.endtoc

Elapsed time is 15.546898 seconds.

8

Page 9: caso ergódico Proceso estocástico: media, varianza

plot(0:horizontemax,autocovars), hold on, plot(-horizontemax:0,fliplr(autocovars)), grid on, hold off

tic[CC,lags]=xcov(datosestacionario,horizontemax,'unbiased');toc

Elapsed time is 0.006458 seconds.

plot(lags,CC), grid on

9

Page 10: caso ergódico Proceso estocástico: media, varianza

CCcorr=CC/CC(horizontemax+1); % el del centroplot(lags,CCcorr), grid on %es lo mismo escalado, ahora correlación

10

Page 11: caso ergódico Proceso estocástico: media, varianza

¿Es el número de muestras suficiente? ¿Intervalos de confianza estadístico?

En general, cuanto más dure la correlación entre diferentes instantes, más largo ha de ser el experimento:

las muestras sólo son "independientes" cuando ha pasado suficiente tiempo... Es este ejemplo, approx 150

muestras... si la correlación es alta, las muestras no aportan nueva información, pero si la correlación es baja,

las nuevas muestras son "casi" independientes...

Grosso modo, el número de muestras "efectivo" es el número total dividido entre la integral de la correlación.

Eso es "exacto" para determinada fórmula de la media cuando se promedian más muestras que el intervalor

con correlación significativamente diferente de cero.

plot(cumsum(CCcorr)), grid on

11

Page 12: caso ergódico Proceso estocástico: media, varianza

tau=max(cumsum(CCcorr))

tau = 131.6892

Nefectivo=MuestrasExperimentoE/tau

Nefectivo = 154.1508

Funciones auxiliaresfunction D=formulasecreta(MuestrasExp) x=10+0.1*randn(); x2=10; D=zeros(1,MuestrasExp); for i=1:MuestrasExp D(i)=x; %x=0.978*x+0.022*randn()*11;%1st order... x=0.9*x+0.1*x2; x2=0.978*x2+0.022*randn()*11;%2nd order... endend

12