
%  Programa para generar 'regresiones espureas'
%  

n = 100; %tamaño muestral
rho = [1; .1; .5; .9; 3; 10; 100];

m = size(rho,1);
x = randn(n,m);
x = 3.*x;  %  Variables N(0,9)

a = corrcoef(x);
disp('Matriz de correlaciones de los ruidos blancos')
disp(a);

xx = [ones(n,1) x(:,m)];
y = x(:,1);

hold on
plot(y,'r-')
plot(x(:,m),'g--')
hold off
pause;

plot(y,x(:,m),'r+')
pause;
hold off

[bhat,uhat,sigma2,vcov,estadt,pvalort,R2]=mco_breve(y,xx);
Rdos = R2;
sprintf('%40s %8.4f',...
   'R-cuadrado de la regresion entre ruidos blancos=', Rdos)

%  Generacion de tendencias
%  Agregamos una tendencia temporal, de distinta intensidad a cada 
%  variables, y las correlacines van a aumentar drásticamente

trend = [1:1:size(x,1)]';
x = x + trend*rho';
a = corrcoef(x);
disp('matriz de correlaciones, despues de añadir tendencias');
disp(a);

% Tomamos como variable x la que tiene una tendencia más similar 
% a la que hemos añadido a la variable y:

xx = [ones(n,1) x(:,4)];
y = x(:,1);
plot(y,'r-')
plot(x(:,4),'g--')
hold off
pause;

%  Nube de puntos de una serie tendencial, frente a la otra

plot(y,x(:,4),'c+')
pause;

[bhat,uhat,sigma2,vcov,estadt,pvalort,R2] = mco_breve(y,xx);
sprintf('%40s %8.4f',...
   ('R-cuadrado de la regresion entre tendencias='), R2)

R_2 = [];
	for i=2:m
		xx = [ones(n,1) x(:,i)];
		[bhat,uhat,sigma2,vcov,estadt,pvalort,R2] = mco_breve(y,xx);
      R_2 = [R_2 R2];
   end
R_2'
     
      

