Funciones > Análisis de datos > Suavizado > Ejemplo: suavizado de datos X-Y
Ejemplo: suavizado de datos X-Y
Utilice las funciones ksmooth, medsmooth y supsmooth para suavizar los datos x-y. Utilice la función movavg para suavizar los datos tomando una media en movimiento con una ventana de ancho específica.
1. Defina una matriz con valores x en la primera columna y valores y en la segunda.
Pulse aquí para copiar esta expresión
2. Clasifique la columna 0 en orden ascendente.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
ksmooth
ksmooth devuelve un vector de promedios ponderados locales de vy mediante un kernel gaussiano con ancho de banda b, que controla la ventana de suavizado.
El ancho de banda b se suele definir como varias veces el espaciado entre los puntos de datos del eje X, en función del grado de suavizado que se desee. Cuanto más grande sea el ancho de banda, más suave será la curva resultante.
1. Defina b en un valor comprendido entre el valor mínimo y el valor máximo de X.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Evalúe la función ksmooth.
Pulse aquí para copiar esta expresión
3. Trace la función ksmooth.
Pulse aquí para copiar esta expresión
Es importante seleccionar el ancho de banda con cuidado. Si el ancho de banda es excesivo, eliminará los detalles al calcular el promedio de todo el conjunto de datos. Si el ancho de banda es insuficiente, podría crear detalles artificiales en los datos suavizados. Intente cambiar la b anterior a números comprendidos entre 0.01 y 2 para ver los efectos.
medsmooth
medsmooth permite devolver un vector suavizado al reemplazar cada valor en vy por la mediana de los n puntos centrados en ese valor.
El argumento de ventana de suavizado, n, debe ser un número entero impar.
1. Defina n como un número entero par.
Pulse aquí para copiar esta expresión
2. Evalúe la función medsmooth.
Pulse aquí para copiar esta expresión
3. Trace la función medsmooth.
Pulse aquí para copiar esta expresión
supsmooth
supsmooth no requiere argumentos adicionales.
1. Evalúe la función supsmooth.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Compare los tres conjuntos de datos suavizados anteriormente con los datos originales.
movavg
1. Defina el ancho de ventana.
Pulse aquí para copiar esta expresión
Cuanto más amplia sea la ventana, más suave será la curva resultante. Se ha calculado que el número de puntos de datos es 100.
2. Evalúe la función movavg.
Pulse aquí para copiar esta expresión
3. Trace la función movavg.
Pulse aquí para copiar esta expresión
En función de las variaciones en los datos originales, puede que una de las funciones de suavizado anteriores resulte más adecuada que las demás para generar los datos suavizados deseados.
¿Fue esto útil?