Matlab - Eliminar zona de outliers de puntos

   
Vista:

Eliminar zona de outliers de puntos

Publicado por marta (19 intervenciones) el 18/09/2015 11:37:47
Buenas, hay dos zonas de outliers de puntos bastante agrupados, y estoy intentando eliminarlos. Estos puntos cumplen :
1
abs(pppn2-median)>3*stn

Entonces quiero eliminar los puntos que cumplen eso y quedarme con el resto, mi idea iba por aquí pero no se como seguir o si voy bien;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
clear; clc
 
pppn=load('ppp_pol3_ptbb_no_filtrado.dat');
pppn1=pppn(:,1);
pppn2=pppn(:,2);
 
plot(pppn1-57000,pppn2,'.');
median=smooth(pppn2,250,'moving');
stn=sqrt(sum((pppn2-median).^2)/length(pppn2));
hold on
plot(pppn1-57000,median,'.r')
i=1;
j=1;
while i<ii
    fuera=find(abs(pppn2-median)>3*stn);
    if length(fuera)>0
        pppn2(fuera)=[];
       pppn1(fuera)=[];
        ppp...%nose como seguir
    i=i+c;
    j=j+1;
end

Os adjunto la imagen para que veáis los dos outlier de puntos que hay y el archivo de donde sacos los datos
grafica
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Daniel

Eliminar zona de outliers de puntos

Publicado por Daniel (212 intervenciones) el 18/09/2015 17:37:02
Esto debería funcionar

1
2
3
4
5
median=smooth(pppn2,250,'moving');
stn=sqrt(sum((pppn2-median).^2)/length(pppn2));
x=pppn2(abs(pppn2-median)<3*stn);
t=pppn1(abs(pppn2-median)<3*stn);
plot(pppn1,pppn2,'-k',t,x,'.r')


Contanos como te fue

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Eliminar zona de outliers de puntos

Publicado por marta (19 intervenciones) el 18/09/2015 22:45:00
SIII!! muchísimas gracias Daniel , así es mucho mas sencillo de lo que yo estaba haciendo jaja, lo único que cambie fue donde pusiste en el plato el pppn2 puse median el resto genial!!! Muchísimas gracias
he intentado valorarte la respuesta no se si lo hice bien tengo hoy la cabeza que no doy una

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar